Jak @VadimKhotilovich wskazuje w swej odpowiedzi, można użyć scipy.stats.chi2.ppf
. Możesz także użyć funkcji chdtri
z scipy.special
, ale jako argumentu użyj 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
Jedyną zaletą korzystania chdtri
nad scipy.stats.chi2.ppf
jest to, że znacznie szybciej:
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
@mnel: Pytanie odnosi się do obliczania wartości p z chi kwadratu val ue. Próbuję iść w innym kierunku. – jveldridge
. Zamknij głosowanie wycofane (przeczytaj uważnie!) – mnel
http://stackoverflow.com/questions/11725115/p-value-from-chi-sq-test-statistic-in-python –