概率统计Python计算:假设检验应用——多个总体同分布检验

在这里插入图片描述
设有 v v v个总体 X 1 , X 2 , ⋯   , X v X_1,X_2,\cdots,X_v X1,X2,,Xv,从每个总体 X j X_j Xj中取得样本 X 1 j , X 2 j , ⋯   , X n j j X_{1j},X_{2j},\cdots,X_{n_jj} X1j,X2j,,Xnjj j = 1 , 2 , ⋯   , v j=1,2,\cdots,v j=1,2,,v。将实数区间 ( − ∞ , + ∞ ) (-\infty,+\infty) (,+)划分成 u u u个区间 D 1 , D 2 , ⋯   , D u D_1,D_2,\cdots,D_u D1,D2,,Du。对每个总体 X j X_j Xj的样本 X 1 j , X 2 j , ⋯   , X n j j X_{1j},X_{2j},\cdots,X_{n_jj} X1j,X2j,,Xnjj,统计落入 D i D_i Di中的数据个数 f i j f_{ij} fij i = 1 , 2 , ⋯   , u , j = 1 , 2 , ⋯   , v i=1,2,\cdots,u,j=1,2,\cdots,v i=1,2,,u,j=1,2,,v。得到表格

1 ⋯ \cdots j j j ⋯ \cdots v v v
1 f 11 f_{11} f11 ⋯ \cdots f 1 j f_{1j} f1j ⋯ \cdots f 1 v f_{1v} f1v
⋮ \vdots ⋯ ⋯ \cdots\cdots ⋯⋯
i i i f i 1 f_{i1} fi1 ⋯ \cdots f i j f_{ij} fij ⋯ \cdots f i v f_{iv} fiv
⋮ \vdots ⋯ ⋯ \cdots\cdots ⋯⋯
u u u f u 1 f_{u1} fu1 ⋯ \cdots f u j f_{uj} fuj ⋯ \cdots f u v f_{uv} fuv

希望在显著水平 α \alpha α下检验假设
H 0 : X 1 , X 2 , ⋯   , X v 具有相同分布 ( H 1 : 诸 X i 的分布不尽相同 ) . H_0:X_1,X_2,\cdots,X_v\text{具有相同分布}(H_1:\text{诸}X_i\text{的分布不尽相同}). H0:X1,X2,,Xv具有相同分布(H1:Xi的分布不尽相同).
记来自各总体的样本容量之和 n = ∑ j = 1 v n j n=\sum\limits_{j=1}^vn_j n=j=1vnj,所有落入区间 D i D_i Di中的数据频数 f i ⋅ = ∑ j = 1 v f i j f_{i\cdot}=\sum\limits_{j=1}^vf_{ij} fi=j=1vfij i = 1 , 2 , ⋯   , u i=1,2,\cdots,u i=1,2,,u。若 H 0 H_0 H0为真,设诸 X j X_j Xj所服从的共同分布落在在区间 D i D_i Di的概率 p i p_i pi应与数据频率 f i ⋅ n \frac{f_{i\cdot}}{n} nfi接近, i = 1 , 2 , ⋯   , u i=1,2,\cdots,u i=1,2,,u。考虑来自第 j j j个总体的样本落入 D i D_i Di个区间内的频数 f i j f_{ij} fij,应与 n j p i n_jp_i njpi相近,即在 H 0 H_0 H0为真的前提下与 n j ⋅ f i ⋅ n n_j\cdot\frac{f_{i\cdot}}{n} njnfi接近。然而, n j = ∑ i = 1 u f i j = f ⋅ j n_j=\sum\limits_{i=1}^uf_{ij}=f_{\cdot j} nj=i=1ufij=fj。故在 H 0 H_0 H0为真的前提下, f i j f_{ij} fij f i ⋅ f ⋅ j n \frac{f_{i\cdot}f_{\cdot j}}{n} nfifj相近。即差异平方和 ∑ i = 1 u ∑ j = 1 v ( f i j − f i ⋅ f ⋅ j n ) 2 \sum\limits_{i=1}^u\sum\limits_{j=1}^v\left(f_{ij}-\frac{f_{i\cdot}f_{\cdot j}}{n}\right)^2 i=1uj=1v(fijnfifj)2很小。构造统计量
χ 2 = ∑ i = 1 u ∑ j = 1 v ( f i j − f i ⋅ f ⋅ j / n ) 2 f i ⋅ f ⋅ j / n \chi^2=\sum\limits_{i=1}^u\sum\limits_{j=1}^v\frac{\left(f_{ij}-f_{i\cdot}f_{\cdot j}/n\right)^2}{f_{i\cdot}f_{\cdot j}/n} χ2=i=1uj=1vfifj/n(fijfifj/n)2
n n n很大且 H 0 H_0 H0为真时, χ 2 \chi^2 χ2近似服从 χ 2 ( ( u − 1 ) ( v − 1 ) ) \chi^2((u-1)(v-1)) χ2((u1)(v1))分布。于是当 n n n很大时,在显著水平 α \alpha α下可通过检验 χ 2 < χ α 2 ( ( u − 1 ) ( v − 1 ) ) \chi^2<\chi^2_{\alpha}((u-1)(v-1)) χ2<χα2((u1)(v1))是否满足来判断接受还是拒绝假设 H 0 H_0 H0
由此可见,有限个总体同分布检验与联列表中相互独立性检验的应用背景不同,但数据模型是一样的,所以也可以调用scipy.stats的chisquare函数来计算假设 H 0 H_0 H0的检验。
例1类型相同的三艘船,在同一行线上行驶。测得各应力值范围内的波浪诱导纵向应力值的发生次数如下表所列:

