设有
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=1∑vnj,所有落入区间
D
i
D_i
Di中的数据频数
f
i
⋅
=
∑
j
=
1
v
f
i
j
f_{i\cdot}=\sum\limits_{j=1}^vf_{ij}
fi⋅=j=1∑vfij,
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}
nj⋅nfi⋅接近。然而,
n
j
=
∑
i
=
1
u
f
i
j
=
f
⋅
j
n_j=\sum\limits_{i=1}^uf_{ij}=f_{\cdot j}
nj=i=1∑ufij=f⋅j。故在
H
0
H_0
H0为真的前提下,
f
i
j
f_{ij}
fij与
f
i
⋅
f
⋅
j
n
\frac{f_{i\cdot}f_{\cdot j}}{n}
nfi⋅f⋅j相近。即差异平方和
∑
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=1∑uj=1∑v(fij−nfi⋅f⋅j)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=1∑uj=1∑vfi⋅f⋅j/n(fij−fi⋅f⋅j/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((u−1)(v−1))分布。于是当
n
n
n很大时,在显著水平
α
\alpha
α下可通过检验
χ
2
<
χ
α
2
(
(
u
−
1
)
(
v
−
1
)
)
\chi^2<\chi^2_{\alpha}((u-1)(v-1))
χ2<χα2((u−1)(v−1))是否满足来判断接受还是拒绝假设
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学,读正版书好。
返回《导引》