python中的Gamma分布
我们在R中有python中的Gamma分布,python,r,excel,gamma-distribution,Python,R,Excel,Gamma Distribution,我们在R中有qgamma,在excel中有gamm.inv,我无法使用python中的invgamma函数获得相同的结果。例如在excel中 GAMMA.INV(0.99,35,0.08)=4.01,我可以使用qgamma从R得到相同的值,概率=0.99,α(比例)=35.0,形状=0.08 但是当我使用invgamma.pdf(0.99,35,0.8)时,它返回1.61787636512e-15 正确的做法是什么?我用pdf,ppf,cdf尝试了gamma和invgamma两种方法,但没有任何
qgamma
,在excel中有gamm.inv
,我无法使用python中的invgamma
函数获得相同的结果。例如在excel中
GAMMA.INV(0.99,35,0.08)=4.01
,我可以使用qgamma
从R得到相同的值,概率=0.99,α(比例)=35.0,形状=0.08
但是当我使用invgamma.pdf(0.99,35,0.8)
时,它返回1.61787636512e-15
正确的做法是什么?我用
pdf
,ppf
,cdf
尝试了gamma
和invgamma
两种方法,但没有任何方法与我从R中的qgamma
或excel中的gamma.INV
获得的值匹配,给出一个值
invgamma
表示一个,这是一个完全不同的东西。解释差异超出了本网站的范围,因为这是一个统计问题,而不是编程问题,但在继续之前,您应该真正理解它
伽马分布的SciPy分布对象是,逆累积分布函数的方法是“百分位点函数”(逆CDF的另一个名称)的缩写。因此,您应该使用
scipy.stats.gamma.ppf
。确保传递正确的参数。您能在excel中获取值吗?我签入了R,它与excel值匹配。将提供EveningHanks在R中使用的确切参数,以澄清invgamma,但当我使用scipy.stats.gamma.ppf(0.99,35,0.08)=50.29时,它与excel gammainv(0.99,35,0.08)=4不匹配。01@SKD:gamma.ppf
的参数与gammainv
的参数不同。您通过的是loc
而不是scale
。你也似乎把比例和形状混为一谈;alpha是形状参数,而不是比例。是的,我肯定我做错了什么,你能告诉我应该用什么参数来获得与excelOk相同的值吗?正确的参数是gamma.ppf(0.99,35,0,0.08)。我必须在形状和比例之间传递loc为0。非常感谢用户2357112