北京科技大学概率论与数理统计上机报告3.docx
- 文档编号:11125462
- 上传时间:2023-02-25
- 格式:DOCX
- 页数:34
- 大小:318.08KB
北京科技大学概率论与数理统计上机报告3.docx
《北京科技大学概率论与数理统计上机报告3.docx》由会员分享,可在线阅读,更多相关《北京科技大学概率论与数理统计上机报告3.docx(34页珍藏版)》请在冰豆网上搜索。
北京科技大学概率论与数理统计上机报告3
Matlab概率论与数理统计上机练习(3)
五、假设检验
【例】(离散型分布检验)
某工厂近五年发生了63起事故,按星期几可以分为[9101181312],问该厂发生的事故数是有与星期几有关?
clearall
mi=[9101181312];%周一到周六的事故数
n=sum(mi);%总的事故数
r=0;%总体中没有未知参数
k=length(mi);%天数
pii=1/6;%事故的概率
kai2=0;
kai2=sum((mi-n*pii).^2)./(n*pii);%k2统计量的值
alpha1=0.05;%显著性水平
alpha2=0.01;%显著性水平
alpha3=0.001;%显著性水平
la1=chi2inv(1-alpha1,k-r-1);%kai2分布的累计概率,即临界值
la2=chi2inv(1-alpha2,k-r-1);%kai2分布的累计概率,即临界值
la3=chi2inv(1-alpha3,k-r-1);%kai2分布的累计概率,即临界值
pz=1-chi2cdf(kai2,k-r-1);%右侧概率
ifkai2>la2
xzx='**';
elseifkai2>la1
xzx='*';
else
xzx='-';
end
x=0:
0.1:
la3;
y=chi2pdf(x,k-r-1);
plot(x,y);
x1=kai2:
0.1:
la3;
y1=chi2pdf(x1,k-r-1);
holdon
ifkai2 fill([kai2,x1,la3],[0,y1,0],'m') end fprintf('---------------------------------------------------------------------------\n'); fprintf('样本数\t\t区间数\t\t未知参数\t\t自由度\t\t开方和\t\t右侧概率\t\t显著性\n'); fprintf('---------------------------------------------------------------------------\n'); fprintf('%4d\t\t%4d\t\t%4d\t\t%4d\t\t%.6f\t\t%.4f\t\t%4s\n',n,k,r,k-r-1,kai2,pz,xzx); fprintf('---------------------------------------------------------------------------\n'); fprintf('\n\n'); holdoff 离散型分布正态性检验 ------------------------------------------------------------------------------------- 样本数区间数未知参数自由度开方和临界值右侧概率显著性 ------------------------------------------------------------------------------------- 636051.666711.07050.8931- ------------------------------------------------------------------------------------- 【练习3.1】(基本计算,两个正态总体的假设检验,检验水平 ),对数学分析I (1)求课程中“专业(数学、信计)””的考试人数、平均分、最小值、最大值、极差、标准差、及格人数、及格率、优良人数(大于等于80)、优良率;写出标准差的计算公式。 (2)对“专业(数学、信计)”,检验方差、平均分是否相等。 (3)对“专业(数学、信计)”,检验及格率、优秀率是否相等。 (4)对“全体成绩”的分布进行检验,首先估计期望和方差,画出正态分布的密度函数曲线以及样本密度散点,对假设的正态分布进行检验。 Matlab程序实现: sy=[606063634069656072676278829069607276789369689571836073736074777185708960617762686070668474696160867369747174]; se=[508167657771766289656562626078816670805369666148666961606085526860746062436160606470746573796043766663606068606060677464]; alpha=0.05;%取显著水平为0.05 sy1=length(sy);se1=length(se);%人数 sy2max=max(sy);sy2min=min(sy);se2max=max(se);se2min=min(se);%最大值,最小值 sy3=range(sy);se3=range(se);%极差 sy4=mean(sy);se4=mean(se);%平均分 sy5=sqrt(sum((sy-sy4).^2)/(sy1));se5=sqrt(sum((se-se4).^2)/(se1));%标准差 %sy5=std(sy);se5=std(se);或 sy6=length((find(sy>=60)));se6=length((find(se>=60)));%及格人数 sy7=length((find(sy>=80)));se7=length((find(se>=80)));%优秀人数 sy8=sy6/sy1;se8=se6/se1;%及格率 sy9=sy7/sy1;se9=se7/se1;%优秀率 fprintf('\t人数\t平均分\t最小值\t最大值\t极差\t\t标准差\t\t及格人数及格率\t优秀人数优秀率\n'); fprintf('--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------\n'); fprintf('数学%4d\t%10.4f\t%4d\t\t%4d\t\t%4d\t\t%10.4f\t%4d\t%10.4f\t%4d\t%10.4f\n',sy1,sy4,sy2min,sy2max,sy3,sy5,sy6,sy8,sy7,sy9) fprintf('信计%4d\t%10.4f\t%4d\t\t%4d\t\t%4d\t\t%10.4f\t%4d\t%10.4f\t%4d\t%10.4f\n',se1,se4,se2min,se2max,se3,se5,sy6,sy8,se7,se9) fprintf('\n'); %方法一 fprintf('检验数学和信计的方差是否相等\n'); [h1,p1,varci1,stats1]=vartest2(sy,se,alpha,'both'); if(h1==0) disp('结果: 方差相等'); else disp('结果: 方差不相等'); end fprintf('\n'); %%方法二 %F=sy5^2/se5^2;%统计量F,满足F分布 %alpha=0.05;%取显著水平为0.05 %Fla1=finv(alpha/2,sy1-1,se1-1);Fla2=finv(1-alpha/2,sy1-1,se1-1);%求F的临界值 %if(F>Fla1&&F %MM='数学分析1和数学分析2的方差无显著差异'; %else %MM='数学分析1和数学分析2的方差有显著差异'; %end %fprintf('检验数学分析1和数学分析2的方差是否相等\n'); %fprintf('统计量F的值\t\t\t显著性水平\t\t临界值\t\t\t\t\t检验结果\n'); %fprintf('%.4f\t\t\t\t%.4f\t\t\t%.4f\t\t\t%15s\n',F,alpha,Fla1,MM); %fprintf('\n\n'); %方法一 fprintf('检验数学和信计的平均分是否相等\n'); [h2,p2,muci2,stats2]=ttest2(sy,se,alpha,'both'); if(h2==0) disp('结果: 平均分相等'); else disp('结果: 平均分不相等'); end fprintf('\n'); %%方法二 %%%%%方法三 %sw=((sy1-1)*sy5^2+(se1-1)*se5^2)/(sy1+se1-2); %T=(sy4-se4)/sw/sqrt(1/sy1+1/se1);%统计量T,满T分布 %Tla1=tinv(alpha/2,sy1+se1-2);Tla2=tinv(1-alpha/2,sy1+se1-2);%求出T的临界值 %if(abs(T) %XX='数学分析1和数学分析2的平均分无显著差异'; %else %XX='数学分析1和数学分析2的平均分有显著差异'; %end %fprintf('检验数学分析1和数学分析2的平均分是否相等\n'); %fprintf('统计量T的值\t\t\t显著性水平\t\t临界值\t\t\t\t\t检验结果\n'); %fprintf('%.4f\t\t\t\t%.4f\t\t\t%.4f? ? %.4f\t\t%15s\n',T,alpha,Tla1,Tla2,XX); %fprintf('\n\n'); p=(sy7+se7)/(sy1+se1); U=(sy9-se9)/sqrt((sy9+se9)*p*(1-p)); Ua=norminv(1-alpha/2); if(abs(U)>Ua) disp('优秀率无显著差异'); else disp('优秀率有显著差异'); end p=(sy6+se6)/(sy1+se1); U=(sy8-se8)/sqrt((sy8+se8)*p*(1-p)); Ua=norminv(1-alpha/2); if(abs(U)>Ua) disp('及格率无显著差异'); else disp('及格率有显著差异'); end [h3,p3,kstat3,critval3]=lillietest(sy,alpha); if(h3==1) disp('数学不是正态分布') else disp('数学是正态分布') end [h4,p4,kstat4,critval4]=lillietest(se,alpha); if(h4==1) disp('信计不是正态分布') else disp('信计是正态分布') end % %hist(sy)%直方图 %[h5,p5,stats5]=chi2gof(sy)%可以检验分布 %cdf=[sy,normcdf(sy,sy4,sy5)] %[h5,p5,ksstat,cv5]=kstest(sy,cdf) %a=0: 1: 100; %a=a'; %CDF=[a,cdf(a,sy4,sy5)]; %h=kstest(sy,CDF,0.05); S=[656568817476686982777466737277606281666876607480906960636867696260606067607767606060717260666186646060897374434061956970626663627874605076626584706983734371707371697460616070747848936461797153606052636061656278606560858589696660]; [h,p,jbstat,critval]=jbtest(S,alpha); if(h==0) disp('服从正态分布'); else disp('不服从正态分布'); end savg=mean(S); svar=var(S); x=20: 130; y=normpdf(x,savg,sqrt(svar)); d=5; a=20: d: 130; pdf=hist(S,a)./length(S)./d; plot(x,y,'r'); holdon scatter(a,pdf,'filled'); holdoff 输出: >>lx3_1_lrj_41521335 人数平均分最小值最大值极差标准差及格人数及格率优秀人数优秀率 -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 数学5470.666740955510.0885530.981590.1667 信计6065.51674389469.2313530.981550.0833 检验数学和信计的方差是否相等 结果: 方差相等 检验数学和信计的平均分是否相等 结果: 平均分不相等 优秀率有显著差异 及格率有显著差异 数学不是正态分布 Warning: Pislessthanthesmallesttabulatedvalue,returning0.001. >Inlillietest(line206) Inlx3_1_lrj_41521335(line99) 信计不是正态分布 服从正态分布 六、方差分析 【例1】(单因素方差分析) 考虑温度对某化工产品得率的影响,选择五种不同温度进行试验,每一温度各做三次试验。 方法一: 自编程序 clearall X=[90,92,88;97,93,92;96,96,93;84,83,88;84,86,82]; a=5; ni=[3,3,3,3,3];%每个因素的样本数 n=sum(ni);%样本总数 %T=sum(sum(X));%先求每列的和,再求总和 %求所有样本的和T,平方和,及ST,SA,SE T=0;ST=0;SA=0;SE=0; fori=1: a Ti=0; forj=1: ni(i) T=T+X(i,j); Ti=Ti+X(i,j); ST=ST+X(i,j)^2; end SA=SA+Ti^2/ni(i); end ST=ST-T^2/n;%总偏差平方和 SA=SA-T^2/n;%效应平方和 SE=ST-SA;%误差平方和 F=(SA/(a-1))/(SE/(n-a));%F比 alpha1=0.05;%显著性水平 la1=finv(1-alpha1,a-1,n-a);%由F分布的累积概率,求临界值,P{F alpha2=0.01;%显著性水平 la2=finv(1-alpha2,a-1,n-a);%由F分布的累积概率,求临界值,P{F p=1-fcdf(F,a-1,n-a);%计算F比值做为临界点的右侧概率p=1-P{X ifF>la2 xzx='**'; elseifF>la1 xzx='*'; else xzx='-'; end fprintf('来源\t\t平方和\t\t自由度\t\t均方和\t\tF比\t\t显著性\n'); fprintf('效应A\t\t%.2f\t\t%4d\t\t%.2f\t\t%.2f\t\t%.4f\n',SA,a-1,SA/(a-1),F,p); fprintf('误差\t\t%.2f\t\t%4d\t\t%.2f\t\t\t\t%4s\n',SE,n-a,SE/(n-a),xzx); fprintf('总和\t\t%.2f\t\t%4d\t\t临界值=%.2f(%.2f),%.2f(%.2f)\n',ST,n-1,la1,alpha1,la2,alpha2); fprintf('\n\n'); 运行结果为: 来源平方和自由度均方和F比显著性 效应A303.60475.9015.18** 误差50.00105.000.000299 -------------------------------------------------------------------------------- 总和353.6014临界值=3.48(0.05),5.99(0.01) -------------------------------------------------------------------------------- 方法二: 调用matlab工具anova1(X'),其中矩阵X’表示X的转置,即该函数每一列为一个因素。 运行结果为 【例7.2】(没有交互作用的多因素方差分析) 一火箭使用了四种燃料,三种推进器,作射程试验。 X=[58.2,56.2,65.3;49.1,54.1,51.6;60.1,70.9,39.2;75.8,58.2,48.7]; 方法一: 自编程序,运行结果为 58.200056.200065.3000 49.100054.100051.6000 60.100070.900039.2000 75.800058.200048.7000 来源平方和自由度均方和F比显著性 效应A157.59352.530.4306×(0.738747) 效应B223.852111.920.9174×(0.449118) 误差731.986122.00 总和1113.4211临界值=4.76(0.05),5.14(0.05) -------------------------------------------------------------------------------------------------------------------------- 方法二: 调用matlab工具anova2(X) 【练习3.2】单因素方差分析 (1)对四个班的“数学分析一”进行方差分析; (2)对全体学生的数学类的课进行方差分析。 Matlab程序实现: X=[60,60,63,63,40,69,65,60,72,67,62,78,82,90,69,60,72,76,78,93,69,68,95,71,83,60;73,73,60,74,77,71,85,70,89,60,61,77,62,68,60,70,66,84,74,69,61,60,86,73,69,74;50,81,67,65,77,71,76,62,89,65,65,62,62,60,78,81,66,70,80,53,69,66,61,48,66,69;68,60,74,60,62,43,61,60,60,64,70,74,65,73,79,60,43,76,66,63,60,60,68,60,60,60]; anova1(X') a=4; ni=[26,26,26,26];%每个因素的样本数 n=sum(ni);%样本总数 %T=sum(sum(X));%先求每列的和,再求总和 %求所有样本的和T,平方和,及ST,SA,SE T=0;ST=0;SA=0;SE=0; fori=1: an Ti=0; forj=1: ni(i) T=T+X(i,j); Ti=Ti+X(i,j); ST=ST+X(i,j)^2; end SA=SA+Ti^2/ni(i); end ST=ST-T^2/n;%总偏差平方和 SA=SA-T^2/n;%效应平方和 SE=ST-SA;%误差平方和 F=(SA/(a-1))/(SE/(n-a));%F比 alpha1=0.05;%显著性水平 la1=finv(1-alpha1,a-1,n-a);%由F分布的累积概率,求临界值,P{F alpha2=0.01;%显著性水平 la2=finv(1-alpha2,a-1,n-a);%由F分布的累积概率,求临界值,P{F p=1-fcdf(F,a-1,n-a);%计算F比值做为临界点的右侧概率p=1-P{X ifF>la2 xzx='**'; elseifF>la1 xzx='*'; else xzx='-'; end fprintf('\t\t\t对四个班的数学分析一\n\n') fprintf('来源\t\t平方和\t\t\t自由度\t\t\t均方和\t\t\tF比\t\t显著性\n');
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 北京科技大学 概率论 数理统计 上机 报告