六、假设检验:使用Python进行两个正态总体均值的假设检验

假设两个正态总体分别为: X ∼ N ( μ 1 , σ 1 2 ) X\sim N(\mu_1, \sigma_1^2) XN(μ1,σ12) Y ∼ N ( μ 2 , σ 2 2 ) Y\sim N(\mu_2, \sigma_2^2) YN(μ2,σ22). X 1 , . . . , X n X_1,...,X_n X1,...,Xn为来自正态总体X的样本; Y 1 , . . . , Y n Y_1,...,Y_n Y1,...,Yn为来自正态总体Y的样本。两个样本相互独立。并记 X ‾ , Y ‾ , S 1 2 , S 2 2 \overline X, \overline Y, S_1^2, S_2^2 X,Y,S12,S22分别为两样本的均值和方差。

1. σ 1 2 , σ 2 2 \sigma_1^2, \sigma_2^2 σ12σ22已知

该情形下的检验统计量为:
X ‾ − Y ‾ σ 1 2 n 1 + σ 2 2 n 2 ∼ N ( 0 , 1 ) \frac{\overline X - \overline Y}{\sqrt{\frac{\sigma_1^2}{n_1}+\frac{\sigma_2^2}{n_2}}}\sim N(0, 1) n1σ12+n2σ22 XYN(0,1)

1.1. 双边假设检验

假设形式: H 0 : μ 1 − μ 2 = 0 H 1 : μ 1 − μ 2 ≠ 0 H_0: \mu_1-\mu_2 =0 \quad H_1:\mu_1-\mu_2\neq 0 H0:μ1μ2=0H1:μ1μ2=0
拒绝域为:
∣ z ∣ = ∣ X ‾ − Y ‾ σ 1 2 n 1 + σ 2 2 n 2 ∣ ≥ z α / 2 |z|=|\frac{\overline X - \overline Y}{\sqrt{\frac{\sigma_1^2}{n_1}+\frac{\sigma_2^2}{n_2}}}|\ge z_{\alpha/2} z=n1σ12+n2σ22 XYzα/2
p值为:
p v a l = P { ∣ Z ∣ ≥ ∣ z 0 ∣ } pval=P\{|Z| \ge |z_0|\} pval=P{Zz0}

1.2. 左侧检验

假设形式: H 0 : μ 1 − μ 2 ≥ 0 H 1 : μ 1 − μ 2 < 0 H_0: \mu_1-\mu_2\ge0 \quad H_1:\mu_1-\mu_2\lt0 H0:μ1μ20H1:μ1μ2<0
拒绝域为:
z = X ‾ − Y ‾ σ 1 2 n 1 + σ 2 2 n 2 ≤ − z α z=\frac{\overline X - \overline Y}{\sqrt{\frac{\sigma_1^2}{n_1}+\frac{\sigma_2^2}{n_2}}}\le-z_\alpha z=n1σ12+n2σ22 XYzα
p值为:
p v a l = P { Z ≤ z 0 } pval=P\{Z \le z_0\} pval=P{Zz0}

1.3. 右侧检验

假设形式: H 0 : μ 1 − μ 2 ≤ 0 H 1 : μ 1 − μ 2 > 0 H_0: \mu_1-\mu_2\le0 \quad H_1:\mu_1-\mu_2\gt0 H0:μ1μ20H1:μ1μ2>0
拒绝域为:
z = X ‾ − Y ‾ σ 1 2 n 1 + σ 2 2 n 2 ≥ z α z=\frac{\overline X - \overline Y}{\sqrt{\frac{\sigma_1^2}{n_1}+\frac{\sigma_2^2}{n_2}}}\ge z_\alpha z=n1σ12+n2σ22 XYzα
p值为:
p v a l = P { Z ≥ z 0 } pval=P\{Z \ge z_0\} pval=P{Zz0}

2. σ 1 2 = σ 2 2 = σ 2 \sigma_1^2=\sigma_2^2=\sigma^2 σ12=σ22=σ2但未知

该情形下的检验统计量为:
X ‾ − Y ‾ S w 1 n 1 + 1 n 2 ∼ t ( n 1 + n 2 − 2 ) \frac{\overline X - \overline Y}{S_w\sqrt{\frac{1}{n_1}+\frac{1}{n_2}}}\sim t(n_1+n_2-2) Swn11+n21 XYt(n1+n22)
上式中 s w 2 = ( n 1 − 1 ) s 1 2 + ( n 2 − 1 ) s 2 2 n 1 + n 2 − 2 s_w^2=\frac{(n_1-1)s_1^2 +(n_2-1)s_2^2}{n_1+n_2-2} sw2=n1+n22(n11)s12+(n21)s22

2.1. 双边假设检验

