4.8 假设检验
4.8.1 已知,单个正态总体的均值μ的假设检验(U检验法)
函数 ztest
格式 h = ztest(x,m,sigma) % x为正态总体的样本,m为均值μ0,sigma为标准差,显著性水平为0.05(默认值)
h = ztest(x,m,sigma,alpha) %显著性水平为alpha
[h,sig,ci,zval] = ztest(x,m,sigma,alpha,tail) %sig为观察值的概率,当sig为小概率时则对原假设提出质疑,ci为真正均值μ的1-alpha置信区间,zval为统计量的值.
说明 若h=0,表示在显著性水平alpha下,不能拒绝原假设;
若h=1,表示在显著性水平alpha下,可以拒绝原假设.
原假设:,
若tail=0,表示备择假设:(默认,双边检验);
tail=1,表示备择假设:(单边检验);
tail=-1,表示备择假设:(单边检验).
例4-74 某车间用一台包装机包装葡萄糖,包得的袋装糖重是一个随机变量,它服从正态分布.当机器正常时,其均值为0.5公斤,标准差为0.015.某日开工后检验包装机是否正常,随机地抽取所包装的糖9袋,称得净重为(公斤)
0.497, 0.506, 0.518, 0.524, 0.498, 0.511, 0.52, 0.515, 0.512
问机器是否正常
解:总体μ和σ已知,该问题是当为已知时,在水平下,根据样本值判断μ=0.5还是.为此提出假设:
原假设:
备择假设:
>> X=[0.497,0.506,0.518,0.524,0.498,0.511,0.52,0.515,0.512];
>> [h,sig,ci,zval]=ztest(X,0.5,0.015,0.05,0)
结果显示为
h =
1
sig =
0.0248 %样本观察值的概率
ci =
0.5014 0.5210 %置信区间,均值0.5在此区间之外
zval =
2.2444 %统计量的值
结果表明:h=1,说明在水平下,可拒绝原假设,即认为包装机工作不正常.
4.8.2 未知,单个正态总体的均值μ的假设检验( t检验法)
函数 ttest
格式 h = ttest(x,m) % x为正态总体的样本,m为均值μ0,显著性水平为0.05
h = ttest(x,m,alpha) %alpha为给定显著性水平
[h,sig,ci] = ttest(x,m,alpha,tail) %sig为观察值的概率,当sig为小概率时则对原假设提出质疑,ci为真正均值μ的1-alpha置信区间.
说明 若h=0,表示在显著性水平alpha下,不能拒绝原假设;
若h=1,表示在显著性水平alpha下,可以拒绝原假设.
原假设:,
若 tail=0,表示备择假设:(默认,双边检验);
tail=1,表示备择假设:(单边检验);
tail=-1,表示备择假设:(单边检验).
例4-75 某种电子元件的寿命X(以小时计)服从正态分布,,σ2均未知.现测得16只元件的寿命如下
159 280 101 212 224 379 179 264 222 362 168 250
149 260 485 170
问是否有理由认为元件的平均寿命大于225(小时)
解:未知,在水平下检验假设::,:
>> X=[159 280 101 212 224 379 179 264 222 362 168 250 149 260 485 170];
>> [h,sig,ci]=ttest(X,225,0.05,1)
结果显示为:
h =
0
sig =
0.2570
ci =
198.2321 Inf %均值225在该置信区间内
结果表明:H=0表示在水平下应该接受原假设,即认为元件的平均寿命不大于225小时.
4.8.3 两个正态总体均值差的检验(t检验)
两个正态总体方差未知但等方差时,比较两正态总体样本均值的假设检验
函数 ttest2
格式 [h,sig,ci]=ttest2(X,Y) %X,Y为两个正态总体的样本,显著性水平为0.05
[h,sig,ci]=ttest2(X,Y,alpha) %alpha为显著性水平
[h,sig,ci]=ttest2(X,Y,alpha,tail) %sig为当原假设为真时得到观察值的概率,当sig为小概率时则对原假设提出质疑,ci为真正均值μ的1-alpha置信区间.
说明 若h=0,表示在显著性水平alpha下,不能拒绝原假设;
若h=1,表示在显著性水平alpha下,可以拒绝原假设.
原假设:, (为X为期望值,为Y的期望值)
若 tail=0,表示备择假设:(默认,双边检验);
tail=1,表示备择假设:(单边检验);
tail=-1,表示备择假设:(单边检验).
例4-76 在平炉上进行一项试验以确定改变操作方法的建议是否会增加钢的产率,试验是在同一只平炉上进行的.每炼一炉钢时除操作方法外,其他条件都尽可能做到相同.先用标准方法炼一炉,然后用建议的新方法炼一炉,以后交替进行,各炼10炉,其产率分别为
(1)标准方法:78.1 72.4 76.2 74.3 77.4 78.4 76.0 75.5 76.7 77.3
(2)新方法: 79.1 81.0 77.3 79.1 80.0 79.1 79.1 77.3 80.2 82.1
设这两个样本相互独立,且分别来自正态总体和,,,均未知.问建议的新操作方法能否提高产率 (取α=0.05)
解:两个总体方差不变时,在水平下检验假设::,:
>> X=[78.1 72.4 76.2 74.3 77.4 78.4 76.0 75.5 76.7 77.3];
>>Y=[79.1 81.0 77.3 79.1 80.0 79.1 79.1 77.3 80.2 82.1];
>> [h,sig,ci]=ttest2(X,Y,0.05,-1)
结果显示为:
h =
1
sig =
2.1759e-004 %说明两个总体均值相等的概率很小
ci =
-Inf -1.9083
结果表明:H=1表示在水平下,应该拒绝原假设,即认为建议的新操作方法提高了产率,因此,比原方法好.
4.8.4 两个总体一致性的检验——秩和检验
函数 ranksum
格式 p = ranksum(x,y,alpha) %x,y为两个总体的样本,可以不等长,alpha为显著性水平
[p,h] = ranksum(x,y,alpha) % h为检验结果,h=0表示X与Y的总体差别不显著h=1表示X与Y的总体差别显著
[p,h,stats] = ranksum(x,y,alpha) %stats中包括:ranksum为秩和统计量的值以及zval为过去计算p的正态统计量的值
说明 P为两个总体样本X和Y为一致的显著性概率,若P接近于0,则不一致较明显.
例4-77 某商店为了确定向公司A或公司B购买某种商品,将A和B公司以往的各次进货的次品率进行比较,数据如下所示,设两样本独立.问两公司的商品的质量有无显著差异.设两公司的商品的次品的密度最多只差一个平移,取α=0.05.
A:7.0 3.5 9.6 8.1 6.2 5.1 10.4 4.0 2.0 10.5
B:5.7 3.2 4.1 11.0 9.7 6.9 3.6 4.8 5.6 8.4 10.1 5.5 12.3
解:设,分别为A,B两个公司的商品次品率总体的均值.则该问题为在水平α=0.05下检验假设::,:
>> A=[7.0 3.5 9.6 8.1 6.2 5.1 10.4 4.0 2.0 10.5];
>> B=[5.7 3.2 4.1 11.0 9.7 6.9 3.6 4.8 5.6 8.4 10.1 5.5 12.3];
>> [p,h,stats]=ranksum(A,B,0.05)
结果为:
p =
0.8041
h =
0
stats =
zval: -0.2481
ranksum: 116
结果表明:一方面,两样本总体均值相等的概率为0.8041,不接近于0;另一方面,H=0也说明可以接受原假设,即认为两个公司的商品的质量无明显差异.
4.8.5 两个总体中位数相等的假设检验——符号秩检验
函数 signrank
格式 p = signrank(X,Y,alpha) % X,Y为两个总体的样本,长度必须相同,alpha为显著性水平,P两个样本X和Y的中位数相等的概率,p接近于0则可对原假设质疑.
[p,h] = signrank(X,Y,alpha) % h为检验结果:h=0表示X与Y的中位数之差不显著,h=1表示X与Y的中位数之差显著.
[p,h,stats] = signrank(x,y,alpha) % stats中包括:signrank为符号秩统计量的值以及zval为过去计算p的正态统计量的值.
例4-78 两个正态随机样本的中位数相等的假设检验
>> x=normrnd(0,1,20,1);
>> y=normrnd(0,2,20,1);
>> [p,h,stats]=signrank(x,y,0.05)
p =
0.3703
h =
0
stats =
zval: -0.8960
signedrank: 81
结果表明:h=0表示X与Y的中位数之差不显著
4.8.6 两个总体中位数相等的假设检验——符号检验
函数 signtest
格式 p=signtest(X, Y, alpha) % X,Y为两个总体的样本,长度必须相同,alpha为显著性水平,P两个样本X和Y的中位数相等的概率,p接近于0则可对原假设质疑.
[p, h]=signtest(X, Y, alpha) % h为检验结果:h=0表示X与Y的中位数之差不显著,h=1表示X与Y的中位数之差显著.
[p,h,stats] = signtest(X,Y,alpha) % stats中sign为符号统计量的值
例4-79 两个正态随机样本的中位数相等的假设检验
>> X=normrnd(0,1,20,1);
>> Y=normrnd(0,2,20,1);
>> [p,h,stats]=signtest(X,Y,0.05)
p =
0.2632
h =
0
stats =
sign: 7
结果表明:h=0表示X与Y的中位数之差不显著
4.8.7 正态分布的拟合优度测试
函数 jbtest
格式 H = jbtest(X) %对输入向量X进行Jarque-Bera测试,显著性水平为0.05.
H = jbtest(X,alpha) %在水平alpha而非5%下施行 Jarque-Bera 测试,alpha在0和1之间.
[H,P,JBSTAT,CV] = jbtest(X,alpha) %P为接受假设的概率值,P越接近于0,则可以拒绝是正态分布的原假设;JBSTAT为测试统计量的值,CV为是否拒绝原假设的临界值.
说明 H为测试结果,若H=0,则可以认为X是服从正态分布的;若X=1,则可以否定X服从正态分布.X为大样本,对于小样本用lillietest函数.
例4-80 调用MATLAB中关于汽车重量的数据,测试该数据是否服从正态分布
>> load carsmall
>> [h,p,j,cv]=jbtest(Weight)
h =
1
p =
0.0267
j =
7.2448
cv =
5.9915
说明 p=2.67%表示应该拒绝服从正态分布的假设;h=1也可否定服从正态分布;统计量的值j = 7.2448大于接受假设的临界值cv =5.9915,因而拒绝假设(测试水平为5%).
4.8.8 正态分布的拟合优度测试
函数 lillietest
格式 H = lillietest(X) %对输入向量X进行Lilliefors测试,显著性水平为0.05.
H = lillietest(X,alpha) %在水平alpha而非5%下施行Lilliefors测试,alpha在0.01和0.2之间.
[H,P,LSTAT,CV] = lillietest(X,alpha) %P为接受假设的概率值,P越接近于0,则可以拒绝是正态分布的原假设;LSTAT为测试统计量的值,CV为是否拒绝原假设的临界值.
说明 H为测试结果,若H=0,则可以认为X是服从正态分布的;若X=1,则可以否定X服从正态分布.
例4-81
>> Y=chi2rnd(10,100,1);
>> [h,p,l,cv]=lillietest(Y)
h =
1
p =
0.0175
l =
0.1062
cv =
0.0886
说明 h=1表示拒绝正态分布的假设;p = 0.0175表示服从正态分布的概率很小;统计量的值l = 0.1062大于接受假设的临界值cv =0.0886,因而拒绝假设(测试水平为5%).
>>hist(Y)
从图中看出,数据Y不服从正态分布.
4.8.9 单个样本分布的 Kolmogorov-Smirnov 测试
函数 kstest
格式 H = kstest(X) %测试向量X是否服从标准正态分布,测试水平为5%.
H = kstest(X,cdf) %指定累积分布函数为cdf的测试(cdf=[ ]时表示标准正态分布),测试水平为5%
H = kstest(X,cdf,alpha) % alpha为指定测试水平
[H,P,KSSTAT,CV] = kstest(X,cdf,alpha) %P为原假设成立的概率,KSSTAT为测试统计量的值,CV为是否接受假设的临界值.
说明 原假设为X服从标准正态分布.若H=0则不能拒绝原假设,H=1则可以拒绝原假设.
例4-82 产生100个威布尔随机数,测试该随机数服从的分布
>> x=weibrnd(1,2,100,1);
>> [H,p,ksstat,cv]=kstest(x,[x weibcdf(x,1,2)],0.05) %测试是否服从威布尔分布
H =
0
p =
0.3022
ksstat =
0.0959
cv =
0.1340
说明 H=0表示接受原假设,统计量ksstat小于临界值表示接受原假设.
>> [H,p,ksstat,cv]=kstest(x,[x expcdf(x,1)],0.05) %测试是否服从指数分布
H =
1
p =
0.0073
ksstat =
0.1653
cv =
0.1340
说明 H=1表明拒绝服从指数分布的假设.
>> [H,p,ksstat,cv]=kstest(x,[ ],0.05) %测试是否服从标准正态分布
H =
1
p =
3.1285e-026
ksstat =
0.5380
cv =
0.1340
说明 H=1表明不服从标准正态分布.
4.8.10 两个样本具有相同的连续分布的假设检验
函数 kstest2
格式 H = kstest2(X1,X2) %测试向量X1与X2是具有相同的连续分布,测试水平为5%.
H = kstest2(X1,X2,alpha) % alpha为测试水平
[H,P,KSSTAT] = kstest(X,cdf,alpha) %与指定累积分布cdf相同的连续分布,P为假设成立的概率,KSSTAT为测试统计量的值.
说明原假设为具有相同连续分布.测试结果为H,若H=0,表示应接受原假设;若H=1,表示可以拒绝原假设.这是Kolmogorov-Smirnov测试方法.
例4-83
>> x=-1:1:5;
>> y=randn(20,1);
>> [h,p,k]=kstest2(x,y)
h =
1
p =
0.0444
k =
0.5643
说明 h=1表示可以认为向量x与y的分布不相同,相同的概率只有4.4%.
4.9 方差分析
4.9.1 单因素方差分析
单因素方差分析是比较两组或多组数据的均值,它返回原假设——均值相等的概率
函数 anova1
格式 p = anova1(X) %X的各列为彼此独立的样本观察值,其元素个数相同,p为各列均值相等的概率值,若p值接近于0,则原假设受到怀疑,说明至少有一列均值与其余列均值有明显不同.
p = anova1(X,group) %X和group为向量且group要与X对应
p = anova1(X,group,'displayopt') % displayopt=on/off表示显示与隐藏方差分析表图和盒图
[p,table] = anova1(…) % table为方差分析表
[p,table,stats] = anova1(…) % stats为分析结果的构造
说明 anova1函数产生两个图:标准的方差分析表图和盒图.
方差分析表中有6列:第1列(source)显示:X中数据可变性的来源;第2列(SS)显示:用于每一列的平方和;第3列(df)显示:与每一种可变性来源有关的*度;第4列(MS)显示:是SS/df的比值;第5列(F)显示:F统计量数值,它是MS的比率;第6列显示:从F累积分布中得到的概率,当F增加时,p值减少.
例4-84 设有3台机器,用来生产规格相同的铝合金薄板.取样测量薄板的厚度,精确至‰厘米.得结果如下:
机器1:0.236 0.238 0.248 0.245 0.243
机器2:0.257 0.253 0.255 0.254 0.261
机器3:0.258 0.264 0.259 0.267 0.262
检验各台机器所生产的薄板的厚度有无显著的差异
解:
>> X=[0.236 0.238 0.248 0.245 0.243; 0.257 0.253 0.255 0.254 0.261;…
0.258 0.264 0.259 0.267 0.262];
>> P=anova1(X')
结果为:
P =
1.3431e-005
还有两个图,即图4-22和图4-23.
图4-22 图4-23
例4-85 建筑横梁强度的研究:3000磅力量作用在一英寸的横梁上来测量横梁的挠度,钢筋横梁的测试强度是:82 86 79 83 84 85 86 87;其余两种更贵的合金横梁强度测试为合金1:74 82 78 75 76 77;合金2:79 79 77 78 82 79].
检验这些合金强度有无明显差异
解:
>> strength = [82 86 79 83 84 85 86 87 74 82 78 75 76 77 79 79 77 78 82 79];
>>alloy = {'st','st','st','st','st','st','st','st', 'al1','al1','al1','al1','al1','al1',…
'al2','al2','al2','al2','al2','al2'};
>> [p,table,stats] = anova1(strength,alloy,'on')
结果为
p =
1.5264e-004
table =
'Source' 'SS' 'df' 'MS' 'F' 'Prob>F'
'Groups' [184.8000] [ 2] [92.4000] [15.4000] [1.5264e-004]
'Error' [102.0000] [17] [ 6.0000] [ ] [ ]
'Total' [286.8000] [19] [ ] [ ] [ ]
stats =
gnames: {3x1 cell}
n: [8 6 6]
source: 'anova1'
means: [84 77 79]
df: 17
s: 2.4495
图4-24 图4-25
说明 p值显示,3种合金是明显不同的,盒图显示钢横梁的挠度大于另两种合金横梁的挠度.
4.9.2 双因素方差分析
函数 anova2
格式 p = anova2(X,reps)
p = anova2(X,reps,'displayopt')
[p,table] = anova2(…)
[p,table,stats] = anova2(…)
说明执行平衡的双因素试验的方差分析来比较X中两个或多个列(行)的均值,不同列的数据表示因素A的差异,不同行的数据表示另一因素B的差异.如果行列对有多于一个的观察点,则变量reps指出每一单元观察点的数目,每一单元包含reps行,如:
reps=2
其余参数与单因素方差分析参数相似.
例4-86 一火箭使用了4种燃料,3种推进器作射程试验,每种燃料与每种推进器的组合各发射火箭2次,得到结果如下:
推进器(B) B1 B2 B3
A1 58.2000 56.2000 65.3000
52.6000 41.2000 60.8000
A2 49.1000 54.1000 51.6000
燃料A 42.8000 50.5000 48.4000
A3 60.1000 70.9000 39.2000
58.3000 73.2000 40.7000
A4 75.8000 58.2000 48.7000
71.5000 51.0000 41.4000
考察推进器和燃料这两个因素对射程是否有显著的影响
解:建立M文件
X=[58.2000 56.2000 65.3000
52.6000 41.2000 60.8000
49.1000 54.1000 51.6000
42.8000 50.5000 48.4000
60.1000 70.9000 39.2000
58.3000 73.2000 40.7000
75.8000 58.2000 48.7000
71.5000 51.0000 41.4000];
P=anova2(X,2)
结果为:
P =
0.0035 0.0260 0.0001
显示方差分析图为图4-26.
图4-26