1、班级:信计1502组号:35 组员:何芝芝、吕瑞杰、陈彦睿 专业: 信息与计算科学 班级: 信计1502(35组) 学生姓名: 吕瑞杰 陈炎睿 何芝芝 指导教师: 张志刚 完成时间: 2024年5月11日 概率论与数理统计 第三次上机报告 - 1 - Matlab 概率论与
2、数理统计上机练习(3) 五、 假设检验 【例】(离散型分布检验) 某工厂近五年发生了63起事故,按星期几可以分为[9 10 11 8 13 12],问该厂发生的事故数是有与星期几有关? clear all mi=[9 10 11 8 13 12]; % 周一到周六的事故数 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; % 显著性水平 alpha
3、2=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);%右侧概率 if kai2>la2 xzx='**'; elseif kai2>la1 xzx='*'; else xzx='-'; end
4、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);
hold on
if kai2 5、\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'); 6、
hold off
离散型分布正态性检验
-------------------------------------------------------------------------------------
样本数 区间数 未知参数 自由度 开方和 临界值 右侧概率 显著性
-------------------------------------------------------------------------------------
63 6 0 5 1.6667 11.0705 0.8931 - 7、
-------------------------------------------------------------------------------------
【练习3.1】(基本计算,两个正态总体的假设检验,检验水平),对数学分析I
(1) 求课程中“专业(数学、信计)””的考试人数、平均分、最小值、最大值、极差、标准差、及格人数、及格率、优良人数(大于等于80)、优良率;写出标准差的计算公式。
(2) 对“专业(数学、信计)”,检验方差、平均分是否相等。
(3) 对“专业(数学、信计)”,检验及格率、优秀率是否相等。
(4) 对“全体成绩”的分布进行 8、检验,首先估计期望和方差,画出正态分布的密度函数曲线以及样本密度散点,对假设的正态分布进行检验。
Matlab程序实现:
sy=[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 71 74];
se=[50 81 67 65 77 71 76 62 89 65 65 62 62 60 78 81 66 70 80 9、 53 69 66 61 48 66 69 61 60 60 85 52 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 67 74 64];
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=me 10、an(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/se 11、1;%优秀率
fprintf('\t人数\t 平均分\t 最小值\t 最大值 \t极差\t\t标准差\t\t及格人数 及格率\t优秀人数 优秀率\n');
fprintf(' ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 12、\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 13、\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');
14、
% %方法二
% 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 15、计量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 16、'\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) 18、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 19、)
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: 20、1:100;
% a=a';
% CDF=[a,cdf(a,sy4,sy5)];
% h = kstest(sy,CDF,0.05);
S=[65 65 68 81 74 76 68 69 82 77 74 66 73 72 77 60 62 81 66 68 76 60 74 80 90 69 60 63 68 67 69 62 60 60 60 67 60 77 67 60 60 60 71 72 60 66 61 86 64 60 60 89 73 74 43 40 61 95 69 70 62 66 63 62 78 74 60 50 76 62 65 84 70 69 83 21、73 43 71 70 73 71 69 74 60 61 60 70 74 78 48 93 64 61 79 71 53 60 60 52 63 60 61 65 62 78 60 65 60 85 85 89 69 66 60];
[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; 22、
a=20:d:130;
pdf=hist(S,a)./length(S)./d;
plot(x,y,'r');
hold on
scatter(a,pdf,'filled');
hold off
输出:
>> lx3_1_lrj_41521335
人数 平均分 最小值 最大值 极差 标准差 及格人数 及格率 优秀人数 优秀率
--------------------------------------------------------------------------------------------------- 23、
数学 54 70.6667 40 95 55 10.0885 53 0.9815 24、9 0.1667
信计 60 65.5167 43 89 46 9.2313 53 0.9815 5 0.0833
检验数学和信计的方差是否相等
结果:方差相等
检验数学和信计的平均分是否相等
结果:平均分不相等
优秀率有显著差异
及格率有显著差异
数学不是正态分布
Warning: P is less than the smallest tabulated value, returning 0.001.
> In lillietest (line 206)
In lx3_1_ 25、lrj_41521335 (line 99)
信计不是正态分布
服从正态分布
六、 方差分析
【例1】(单因素方差分析)
考虑温度对某化工产品得率的影响,选择五种不同温度进行试验,每一温度各做三次试验。
方法一:自编程序
clear all
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; S 26、T=0; SA=0; SE=0;
for i=1:a
Ti=0;
for j=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, 27、a-1,n-a); %由F分布的累积概率,求临界值,P{F 28、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比 29、显著性
效应A 303.60 4 75.90 15.18 **
误差 50.00 10 5.00 0.000299
--------------------------------------------------------------------------------
总和 353.60 14 临界值=3.48(0.05),5.99(0.01)
--------------------------------------------------------------------------------
方法二:调用 30、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.2000 56.2000 65.3000
49.1000 54.1000 51.6000
60.1000 70.9000 39.2000
75.8000 31、 58.2000 48.7000
来源 平方和 自由度 均方和 F比 显著性
效应A 157.59 3 52.53 0.4306 ×(0.738747)
效应B 223.85 2 111.92 0.9174 ×(0.449118)
误差 731.98 6 122.00
总和 1113.42 11 临界值=4.76(0.05),5.14(0.05)
--------------------------------------------------------------------------- 32、
方法二:调用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, 33、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;
n 34、i=[26,26,26,26]; %每个因素的样本数
n=sum(ni); %样本总数
%T=sum(sum(X)); %先求每列的和,再求总和
%求所有样本的和T,平方和,及ST,SA,SE
T=0; ST=0; SA=0; SE=0;
for i=1:a n
Ti=0;
for j=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^ 35、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 36、 xzx='**';
elseif F>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');
fprintf(' 效应A\t\t%.2f\t\t\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\t%4s\n',SE,n-a,SE 37、/(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');
x=[60 60 74 72 75 64 81
60 76 73 76 78 73 95
63 73 81 84 85 95 85
63 48 66 74 60 50 74
40 40 32 46 25 54 39
69 96 98 84 77 91 93
65 61 72 70 60 60 73
60 76 73 89 75 80 6 38、7
72 87 89 87 94 97 94
67 85 84 90 85 94 93
62 80 78 64 67 80 78
78 100 96 93 92 97 97
82 89 88 80 90 90 92
90 87 94 85 93 97 85
69 76 79 69 81 86 85
60 61 82 74 60 71 65
72 71 81 70 66 67 78
76 60 83 80 63 51 84
78 85 83 78 84 92 83
93 99 97 84 90 85 96
69 60 75 77 67 72 72
68 61 63 7 39、2 74 85 85
95 99 84 91 87 95 89
71 94 93 81 94 87 96
83 77 77 75 85 90 86
60 63 77 68 68 79 85
73 92 88 75 82 88 79
73 85 84 87 88 90 96
60 78 78 80 76 88 89
74 99 91 87 90 92 92
77 96 92 90 91 94 96
71 72 87 87 85 80 88
85 99 98 96 95 94 97
70 84 87 83 81 83 89
89 91 82 90 91 91 96
60 40、 69 77 89 60 73 82
61 72 81 85 75 92 88
77 80 84 75 86 85 91
62 71 77 73 66 80 87
68 88 82 82 89 81 89
60 60 66 69 66 50 73
70 60 71 80 72 92 90
66 64 70 86 71 78 93
84 100 84 87 90 95 94
74 87 81 85 91 84 81
69 81 81 82 88 78 92
61 64 60 63 70 81 73
60 65 65 73 61 66 74
86 100 98 87 96 41、 90 88
73 64 77 81 86 83 92
69 60 72 73 75 78 78
74 74 86 85 95 90 91
71 73 75 83 82 80 78
74 71 78 77 76 76 93
50 62 67 70 68 78 74
81 90 94 86 91 90 91
67 90 91 85 88 85 90
65 52 43 56 65 62 76
77 99 93 90 90 95 96
71 45 64 72 63 83 66
76 73 93 88 92 74 90
62 85 77 77 87 87 89
89 94 42、93 93 91 92 95
65 52 39 85 68 82 60
65 61 40 85 76 74 68
62 37 45 53 64 55 71
62 85 63 91 77 91 88
60 49 39 68 50 71 49
78 92 80 91 93 78 92
81 99 98 88 95 91 99
66 87 83 93 82 85 91
70 71 82 83 78 87 90
80 99 89 92 96 94 96
53 66 75 74 69 62 78
69 81 78 91 91 75 94
66 77 85 82 84 95 79 43、
61 60 44 61 60 61 66
48 34 63 64 41 66 60
66 50 36 72 60 71 63
69 63 63 72 66 60 71
61 49 32 72 53 78 60
60 60 63 79 60 70 81
60 71 67 89 83 68 82
85 86 80 80 60 82 65
52 36 45 53 46 48 52
68 71 89 69 61 86 83
60 45 45 83 39 75 60
74 60 80 83 88 90 81
60 87 75 89 93 90 89
62 50 30 73 44、64 76 71
43 60 65 68 62 70 60
61 68 69 72 76 79 77
60 64 67 86 70 77 79
60 86 78 75 75 83 83
64 60 67 71 46 73 60
70 69 67 79 64 77 80
74 69 76 66 65 80 68
65 79 80 87 83 80 85
73 92 89 84 86 84 96
79 74 83 82 74 85 90
60 60 62 83 73 87 73
43 60 67 83 80 90 70
76 77 96 89 96 91 96
66 6 45、0 70 72 61 74 72
63 77 89 88 77 92 87
60 48 68 56 68 71 71
60 61 63 66 65 60 63
68 76 82 75 81 84 77
60 51 63 67 39 73 69
60 67 82 83 78 86 86
60 64 73 79 72 81 86
67 87 89 87 87 88 97
74 73 69 86 90 95 95
64 62 64 82 79 91 85
];
X=x';
a=7;
ni=[114,114,114,114,114,114,114]; %每个因素的样本 46、数
n=sum(ni); %样本总数
%T=sum(sum(X)); %先求每列的和,再求总和
%求所有样本的和T,平方和,及ST,SA,SE
T=0; ST=0; SA=0; SE=0;
for i=1:a
Ti=0;
for j=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; 47、 % 误差平方和
F=(SA/(a-1))/(SE/(n-a)); % F比
alpha1=0.05; % 显著性水平
la1=finv(1-alpha1,a-1,n-a); %由F分布的累积概率,求临界值,P{F 48、 xzx='*';
else
xzx='-';
end
fprintf('\t\t\t全体数学课程\n\n')
fprintf(' 来源\t\t平方和\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\t%4s\n',SE,n-a,SE/(n-a),xzx);
fprintf(' 总和\t\t%.2f\t\ 49、t%4d\t\t临界值=%.2f(%.2f),%.2f(%.2f)\n',ST,n-1,la1,alpha1,la2,alpha2);
fprintf('\n\n');
输出:
方法一:
对四个班的数学分析一
来源 平方和 自由度 均方和 F比 显著性
效应A 906.26 3 302.09 3.13 0.0289
误差 9636.27 100 96.36 *
总和 10542.53 103 临界值=2.70(0.05),3.98(0.0 50、1)
全体数学课程
来源 平方和 自由度 均方和 F比 显著性
效应A 15804.93 6 2634.15 15.34 0.0000
误差 135824.95 791 171.71 **
总和 151629.87 797 临界值=2.11(0.05),2.82(0.01)
方法二:
七、回归分析
【例1】(一元线性回归)
以三口之家为单位,某食品在某年中平均月消费量(kg)与其价格(元/kg)之间的关系。
方法一:自编程序
clear all
x=[2,2,






