700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > 六 假设检验:使用Python进行两个正态总体均值的假设检验

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

时间:2022-10-15 17:15:13

相关推荐

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

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

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

该情形下的检验统计量为:

X‾−Y‾σ12n1+σ22n2∼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)

1.1. 双边假设检验

假设形式:H0:μ1−μ2=0H1:μ1−μ2≠0H_0: \mu_1-\mu_2 =0 \quad H_1:\mu_1-\mu_2\neq 0H0​:μ1​−μ2​=0H1​:μ1​−μ2​​=0

p值为:

pval=P{∣Z∣≥∣z0∣}pval=P\{|Z| \ge |z_0|\}pval=P{∣Z∣≥∣z0​∣}

1.2. 左侧检验

假设形式:H0:μ1−μ2≥0H1:μ1−μ2<0H_0: \mu_1-\mu_2\ge0 \quad H_1:\mu_1-\mu_2\lt0H0​:μ1​−μ2​≥0H1​:μ1​−μ2​<0

p值为:

pval=P{Z≤z0}pval=P\{Z \le z_0\}pval=P{Z≤z0​}

1.3. 右侧检验

假设形式:H0:μ1−μ2≤0H1:μ1−μ2>0H_0: \mu_1-\mu_2\le0 \quad H_1:\mu_1-\mu_2\gt0H0​:μ1​−μ2​≤0H1​:μ1​−μ2​>0

p值为:

pval=P{Z≥z0}pval=P\{Z \ge z_0\}pval=P{Z≥z0​}

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

该情形下的检验统计量为:

X‾−Y‾Sw1n1+1n2∼t(n1+n2−2)\frac{\overline X - \overline Y}{S_w\sqrt{\frac{1}{n_1}+\frac{1}{n_2}}}\sim t(n_1+n_2-2)Sw​n1​1​+n2​1​​X−Y​∼t(n1​+n2​−2)

上式中sw2=(n1−1)s12+(n2−1)s22n1+n2−2s_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​​

2.1. 双边假设检验

假设形式:H0:μ1−μ2=0H1:μ1−μ2≠0H_0: \mu_1-\mu_2 =0 \quad H_1:\mu_1-\mu_2\neq 0H0​:μ1​−μ2​=0H1​:μ1​−μ2​​=0

p值为:

pval=P{∣T∣≥∣t0∣}pval=P\{|T| \ge |t_0|\}pval=P{∣T∣≥∣t0​∣}

2.2. 左侧检验

假设形式:H0:μ1−μ2≥0H1:μ1−μ2<0H_0: \mu_1-\mu_2\ge0 \quad H_1:\mu_1-\mu_2\lt0H0​:μ1​−μ2​≥0H1​:μ1​−μ2​<0

p值为:

pval=P{T≤t0}pval=P\{T \le t_0\}pval=P{T≤t0​}

2.3. 右侧检验

假设形式:H0:μ1−μ2≤0H1:μ1−μ2>0H_0: \mu_1-\mu_2\le0 \quad H_1:\mu_1-\mu_2\gt0H0​:μ1​−μ2​≤0H1​:μ1​−μ2​>0

p值为:

pval=P{T≥t0}pval=P\{T \ge t_0\}pval=P{T≥t0​}

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

此时以样本方差S12,S22S_1^2, S_2^2S12​,S22​分别代替σ12,σ22\sigma_1^2, \sigma_2^2σ12​,σ22​. 取检验统计量为:

T=X‾−Y‾S12n1+S22n2T = \frac{\overline X - \overline Y}{\sqrt{\frac{S_1^2}{n_1}+\frac{S_2^2}{n_2}}}T=n1​S12​​+n2​S22​​​X−Y​

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

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

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

这种情形下,自由度k可以粗略计算得:

k=min(n1−1,n2−1)k=min(n_1-1, n_2-1)k=min(n1​−1,n2​−1)

然后参照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.

为题:假设男女脉搏率都是服从正态分布,这些数据能否认为男女脉搏率的均值相同?

解:H0:μ1−μ2=0H1:μ1−μ2≠0H_0:\mu_1-\mu_2=0 \quad H_1:\mu_1-\mu_2\neq 0H0​:μ1​−μ2​=0H1​:μ1​−μ2​​=0

该问题问双边检验。Python计算如下:

import numpy as npfrom scipy import statsdata1 = 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 = Trueif 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@

-qq:532843488

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。