use*_*251 1 python matlab gamma-distribution scipy
我想在Python中翻译以下Matlab代码:
tau=40 %scale parameter
a=3 %shape parameter
t = gaminv(0.90,a,tau);
Run Code Online (Sandbox Code Playgroud)
代码返回t = 212.8928.我试过了:
import scipy.stats.distributions as dist
tau=40
a=3
t = dist.invgamma.cdf(90, a, scale = tau)
Run Code Online (Sandbox Code Playgroud)
但python代码不返回相同的t值.难道我做错了什么?
你想要ppf("百分点函数",这是一个不太常见的CDF或分位数函数的反转名称)方法scipy.stats.gamma:
In [27]: from scipy.stats import gamma
In [28]: gamma.ppf(0.9, 3, scale=40)
Out[28]: 212.8928135133684
Run Code Online (Sandbox Code Playgroud)
另请参见如何计算python中正常累积分布函数的倒数?; 那里的分布不同,但基本上是同一个问题.
invgamma 是一个不同的分布.