假设形式: H 0 : μ 1 − μ 2 = 0 H 1 : μ 1 − μ 2 ≠ 0 H_0: \mu_1-\mu_2 =0 \quad H_1:\mu_1-\mu_2\neq 0 H0:μ1μ2=0H1:μ1μ2=0
拒绝域为:
∣ t ∣ = ∣ X ‾ − Y ‾ S w 1 n 1 + 1 n 2 ∣ ≥ t α / 2 ( n 1 + n 2 − 2 ) |t|=|\frac{\overline X - \overline Y}{S_w\sqrt{\frac{1}{n_1}+\frac{1}{n_2}}}|\ge t_{\alpha/2}(n_1+n_2-2) t=Swn11+n21 XYtα/2(n1+n22)
p值为:
p v a l = P { ∣ T ∣ ≥ ∣ t 0 ∣ } pval=P\{|T| \ge |t_0|\} pval=P{Tt0}

2.2. 左侧检验

假设形式: H 0 : μ 1 − μ 2 ≥ 0 H 1 : μ 1 − μ 2 < 0 H_0: \mu_1-\mu_2\ge0 \quad H_1:\mu_1-\mu_2\lt0 H0:μ1μ20H1:μ1μ2<0
拒绝域为:
t = X ‾ − Y ‾ S w 1 n 1 + 1 n 2 ≤ − t α ( n 1 + n 2 − 2 ) t=\frac{\overline X - \overline Y}{S_w\sqrt{\frac{1}{n_1}+\frac{1}{n_2}}}\le -t_\alpha(n_1+n_2-2) t=Swn11+n21 XYtα(n1+n22)
p值为:
p v a l = P { T ≤ t 0 } pval=P\{T \le t_0\} pval=P{Tt0}

2.3. 右侧检验

假设形式: H 0 : μ 1 − μ 2 ≤ 0 H 1 : μ 1 − μ 2 > 0 H_0: \mu_1-\mu_2\le0 \quad H_1:\mu_1-\mu_2\gt0 H0:μ1μ20H1:μ1μ2>0
拒绝域为:
t = X ‾ − Y ‾ S w 1 n 1 + 1 n 2 ≥ t α ( n 1 + n 2 − 2 ) t=\frac{\overline X - \overline Y}{S_w\sqrt{\frac{1}{n_1}+\frac{1}{n_2}}}\ge t_\alpha(n_1+n_2-2) t=Swn11+n21 XYtα(n1+n22)
p值为:
p v a l = P { T ≥ t 0 } pval=P\{T \ge t_0\} pval=P{Tt0}

3. σ 1 2 ≠ σ 2 2 \sigma_1^2 \neq \sigma_2^2 σ12=σ22且未知

此时以样本方差 S 1 2 , S 2 2 S_1^2, S_2^2 S12,S22分别代替 σ 1 2 , σ 2 2 \sigma_1^2, \sigma_2^2 σ12,σ22. 取检验统计量为:
T = X ‾ − Y ‾ S 1 2 n 1 + S 2 2 n 2 T = \frac{\overline X - \overline Y}{\sqrt{\frac{S_1^2}{n_1}+\frac{S_2^2}{n_2}}} T=n1S12+n2S22 XY

3.1. 当样本容量很大时,利用中心极限定理统计量T近似服从标准正态分布

这种情形下,可以利用1.中的算法求解

3.2. 当样本容量较小时,统计量T服从自由度为k的t分布

这种情形下,自由度k可以粗略计算得:
k = m i n ( n 1 − 1 , n 2 − 1 ) k=min(n_1-1, n_2-1) k=min(n11,n21)
然后参照2.进行计算求解。

4. Python代码实现

scipy.stats包含两个正态总体均值的检验函数, 其函数原型:
stats.ttest_ind(a, b, axis=0, equal_var=True, nan_policy='propagate')

5. 实例验证

例1:随机地抽取年龄都是25岁的16位男子和13位女子, 测得:他们的脉搏率如下:
男: 61, 73, 58, 64, 70, 64, 72, 60, 65, 80, 55,72, 56, 56, 74, 65,
女: 83, 58, 70, 56, 76, 64, 80, 68, 78, 108,76, 70, 97.
为题:假设男女脉搏率都是服从正态分布,这些数据能否认为男女脉搏率的均值相同?
解: H 0 : μ 1 − μ 2 = 0 H 1 : μ 1 − μ 2 ≠ 0 H_0:\mu_1-\mu_2=0 \quad H_1:\mu_1-\mu_2\neq 0 H0:μ1μ2=0H1:μ1μ2=0
该问题问双边检验。Python计算如下:

import numpy as np
from scipy import stats

data1 = np.array([61, 73, 58, 64, 70, 64, 72, 60, 65, 80, 55, 72, 56, 56, 74, 65])
data2 = np.array([83, 58, 70, 56, 76, 64, 80, 68, 78, 108, 76, 70, 97])
equal_var = True
if np.var(data1, ddof=1) > np.var(data2,ddof=1)*2 or np.var(data2,ddof=1) >np.var(data1, ddof=1)*2:
	equal_var = False
-, pval = stats.ttest_ind(data1, data2, equal_var=equal_var)
# 结果:
pval = 0.03205611305825045

由于pval = 0.03205611305825045 < 0.05, 拒绝原假设,可以认为男女的脉搏率不相同。

6. 联系交流

-email: hflag@163.com
-qq:532843488

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值