2013-08-06 8 views
5

Функция R qchisq преобразует p-значение и количество степеней свободы в соответствующее значение хи-квадрата. Есть ли библиотека Python с эквивалентом?Есть ли эквивалент python функции qchisq R?

Я осмотрел SciPy, не найдя ничего.

+0

@mnel: Этот вопрос относится к вычислению p-значения из квадрата chi уе. Я пытаюсь пойти в другом направлении. – jveldridge

+0

действительно. Закрытое голосование втянуто (следует внимательно прочитать!) – mnel

+0

http://stackoverflow.com/questions/11725115/p-value-from-chi-sq-test-statistic-in-python –

ответ

7

Это scipy.stats.chi2.ppf - Процентная точечная функция (обратная к cdf). Э.Г., в R:

> qchisq(0.05,5) 
[1] 1.145476 

в Python:

In [8]: scipy.stats.chi2.ppf(0.05, 5) 
Out[8]: 1.1454762260617695 
0

Как @VadimKhotilovich указывает в своем ответе, вы можете использовать scipy.stats.chi2.ppf. Вы также можете использовать функцию chdtri от scipy.special, но используйте аргумент 1-p.

R:

> qchisq(0.01, 7) 
[1] 1.239042 
> qchisq(0.05, 7) 
[1] 2.16735 

SciPy:

In [16]: from scipy.special import chdtri 

In [17]: chdtri(7, 1 - 0.01) 
Out[17]: 1.2390423055679316 

In [18]: chdtri(7, 1 - 0.05) 
Out[18]: 2.1673499092980579 

Единственное преимущество использования chdtri над scipy.stats.chi2.ppf, что это гораздо быстрее:

In [30]: from scipy.stats import chi2 

In [31]: %timeit chi2.ppf(0.05, 7) 
10000 loops, best of 3: 135 us per loop 

In [32]: %timeit chdtri(7, 1 - 0.05) 
100000 loops, best of 3: 3.67 us per loop