概率统计Python计算:卡方分布分位点计算
自由度为nnn的χ2\chi^2χ2分布的密度函数f(x)={12n/2Γ(n/2)xn2−1e−x2x≥00x<0.{f(x)=}\begin{cases}\frac{1}{2^{n/2}\Gamma(n/2)}x^{\frac{n}{2}-1}e^{-\frac{x}{2}}&x\geq0\\0&x<0\end{cases}.f(x)={2n/2Γ(n/2)1x2
n
n
n个相互独立,均服从
N
(
0
,
1
)
N(0,1)
N(0,1)的随机变量
X
1
,
X
2
⋯
,
X
n
X_1, X_2\cdots,X_n
X1,X2⋯,Xn的平方和
X
1
2
+
X
2
2
+
⋯
+
X
n
2
X_1^2+X_2^2+\cdots+X_n^2
X12+X22+⋯+Xn2服从自由度为
n
n
n的
χ
2
\chi^2
χ2分布,其密度函数为
f
(
x
)
=
{
1
2
n
/
2
Γ
(
n
/
2
)
x
n
2
−
1
e
−
x
2
x
≥
0
0
x
<
0
.
{f(x)=} \begin{cases} \frac{1}{2^{n/2}\Gamma(n/2)}x^{\frac{n}{2}-1}e^{-\frac{x}{2}}&x\geq0\\ 0&x<0 \end{cases}.
f(x)={2n/2Γ(n/2)1x2n−1e−2x0x≥0x<0.
下图展示了自由度
n
n
n分别为2,4,6的
f
(
x
)
f(x)
f(x)的图像。
历史上均以残存函数
S
(
x
)
=
1
−
F
(
x
)
S(x)=1-F(x)
S(x)=1−F(x)的反函数
S
−
1
(
α
)
S^{-1}(\alpha)
S−1(α)来表示单侧左分位点
χ
α
2
(
n
)
\chi^2_{\alpha}(n)
χα2(n)的,即对显著水平
α
\alpha
α
P
(
X
≥
χ
α
2
(
n
)
)
=
α
.
P(X\geq\chi^2_{\alpha}(n))=\alpha.
P(X≥χα2(n))=α.
如下图所示:
将单侧右分位点表为
χ
1
−
α
2
(
n
)
\chi^2_{1-\alpha}(n)
χ1−α2(n),即
1
−
P
(
X
<
χ
1
−
α
2
(
n
)
)
=
α
1-P(X<\chi^2_{1-\alpha}(n))=\alpha
1−P(X<χ1−α2(n))=α,如下图所示。而
1
−
P
(
X
>
χ
1
−
α
2
(
n
)
)
=
P
(
X
≤
χ
1
−
α
2
(
n
)
)
=
F
(
χ
1
−
α
2
(
n
)
)
1-P(X>\chi^2_{1-\alpha}(n))=P(X\leq\chi^2_{1-\alpha}(n))=F(\chi^2_{1-\alpha}(n))
1−P(X>χ1−α2(n))=P(X≤χ1−α2(n))=F(χ1−α2(n))。
而双侧左右分位点表为满足
P
(
χ
1
−
α
/
2
2
(
n
)
≤
X
≤
χ
α
/
2
2
(
n
)
)
=
1
−
α
P(\chi^2_{1-\alpha/2}(n)\leq X\leq\chi^2_{\alpha/2}(n))=1-\alpha
P(χ1−α/22(n)≤X≤χα/22(n))=1−α的
χ
1
−
α
/
2
2
(
n
)
\chi^2_{1-\alpha/2}(n)
χ1−α/22(n)和
χ
α
/
2
2
(
n
)
\chi^2_{\alpha/2}(n)
χα/22(n),如下图所示。
Python的scipy.stats包中,连续型分布类 rv_continuous的chi2对象表示 χ 2 \chi^2 χ2分布。 χ 2 \chi^2 χ2分布常用的计算分位点函数的调用接口见下表。
函数名 | 参数 | 意义 |
---|---|---|
ppf | q:表示显著水平 α \alpha α,df:表示分布的自由度 n n n | 左分位点 χ 1 − α 2 ( n ) \chi_{1-\alpha}^2(n) χ1−α2(n) |
isf | q,df:与上同 | 右分位点 χ α 2 ( n ) \chi_{\alpha}^2(n) χα2(n) |
interval | alpha:表示置信水平 1 − α 1-\alpha 1−α,df:与上同 | 双侧分位点 χ 1 − α / 2 2 ( n ) \chi_{1-\alpha/2}^2(n) χ1−α/22(n)和 χ α / 2 2 ( n ) \chi_{\alpha/2}^2(n) χα/22(n) |
例1 对显著水平
α
=
0.05
\alpha=0.05
α=0.05,计算自由度
n
=
24
n=24
n=24的
χ
2
(
n
)
\chi^2(n)
χ2(n)分布的分位点。
解:下列代码完成本例计算。
from scipy.stats import chi2 #导入chi2
n=24 #设置自由度n
alpha=0.05 #设置alpha
a=chi2.ppf(q=alpha, df=n) #计算单侧左分位点
b=chi2.isf(q=alpha, df=n) #计算单侧右分位点
print('单侧左、右分位点:a=%.4f, b=%.4f'%(a, b))
a, b=chi2.interval(1-alpha, df=n) #计算双侧左分位点
print('双侧左、右分位点:a=%.4f, b=%.4f'%(a, b))
运行程序,输出
单侧左、右分位点:a=13.8484, b=36.4150
双侧左、右分位点:a=12.4012, b=39.3641
写博不易,敬请支持:
如果阅读本文于您有所获,敬请点赞、评论、收藏,谢谢大家的支持!
代码诚可贵,原理价更高。若为AI学,读正版书好。
返回《导引》
更多推荐
所有评论(0)