首页 > 解决方案 > 伽马密度函数

问题描述

我正在尝试不同的方法来绘制我的数据。我有一个向量ld <- seq(0.001,0.4,0.005),伽马分布的参数是 25(形状)和 240(速率)。我的第一种绘图方法是:

pr <- dgamma(ld, 25,240)
plot(ld,pr,type="b")

我也试过:

pr <- ld^{25-1}*exp(-240*ld)
plot(ld,pr,type="b")

这两个图应该是相同的,但是我发现 y 轴的比例不同。我想知道如何使用第二种方法实现相同的情节?谢谢!

标签: rgamma-distribution

解决方案


这些图不一样,因为您的伽马分布密度公式不正确。

它应该是:

pr <- 240^25 * ld^(25-1)*exp(-240 * ld)/factorial(25 - 1)
plot(ld,pr,type="b")

在此处输入图像描述

或者,更一般地说:

my_dgamma <- function(x, alpha, beta)
{
  beta^alpha * x^(alpha - 1) * exp(-beta * x) / factorial(alpha - 1)
}

(当然分母也可以写成gamma(alpha),不过这里有点作弊的感觉。)


推荐阅读