2016-06-13 9 views
1

Я хотел бы перевести следующий Matlab код в Python:эквивалент gaminv Matlab в питона

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

код возвращает т = 212.8928. Я пробовал:

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

но код python не возвращает то же значение t. Я делаю что-то неправильно?

ответ

5

Вы хотите («функцию точки процента», которая является несколько менее общим названием для обратной ВПР или функции квантили) ppf метод scipy.stats.gamma:

In [27]: from scipy.stats import gamma 

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

Смотри также How to calculate the inverse of the normal cumulative distribution function in python?; распределение там различно, но это в основном тот же вопрос.

invgamma - это другое распределение.

Смежные вопросы