假设两个正态总体分别为: X ∼ N ( μ 1 , σ 1 2 ) X\sim N(\mu_1, \sigma_1^2) X∼N(μ1,σ12)和 Y ∼ N ( μ 2 , σ 2 2 ) Y\sim N(\mu_2, \sigma_2^2) Y∼N(μ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分别为两样本的均值和方差。
该情形下的检验统计量为: 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 X−Y∼N(0,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 p值为: p v a l = P { ∣ Z ∣ ≥ ∣ z 0 ∣ } pval=P\{|Z| \ge |z_0|\} pval=P{∣Z∣≥∣z0∣}
假设形式: 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−μ2≥0H1:μ1−μ2<0 p值为: p v a l = P { Z ≤ z 0 } pval=P\{Z \le z_0\} pval=P{Z≤z0}
假设形式: 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−μ2≤0H1:μ1−μ2>0 p值为: p v a l = P { Z ≥ z 0 } pval=P\{Z \ge z_0\} pval=P{Z≥z0}
该情形下的检验统计量为: 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 X−Y∼t(n1+n2−2) 上式中 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+n2−2(n1−1)s12+(n2−1)s22
假设形式: 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 p值为: p v a l = P { ∣ T ∣ ≥ ∣ t 0 ∣ } pval=P\{|T| \ge |t_0|\} pval=P{∣T∣≥∣t0∣}
假设形式: 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−μ2≥0H1:μ1−μ2<0 p值为: p v a l = P { T ≤ t 0 } pval=P\{T \le t_0\} pval=P{T≤t0}
假设形式: 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−μ2≤0H1:μ1−μ2>0 p值为: p v a l = P { T ≥ t 0 } pval=P\{T \ge t_0\} pval=P{T≥t0}
此时以样本方差 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 X−Y
这种情形下,可以利用1.中的算法求解
这种情形下,自由度k可以粗略计算得: k = m i n ( n 1 − 1 , n 2 − 1 ) k=min(n_1-1, n_2-1) k=min(n1−1,n2−1) 然后参照2.进行计算求解。
在scipy.stats包含两个正态总体均值的检验函数, 其函数原型: stats.ttest_ind(a, b, axis=0, equal_var=True, nan_policy='propagate')
例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, 拒绝原假设,可以认为男女的脉搏率不相同。
-email: hflag@163.com -qq:532843488