相当于Matlab在python中的gaminv

时间:2016-06-13 16:18:56

标签: python matlab scipy gamma-distribution

我想在Python中翻译以下Matlab代码:

 tau=40 %scale parameter
 a=3 %shape parameter
 t = gaminv(0.90,a,tau);

代码返回t = 212.8928。我试过了:

 import scipy.stats.distributions as dist
 tau=40
 a=3
 t = dist.invgamma.cdf(90, a, scale = tau)

但python代码不返回相同的t值。我做错了吗?

1 个答案:

答案 0 :(得分:5)

你想要ppf的{​​{1}}("百分点函数",这是CDF或分位数函数的反转的一个不常见的名称)方法:

In [27]: from scipy.stats import gamma

In [28]: gamma.ppf(0.9, 3, scale=40)
Out[28]: 212.8928135133684

另见scipy.stats.gamma;那里的分布不同,但基本上是同一个问题。

How to calculate the inverse of the normal cumulative distribution function in python?是一个不同的发行版。