invgamma包的密度函数是错误的吗?

时间:2017-09-14 22:50:24

标签: gamma-distribution

似乎invgamma::dinvgamma提供的值与Wikipedia's和其他包不同。

> shape = 1
> scale = 2
> x = 2
> invgamma::dinvgamma(x, shape = shape, scale = scale)
[1] 0.0973501
> scale ** shape / gamma(shape) * x ** (-shape - 1) * exp(-scale / x) # Wikipedia
[1] 0.1839397
> MCMCpack::dinvgamma(x, shape = shape, scale = scale)
[1] 0.1839397

确实,scale中的invgamma:dinvgamma参数应该被称为rate

> invgamma::dinvgamma(2, shape = shape, rate = scale)
[1] 0.1839397

1 个答案:

答案 0 :(得分:2)

  1. 密度函数的帮助说它实现了什么?

    f(x) = rate^shape/Gamma(shape) x^(-1-shape) e^(-rate/x)
    
  2. 它实现了吗?

    好吧,如果我按照你在那里展示的那样,它似乎就像它所说的一样。

  3. 这应该被称为费率参数吗?

    否 - 因为参数(让我们现在称之为$ \ theta $)出现在$ t(x / \ theta)$格式中,所以显然是一个缩放参数通常意义上的

  4. 总之,严格来说,它似乎并非计算错误,因为它似乎实现了它所实现的功能。

    它可以说是滥用了通常的术语,因为它交换我称之为" scale"和"率"。

    我说这至少令人不安 - 并且可能导致使用错误 - 但如果你密切关注他们所说的实施方式,你就不会做错误的计算。

    [两位作者似乎都拥有统计学博士学位;希望能够更广泛地认识到广义公约与规模参数的关系,或者至少是广泛使用的公约与这些术语的存在相比,它们与它们所做的完全相反(即我希望在帮助中看到一个清晰的**Warning**注释,以便认为$ x / \ theta $形式的术语外观暗示$ \ theta $是一个比例的人不是导致滥用他们的功能)。我绝对没有理由怀疑实施工作的质量。]

    最终感受'率'这里来自泊松过程 - 其中伽马分布是"时间到第k个事件"以及'率参数'表示事件在事件中发生的速率,并以该映射的密度显示在$ \ lambda x $(或其倍数)的形式中。逆Gamma作为该伽马的倒数出现(实际上,与第k个事件的时间倒数,一种速度),但速率参数含义不变;它还是一个以$ \ lambda x $形式输入的参数。 (我不确定他们是怎么来翻转那两个人的。毫无疑问,先例存在。)