【实验目的及要求】
I.熟练掌握Matlab编程中常见概率分布的概率密度、概率分布、逆分布、均值和方差等语句的调用格式,学会用Matlab对服从各种分布的样本进行参数估计和假设检验。对实际问题,能够进行样本的分析,得出服从哪种分布的预测,依该分布进行参数估计和假设检验。
II.熟练掌握Matlab编程中线性回归、多项式回归、多元二项式回归、非线性回归、逐步回归等语句的调用格式,学会用Matlab对各种数据样本进行回归分析,并分析回归结果,对回归进行评价。对实际问题,能够进行数据样本的分析,选用哪种方式进行回归模拟,依该回归进行预测。
【实验过程】(实验步骤、绘图、记录、数据、分析、结果及实验教师评语(可选))
一.实验题目
1.某校60名学生的一次考试成绩如下:
93 75 83 93 91 85 84 82 77 76 77 95 94 89 91 88 86 83 96
81
79 97 78 75 67 69 68 84 83 81 75 66 85 70
94 84 83 82 80 78
74 73 76 70 86 76 90 89 71 66 86 73 80 94
79 78 77 63 53 55
1)计算均值、标准差、极差、偏度、峰度,画出直方图;
2)检验分布的正态性;
3)若检验符合正态分布,估计正态分布的参数并检验参数.
解:主程序shiyan1.m如下:
clear,clc
x=[93 75 83 93 91 85 84 82 77 76 77 95 94 89 91 88 86 83 96 81
79 97 78 75 67 69 68 84 83 81 75 66 85 70 94 84 83 82 80 78 74 73
76 70 86 76 90 89 71 66 86 73 80 94 79 78 77 63 53 55];
jun_zhi=mean(x)
biao_zhun_cha=std(x)
ji_cha=range(x)
pian_du=skewness(x)
feng_du=kurtosis(x)
figure(1);
hist(x,6);
figure(2);
normplot(x);
[muhat,sigmahat,muci,sigmaci]=normfit(x)
[h,sig,ci]=ttest(x,muhat)
结果分析:
(1).均值、标准差、极差、偏度、峰度分别为:
jun_zhi =80.1000;biao_zhun_cha =9.7106;ji_cha =44;pian_du
=-0.4682;feng_du =3.1529
频率直方图为:
(2).对数据总体分布进行检验,数据基本上分布在一条直线上,初步判断成绩服从正态分布,
对数据进行参数估计:
muhat =80.1000,sigmahat =9.7106
muci =[77.5915, 82.6085],sigmaci =[8.2310, 11.8436]
即:估计出均值为80.1000,标准差为9.7106,均值的0.95置信区间为[77.5915
82.6085],标准差的置信区间为[8.2310 11.8436],
(3).假设检验结果:
h =0;表示不拒绝零假设,说明提出的假设均值为80.1000是合理的。
sig =1;远超过0.05,不能拒绝原假设。
ci =[77.5915 82.6085],95%的置信区间为[77.5915 82.6085],它包括80.1000,且精度很高.
2. 下表分别给出两个文学家马克﹒吐温(Mark
Twain)的八篇小品文及斯诺特格拉斯(Snodgrass)的10篇小品文中由3个字母组成的词的比例。
马克﹒吐温0.225 0.262 0.217 0.240 0.230 0.229 0.235 0.217
斯诺特格拉斯 0.209 0.205 0.196 0.210 0.202 0.207 0.224 0.223 0.220 0.201
设两组数据分别来自正态总体,且两总体方差相等。两样本相互独立,问两个作家所写的小品文中包含由3个字母组成的词的比例是否有显著的差异(取
=0.05)?
解:主程序shiyahn2.m如下:
clear,clc
Close all
m=[ 0.225 0.262
0.217 0.240 0.230 0.229 0.235 0.217 ];
s=[ 0.209 0.205 0.196 0.210 0.202 0.207 0.224 0.223 0.220 0.201];
[h,sig,ci]=ttest2(m,s,0.05,0)
结果分析:
h=1有理由拒绝原假设,所以两个作家所写的小品文中包含由3个字母组成的词的比例有显著的差异,
Sig=0.0013,远小于0.05,不能接受没有显著性差异的假设。所以可以任为马克吐温小说中的三个字母
的单词的比例要比斯格拉斯小说中的三个字母的单词的比例有显著性差异。
(�的置信区间)ci =[
0.0101 0.0343],说明Mark
Twain的八篇小品文比斯诺特格拉斯(Snodgrass)的10篇小品文中由3个字母组成的词的比例高约%1-%3.4。
3. 考察温度 对产量 的影响,测得下列10组数据:
温度(°C)
20
25
30
35
40
45
50
55
60
65
产量(kg)
13.2
15.1
16.4
17.1
17.9
18.7
19.6
21.2
22.5
24.3
求 关于 的线性回归方程,检验回归效果是否显著,并预测
°C时产量的估值及预测区间(置信度95%)。
解:主程序
x1=[20 25 30 35 40 45 50 55 60 65]';% x=20:5:65;
y=[13.2 15.1 16.4 17.1 17.9 18.7 19.6 21.2 22.5
24.3]';
X=[ones(10,1) x1];
[b,bint,r,rint,stas]=regress(y,X);
b,stas
%y=b(1)+b(2).*42 (42度时的预测值可以由此表达式给出,也可以从下面的命令中得到)
polytool(x1,y,1) %此命令亦可以给出回归系数,此处主要是用来返回42对应的y值和预测区间.
%也可以用rstool,但是与上面的预测区间不一样
rstool(x1,y,'linear')
Regress返回的结果
b = 9.1212
0.2230 %回答问题时,一定要知道哪一个是模型中的常数项,哪一个是一次项的系数.
stas = 0.9821 439.8311 0.0000 0.2333
y的98.21%可由模型确定,
F远超过F检验的临界值,p远小于a=0.05 ,则回归显著
polytool返回的结果(从Export输出)
yhat =
18.4885
yci =
17.3203 19.6566
4. 在研究化学动力学反应过程中,建立了一个反应速度和反应物含量的数学模型,形式为 其中
是未知参数,是三种反应物(氢,n戊烷,异构戊烷)的含量,y是反应速度.今测得一组数据如表4,试由此确定参数 ,并给出置信区间.
的参考值为(1,0.05, 0.02, 0.1, 2).
序号
反应速度y
氢x1
n戊烷x2
异构戊烷x3
1
8.55
470
300
10
2
3.79
285
80
10
3
4.82
470
300
120
4
0.02
470
80
120
5
2.75
470
80
10
6
14.39
100
190
10
7
2.54
100
80
65
8
4.35
470
190
65
9
13.00
100
300
54
10
8.50
100
300
120
11
0.05
100
80
120
12
11.32
285
300
10
13
3.13
285
190
120
解法一:
首先建立fun.m:
function f=fun(beta0,X)
x1=X(:,1);x2=X(:,2);x3=X(:,3);
beta1=beta0(1);beta2=beta0(2);beta3=beta0(3);beta4=beta0(4);beta5=beta0(5);
f=(beta1.*x2-x3./beta5)./(1+beta2.*x1+beta3.*x2+beta4.*x3);
主程序shiyan3.m:
clear,clc
close all
data=[8.55 470 300 10
3.79 285 80 10
4.82 470 300 120
0.02 470 80 120
2.75 470 80 10
14.39 100 190 10
2.54 100 80 65
4.35 470 190 65
13.00 100 300 54
8.50 100 300 120
0.05 100 80 120
11.32 285 300 10
3.13 285 190 120
];
X=data(:,2:4);
y=data(:,1);
beta0=[1 0.05 0.02 0.1 2]';
nlintool(X,y, 'fun',beta0,0.05)
[betahat,r,j]=nlinfit(X,y,
'fun',beta0) %r,j是下面命令用的信息
betaci=nlparci(betahat,r,j);%返回回归系数的置信区间(该命令不做要求)
betaa=[betahat,betaci] %回归系数及其置信区间
结果分析:
得到回归系数为:beta = 1.2526 0.0628 0.0400 0.1124 1.1914
即 ,并求得各 处的预测值为:
beta的显著性水平为0.05的置信区间为:
beta1:[-0.7467,3.2519]
beta2 :[-0.0377,0.1632]
beta3:[-0.0312,0.1113]
beta4:[-0.0609,0.2857]
beta5:[-0.7381,3.1208]
解法二:
主程序:
clear,clc
close all
data=[8.55 470 300 10
3.79 285 80 10
4.82 470 300 120
0.02 470 80 120
2.75 470 80 10
14.39 100 190 10
2.54 100 80 65
4.35 470 190 65
13.00 100 300 54
8.50 100 300 120
0.05 100 80 120
11.32 285 300 10
3.13 285 190 120
];
X=data(:,2:4);
y=data(:,1);
beta0=[1 0.05 0.02 0.1 2]';
[betahat,r,j]=nlinfit(X,y, 'fun',beta0);
%r,j是下面命令用的信息
betaci=nlparci(betahat,r,j);%返回回归系数的置信区间(该命令不做要求)
betaa=[betahat,betaci] %回归系数及其置信区间
结果:
betaa =
1.2526 -0.7467 3.2519
0.0628 -0.0377 0.1632
0.0400 -0.0312 0.1113
0.1124 -0.0609 0.2857
1.1914 -0.7381 3.1208
教材上的程序:
函数文件:
function yhat=huaxue(beta,x);
yhat=(beta(1)*x(:,2)-x(:,3)/beta(5))./(1+beta(2)*x(:,1)+beta(3)*x(:,2)+beta(4)*x(:,3));
end
主程序:
clc,clear
x0=[1 8.55 470 300 10
2 3.79 285 80 10
3 4.82 470 300 120
4 0.02 470 80 120
5 2.75 470 80 10
6 14.39 100 190 10
7 2.54 100 80 65
8 4.35 470 190 65
9 13.00 100 300 54
10 8.50 100 300 120
11 0.05 100 80 120
12 11.32 285 300 10
13 3.13 285 190 120
];
x=x0(:,3:5);
y=x0(:,2);
beta0=[0.1,0.05,0.02,0.1,2];%回归系数的初值
[betahat,r,j]=nlinfit(x,y, 'huaxue',beta0) %r,j是下面用的信息
betaci=nlparci(betahat,r,j)
[yhat,delta]=nlpredci('huaxue',x,betahat,r,j)