概率统计Python计算:卡方分布分位点计算

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)1x2n1e2x0x0x<0.
下图展示了自由度 n n n分别为2,4,6的 f ( x ) f(x) f(x)的图像。
概率统计Python计算:卡方分布分位点计算_第1张图片
历史上均以残存函数 S ( x ) = 1 − F ( x ) S(x)=1-F(x) S(x)=1F(x)的反函数 S − 1 ( α ) S^{-1}(\alpha) S1(α)来表示单侧左分位点 χ α 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))=α.
如下图所示:
概率统计Python计算:卡方分布分位点计算_第2张图片
将单侧右分位点表为 χ 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 1P(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)) 1P(X>χ1α2(n))=P(Xχ1α2(n))=F(χ1α2(n))
概率统计Python计算:卡方分布分位点计算_第3张图片
而双侧左右分位点表为满足 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计算:卡方分布分位点计算_第4张图片

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

写博不易,敬请支持:
如果阅读本文于您有所获,敬请点赞、评论、收藏,谢谢大家的支持!
返回《导引》

你可能感兴趣的:(概率论)