应力值范围 A A A B B B C C C
( 150 , 200 ) (150,200) (150,200) 1021 1021 1021 1073 1073 1073 1015 1015 1015
( 200 , 250 ) (200,250) (200,250) 229 229 229 256 256 256 265 265 265
( 250 , 350 ) (250,350) (250,350) 124 124 124 166 166 166 139 139 139
( 350 , 500 ) (350,500) (350,500) 34 34 34 44 44 44 25 25 25
500 500 500以上 9 9 9 11 11 11 4 4 4

要在显著水平 α = 0.05 \alpha=0.05 α=0.05下检验假设“这三艘船的应力服从同一分布”。
解: 下列代码完成本例计算。

from scipy.stats import chisquare       #导入chisquare
import numpy as np                      #导入numpy
alpha=0.05                              #显著水平
f=np.array([[1021, 1073, 1015],         #样本分类数据
            [229, 256, 265],
            [124, 166, 139],
            [34, 44, 25],
            [9, 11, 4]])
(u, v)=f.shape                          #分类数据表结构
n=f.sum()                               #样本容量和
fi, fj=margDist(f)                      #边缘分布
fij=fi*fj/n                             #假设频率
chiq, pvalue=chisquare(f.reshape(u*v,), #计算假设检验p值
                       fij.reshape(u*v,),
                       ddof=u+v-2)
print('H0 is %s.'%(pvalue>=alpha))

程序的第3~8行按题面设置各项数据。第9行获取联列表结构行数u和列数v。第10行获取样本容量n。第11行调用函数margDist(详见博文《离散型2-维随机向量的联合分布律及边缘分布》),计算边缘分布序列fi和fj。第12行计算假设分布概率序列fij。第13~15行调用chisqaure函数计算检验p值。注意传递给参数f_obs和f_exp的是矩阵f和fij的扁平化结果:调用各自的reshape(u*v,),将矩阵转换成数组。运行程序,输出

H0 is True.

表示接受假设。即在显著水平 α = 0.05 \alpha=0.05 α=0.05下认为三艘船的应力服从同一分布。
写博不易,敬请支持:
如果阅读本文于您有所获,敬请点赞、评论、收藏,谢谢大家的支持!
代码诚可贵,原理价更高。若为AI学,读正版书好
返回《导引》

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值