实验5-1 单个总体的假设检验
实验基本原理
单个总体的假设检验是利用某些检验统计量对样本的均值、方差进行检验,主要分为3种情形。
1.已知方差σ2,检验假设H0:μ=μ0
在这种情形下,所用到的统计量如下:
在这个公式中,代表样本均值,μ0代表检验均值,σ0代表总体方差,n代表样本数量。若|U|>Uα,则否定原假设,否则接受原假设。
2.未知方差σ2,检验假设H0:μ=μ0
在这种情形下,所用到的统计量如下:
在这个公式中,代表样本均值,μ0代表检验均值,S代表样本方差,其计算公式为S=。若|T|>tα,则否定原假设,否则接受原假设。
3.未知期望μ,检验假设H0:σ2=
在这种情形下,所用到的统计量如下:
在这个公式中,代表检验方差,S代表样本标准差,其计算公式为S若χ2>或者χ2<,则拒绝原假设;若<χ2<,则接受原假设。
实验目的与要求
(一)实验目的
1.掌握单个总体均值检验和方差检验的基本原理和方法。
2.掌握实验结果所代表的含义,并对原假设进行判别。
(二)实验要求
1.熟练掌握单个总体均值检验和方差检验的命令语句和操作方法。
2.理解均值检验和方差检验输出的结果,对检验的原假设做出合理的判断。
实验内容及数据来源
实验数据来源于某砖厂的生产车间对砖的抗断强度的测量,根据长期经验和观测,某砖厂砖的抗断强度服从正态分布,方差为1.21,从中随机抽取6块砖的数据,完整的数据存储在本书下载资源\data\第5章\brick.dta工作文件中,实验数据(数据单位:10pa)如表5.1所示。
表5.1 实验数据
利用此数据进行假设检验分析,分析其总体均值是否为32.5。
利用此数据进行假设检验分析,分析其总体标准差是否为1.1。
实验操作指导
1.正态分布、方差已知的均值检验
对于这种情形,由于Stata没有提供直接的命令,因此需要用户自行构建正态分布的统计量进行检验,命令语句为:
quietly summarize scalar z=(r(mean)−μ0)/(σ/sqrt(n)) scalar crit=invnormal(1-0.05/2) scalar p=(1-normal(abs(z)))/2 scalar list z crit p
第1个命令语句是为了求出样本的均值大小,不显示计算的结果;第2个命令语句是输入正态分布统计量的计算公式,目的是计算出正态分布统计量的大小;第3个命令语句用于求置信度为95%的正态分布临界值的大小;第4个命令语句用于求P值的大小;第5个命令语句用于列出这些统计量的计算结果,以便进行判断。
为了分析这批砖抗断强度的均值是否为32.5,可输入如下命令:
quietly summarize scalar z=(r(mean)-32.5)/(1.1/sqrt(6)) scalar crit=invnormal(1-0.05/2) scalar p=(1-normal(abs(z)))/2 scalar list z crit p
实际上就是将假设均值32.5、标准差1.1和样本容量6填入所对应的位置即可,得到如图5.1所示的结果。
图5.1 正态分布方差已知检验结果
从图5.1中可以看到,|z|>|crit|,即检验值大于临界值,所以应当拒绝原假设,且P值为0.00055677,这也告诉用户应该拒绝原假设,即不能认为这批砖的抗断强度为32.5。
这种检验形式一般只在理论研究过程中存在,实际应用价值微乎其微,实际应用一般采用t检验形式。
2.正态分布、方差未知的均值检验
当正态分布、方差未知时进行的均值检验应该使用t统计量,Stata中有相应的命令,具体命令语句如下:
ttest varname== # [if] [in] [, level(#)]
ttest表示进行t检验,“varname == #”用来设置某一变量的均值检验,if是条件语句,in是范围语句,level(#)用来设置置信水平。
有时t检验也能用到如下命令语句:
ttesti #obs #mean #sd #val [, level(#)]
该命令语句用于在缺失样本具体数据的情况下,只通过样本的统计指标进行t检验。#obs用来指明样本容量,#mean用于指明样本均值,#sd用于指明样本标准差,#val用来进行检验的均值设定,level(#)则用于指明置信度。
在检验砖的抗断强度时,假设并不知道方差为1.21,检验其均值是否为32.5,这时就可使用命令:
ttestkdqd=32.5
将得到如图5.2所示的检验结果,可以看到结果表格中显示了样本的特性,主要包括样本容量、样本均值、标准误差、标准差、置信区间。表格下面是进行t检验的内容,其中最重要的是“Ha: mean != 32.5”部分,不难发现检验得到的P值为0.0302,所以应当拒绝原假设,即不能认为这批砖的平均抗断强度为32.5。
图5.2 正态分布方差未知标准检验结果
假如并不知道这些样本的具体数值,而只知道以下信息:有6个样本,样本均值为31.13,样本标准差为1.12,依据这些信息检验总体均值是否为32.5。这时就需要使用ttesti命令,可使用如下命令语句:
ttesti 6 31.13 1.12 32.5
ttesti之后依次输入的是代表样本容量、样本均值、样本标准差、待检验均值的数字6、31.13、1.12、32.5,这时将会得到如图5.3所示的结果图。根据这个结果,我们也可以拒绝原假设。
图5.3 检验结果
3.期望未知、检验方差
方差检验一般只提供实验原理中所述的第3种情况的检验,并且方差检验所要检验的实际值为标准差而不是方差,使用命令语句为:
sdtest varname == # [if] [in] [, level(#)]
sdtest表示进行标准差检验,“varname == #”是将所要检验的变量的标准差数值填入,if是条件语句,in是范围语句,level(#)用来设置置信水平。
如果不知道样本的具体数值,只有相关统计量,那么也可以进行标准差的检验,所使用的命令语句如下:
sdtesti #obs {#mean | . } #sd #val [, level(#)]
#obs代表样本容量,“#mean | .”代表样本均值,若样本均值未知以“.”代替,则#sd代表样本标准差,#val代表将要检验的标准差,level(#)代表置信度。
若要根据样本数据检验总体标准差是否为1.1,则可使用如下命令语句:
sdtestkdqd=1.1
执行命令后,将得到如图5.4所示的结果。标准差检验的结果图与均值检验的结果图结构基本一致,从检验结果可以看到原假设“sd != 1.1”的检验P值为0.7823,即不能拒绝原假设,可以认为总体的标准差为1.1。
图5.4 期望未知方差标准检验结果
如果在检验中并没有brick.dta数据库,只知道样本的容量为6,样本均值为31.13,样本标准差为1.12,以这些样本特征值来检验总体方差为1.1,那么可使用如下的命令语句:
sdtesti 6 31.13 1.12 1.1
得到如图5.5所示的结果图。根据这个图形,我们也可以接受原假设。
图5.5 期望未知方差特征值检验结果