首页 > 解决方案 > R zipfR 和 Wolfram Mathematica 为逆正则化不完全伽马函数返回不同的值

问题描述

zipfR 库函数 Rgamma.inv 和 wolfram mathematica 函数 InverseGammaRegularized 为某些输入返回不同的值。两者之间的数学区别是什么?

我的偏好是使用 R,我的目标是在 R 中使用一个函数来输出经验 CDF 的泊松参数。wolfram alpha 函数可以很好地做到这一点,但 Rgamma.inv 没有。下面是 R 中的代码示例,然后是 wolfram mathematica 中的代码示例。

Rgamma.inv(11, ppois(10, 10.66852))
#returns 10.66852 which is correct

Rgamma.inv(101, ppois(100, 60* 20/9))
#returns 73.83016, not 133.33
InverseGammaRegularized[11,0.5]
#returns 10.66852 which is correct

InverseGammaRegularized[101,0.001543465] 
#returns 133.33 which is correct

标签: rwolfram-mathematicapoisson

解决方案


两者都是正确的。只是您在使用 R 时计算较低的正则化伽玛,但在使用 wolfram mathematica 时正在计算上层正则化伽玛。您正在比较两个不同的结果。因此不会相同。要获得相同的结果,请确保您也使用 R 计算上正则化 gamma 并比较:

使用 R:

计算上正则化 gamma:

Rgamma.inv(11, ppois(10, 10.66852),lower = FALSE)
[1] 10.66852
Rgamma.inv(101, ppois(100, 60* 20/9),lower = FALSE)
[1] 133.3333

这些是上面给出的结果


推荐阅读