scipy 伽马CDF和反CDF不产生互补值

0ejtzxu1  于 2022-11-10  发布在  其他
关注(0)|答案(1)|浏览(159)

为什么反gamma函数不能产生原始x值?
编码

x = 0.2
alpha = 2
u = sp.stats.gamma.cdf(x, alpha)
x1 = sp.stats.invgamma.cdf(x, alpha)
print "x: ", x
print "G: ", u
print "GInv:", x1

输出量

x:  0.2
G:  0.0175230963064
GInv: 0.0404276819945

当我在Excel中执行类似的操作时,我得到了相同的值。

=GAMMADIST(Q15,2,1,TRUE)
=GAMMA.INV(Q16,2,1)

输出量

0.2
0.017523096
0.2

我知道我只是忽略了一些东西,但我似乎不明白为什么反过来对我不起作用。

at0kjp5o

at0kjp5o1#

scipy.stats中,gammagamma distribution,而invgammainverse gamma distribution,这是两种不同的概率分布--关于反伽玛分布与伽玛分布的关系,请参阅维基百科文章。
如果需要gamma.cdf的反函数,请使用gamma.ppf。(缩写词ppf代表 * 百分点函数 *,是quantile function的另一个名称。)
例如,

In [7]: p = gamma.cdf([1, 2, 3], 0.5)

In [8]: gamma.ppf(p, 0.5)
Out[8]: array([ 1.,  2.,  3.])

相关问题