9

Rqchisq函数将 p 值和自由度数转换为相应的卡方值。有没有等效的 Python 库?

我在 SciPy 中环顾四周,没有找到任何东西。

4

2 回答 2

20

它是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
于 2013-08-06T01:59:26.440 回答
3

正如@VadimKhotilovich 在他的回答中指出的那样,您可以使用scipy.stats.chi2.ppf. 您也可以使用函数chdtrifrom scipy.special,但使用 1-p 作为参数。

回复:

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

密码:

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

使用chdtriover的唯一优点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
于 2013-08-06T02:05:31.610 回答