基于MATLAB的参数检验.docx
《基于MATLAB的参数检验.docx》由会员分享,可在线阅读,更多相关《基于MATLAB的参数检验.docx(11页珍藏版)》请在冰豆网上搜索。
基于MATLAB的参数检验
根据X~N(5,0.0008),有MATLAB计算拒绝域的临界值:
>>a=norminv(0.025,5,0.0008)
a=
4.9984
>>b=norminv(0.975,5,0.0008)
b=
5.0016
总体均值双侧检验:
>>x=[97,102,105,112,99,103,94,100,95,105,98,102,100,103];
>>[h,p,muci,zval]=ztest(x,100,2,0.05)
h=
1100为假设值,若h=1则拒绝
p=
0.0450检验值p
muci=
100.0238102.1191
zval=
2.0045
由于置信区间均大于100,则需做下列检验:
>>[h,p,muci,zval]=ztest(x,100,2,0.05,'right')
h=
1
p=
0.0225
muci=
100.1922Inf
zval=
2.0045
在方差已知的情况下检验均值是否正常:
>>x=[0.497,0.506,0.518,0.524,0.498,0.511,0.52,0.515,0.512];
>>[h,p,ci,u]=ztest(x,0.5,0.015,0.05,1)
h=
1
p=
0.0124
ci=
0.5030Inf
u=
2.2444
忽视标准差条件,可用ttest函数做检验:
>>[h,p,ci,T]=ttest(x,0.5,0.05,1)
h=
1
p=
0.0036
ci=
0.5054Inf
T=
tstat:
3.5849
df:
8
sd:
0.0094
若以样本均值和标准差做实际控制参数,可用normcdf函数估计产品的合格比率:
>>p=1-normcdf(0.5,mean(x),std(x))
p=
0.8840
两个正态总体的均值检验:
>>x=[77.9,78.3,76.8,80.3,72.1,73.7,71.0,69.2,80.1,77.4];
>>y=[79.8,80.7,79.3,82.1,79.3,78.7,80.4,81.2,79.2,80.3];
>>[h,sig,ci,stats]=ttest2(x,y,0.05,-1)
h=
1
sig=
0.0014
ci=
-Inf-2.2012
stats=
tstat:
-3.4543
df:
18
sd:
2.8612
利用kstest函数对生成的『分布数据进行检验:
>>r=gamrnd(1,3,400,1);
>>alam=gamfit(r)
alam=
0.97242.7423
>>r=sort(r);
>>[h,p,jbstat,critval]=kstest(r,[r,gamcdf(r,alam
(1),alam
(2))],0.05)
h=
0
p=
0.7942
jbstat=
0.0322
critval=
0.0675
利用kstest2检验所创建的标准正态随机分布是否接受原假设:
>>x=-1:
1:
5;
>>y=randn(20,1);
>>[h,p,k]=kstest2(x,y)
h=
0
p=
0.0774
k=
0.5214
建立y与x间的函数关系,并检验残差r是否服从均值为0的正态分布:
>>x=[2,3,4,5,7,8,9,13,15,17,19,20];
>>y=[107.83,109.35,110.12,111.34,107.56,110.65,112.37,114.76,110.89,111.21,112.35,111.99];
>>plot(x,y,'rP');
>>a=polyfit(x,y,1);
>>plot(x,y,'*',x,polyval(a,x),'b');
>>e1=y-polyval(a,x)
e1=
Columns1through11
-1.5077-0.17510.40751.4400-2.71480.18781.72033.3606-0.8842-0.9391-0.1739
Column12
-0.7213
>>[h1,sig,ci]=ttest(e1,0,0.05)
h1=
0
sig=
1
ci=
-1.02121.0212
>>[h2,p,kstat,critval]=lillietest(e1,0.05)
h2=
0
p=
NaN
kstat=
0.1499
critval=
0.2420
零中值分布的符号检验:
>>N=1024;
>>x1=randn(1,N);
假设检验
>>alpha0=0.05;
>>[p1,h1,states]=signtest(x1,alpha0)
p1=
0.0749
h1=
0
states=
zval:
-1.7813
sign:
483
>>x2=wblrnd(1,2,N,1);
实现的假设检验:
>>[p2,h2,states2]=signtest(x2,alpha0)
p2=
1.1755e-221
h2=
1
states2=
zval:
31.7813
sign:
3
秩和检验:
>>a=[7.0,3.6,9.5,8.1,6.3,5.0,10.3,4.2,2.7,10.6];
>>b=[5.6,3.3,4.0,11.0,9.6,7.0,3.5,4.6,5.8,8.2,10.0,5.6,12.2];
>>[p,h,stats]=ranksum(a,b,0.05)
p=
0.9012
h=
0
stats=
zval:
-0.1241
ranksum:
117.5000
0--1分布参数p的检验:
>>T=1;检验统计量的观测值
alpha=0.05;显著性水平
p=1-binocdf(0:
15,15,0.01);为确定拒绝域临界值计算T>=c的概率
forbyk=1:
16;求拒绝域临界值
ifp(byk)>alpha&p(byk+1)<=alpha
c=byk;
end;
end;
>>ifT>=c检验决策,h=1(0)即拒绝(接受)原假设
h=1
else
h=0
end
h=
1
>>T=5;检验统计量的观测值
>>alpha=0.025;显著性水平
>>p=binocdf(0:
12,12,0.4);为确定拒绝域临界值计算T的累积概率
>>forbyk=1:
7求拒绝域临界值
ifp(byk)<=alpha&p(byk+1)>=alpha
c1=byk-1;
end;
if(1-p(byk+6))>alpha&(1-p(byk+7))<=alpha
c2=byk+7;
end;
end;
>>ifT<=c1|T>=c2检验决策,h=1(0)即拒绝(接受)原假设
h=1;
else
h=0;
end;
>>c=[c1,c2]输出拒绝域临界值
c=
19
泊松分布的参数lambda的检验:
>>a=[0,1,2,3,4];粒子数数据
>>n=[4,7,2,1,1];频数数据
>>T=n*a';
>>alpha=0.1;
>>k=sum(n);样本容量
>>lambda0=0.6;待检验分数值
>>c=0.5*chi2inv(1-alpha,2*k*lambda0)求拒绝域临界值
c=
12.9947
>>ifT>=c
h=1;
else
h=0;
end;
>>T
T=
18
>>h
h=
1
指数分布参数theta的检验:
>>theta0=3000;待检验参数值
>>alpha=0.1;显著性水平
>>n=20;样本容量
>>life=237;加速寿命试验中样品平均失效时间
>>x2stat=2*n*(10*life)/theta0;检验统计量的观测值
>>c=chi2inv(alpha,2*n)求拒绝域临界值
c=
29.0505
>>ifx2stat<=c
h=1;
else
h=0;
end;
>>h
h=
0
非正态总体大样本的参数检验:
>>alpha=0.01;显著性水平
>>estp1=8/467;
>>estp2=1/433;
>>estp=(8+1)/(467+433);
>>u=(estp1-estp2)/sqrt((1/467+1/433)*estp*(1-estp))求拒绝域临界值
u=
2.2328
>>c=norminv(alpha,0,1)
c=
-2.3263
>>ifu<=c
h=1
else
h=0
end
h=
0