资源描述
院 系: 数学学院
专 业: 信息与计算科学
年 级: 2014级
学生姓名: 王继禹
学 号: 201401050335
教师姓名: 徐霞
1、考察温度x对产量y的影响,测得下列10组数据:
温度(℃)
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
求y关于x的线性回归方程,检验回归效果是否显著,并预测x=42℃时产量的估值及预测区间(置信度95%).
解:
(1)输入数据:
x=[20 25 30 35 40 45 50 55 60 65]';
X=[ones(10,1) x];
Y=[13.2 15.1 16.4 17.1 17.9 18.7 19.6 21.2 22.5 24.3]';
(2) 回归分析及检验:
输入以下命令:
[b,bint,r,rint,stats]=regress(Y,X)
得结果:
b =
9.1212
0.2230
bint =
8.0211 10.2214
0.1985 0.2476
stats =
0.9821 439.8311 0.0000 0.2333
即 , 的置信区间为[8.0211,10.2214], 的置信区间为[0.1985,0.2476], ,p<0.05, 可知回归模型成立。 y关于x的线性回归方程的回归效果是显著的。
(3) 残差分析,作残差图:
在(2)输入命令得出结果的基础上,再输入命令:
rcoplot(r,rint)
得到残差图1:
图1
从残差图图1可以看出,所有数据的残差离零点均较近,且残差的置信区间均包含零点,这说明回归模型能较好地符合原始数据。
(4)预测及作图
在(3)的命令基础上,再输入以下命令:
z=b(1)+b(2)*x
再输入作图命令:
plot(X,Y,'k+',X,z,'r')
得到各数据点及回归方程的图形如图2.
图2
结论:由图2可以看出回归直线很好的拟合了所有数据点。
(5)计算当x=42℃时,产量的估值及预测区间:
在(4)的命令基础上,输入以下程序:
x=42;
>> z0=b(1)+b(2)*x
得结果:
z0 =
18.488
所以,当x=42℃时,产量的估值为18.488kg及预测区间为[16.3581,20.6206] (置信度95%)。
2、某零件上有一段曲线,为了在程序控制机床上加工这一零件,需要求这段曲线的解析表达式,在曲线横坐标xi处测得纵坐标yi共11对数据如下:
xi
0
2
4
6
8
10
12
14
16
18
20
yi
0.6
2.0
4.4
7.5
11.8
17.1
23.3
31.2
39.6
49.7
61.7
求这段曲线的纵坐标y关于横坐标x的二次多项式回归方程.
解:
(1) 输入数据:
x=[0 2 4 6 8 10 12 14 16 18 20];
y=[0.6 2.0 4.4 7.5 11.8 17.1 23.3 31.2 39.6 49.7 61.7];
(2)作二次多项式回归:
[p,s]=polyfit(x,y,2)
得结果:
p =
0.1403 0.1971 1.0105
S =
R: [3x3 double]
df: 8
normr: 1.1097
即这段曲线的纵坐标y关于横坐标x的二次多项式回归方程为
(3) 预测及作图
在matlab中输入的程序:
x=[0 2 4 6 8 10 12 14 16 18 20];
y=[0.6 2.0 4.4 7.5 11.8 17.1 23.3 31.2 39.6 49.7 61.7];
[p,s]=polyfit(x,y,2)
得出结果再输入:
Y=polyconf(p,x,S);
得出结果再输入:
plot(x,y,’k+’,Y,’r’)
得到试验点与回归曲线的图形(图3)。
图3
3.某校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) 若检验符合正态分布,估计正态分布的参数并检验参数.
解:在MATLAB中建立m文件:Untitled.m输入数据:
x1=[93 75 83 93 91 85 84 82 77 76 77 95 94 89 91];
x2=[88 86 83 96 81 79 97 78 75 67 69 68 84 83 81];
x3=[75 66 85 70 94 84 83 82 80 78 74 73 76 70 86];
x4=[76 90 89 71 66 86 73 80 94 79 78 77 63 53 55];
x=[x1 x2 x3 x4];
(1)计算均值,标准差,极差,偏度,峰度,画出直方图
均值:j=mean(x)
标准差:b=std(x)
偏度:p=skewness(x)
峰度:f=kurtosis(x)
建立M文件:
Untitled2.m:
x1=[93 75 83 93 91 85 84 82 77 76 77 95 94 89 91];
x2=[88 86 83 96 81 79 97 78 75 67 69 68 84 83 81];
x3=[75 66 85 70 94 84 83 82 80 78 74 73 76 70 86];
x4=[76 90 89 71 66 86 73 80 94 79 78 77 63 53 55];
x=[x1 x2 x3 x4];
j=mean(x) %¾ùÖµ
b=std(x) %±ê×¼²î
p=skewness(x) %Æ«¶È
f=kurtosis(x) %·å¶È
结果:
Untitled2
j =
80.1000
b =
9.7106
p =
-0.4682
f =
3.1529
极差:
用z表示极差。
编写M文件:Untitled1.m
x1=[93 75 83 93 91 85 84 82 77 76 77 95 94 89 91];
x2=[88 86 83 96 81 79 97 78 75 67 69 68 84 83 81];
x3=[75 66 85 70 94 84 83 82 80 78 74 73 76 70 86];
x4=[76 90 89 71 66 86 73 80 94 79 78 77 63 53 55];
X=[min(x1);min(x2);min(x3);min(x4)];
Y=[max(x1);max(x2);max(x3);max(x4)];
z=max(Y)-min(X)
运行结果:
z =
44
画出直方图:
描绘直方图的命令:hist(data,k);
建立m文件:Untitled3.m
x1=[93 75 83 93 91 85 84 82 77 76 77 95 94 89 91];
x2=[88 86 83 96 81 79 97 78 75 67 69 68 84 83 81];
x3=[75 66 85 70 94 84 83 82 80 78 74 73 76 70 86];
x4=[76 90 89 71 66 86 73 80 94 79 78 77 63 53 55];
x=[x1 x2 x3 x4];
hist(x,10)
图4 频数直方图
从图4可以知道,学生成绩可以大致看作近似服从正态分布。
(2) 检验分布的正态性
在Matlab中输入命令:
x1=[93 75 83 93 91 85 84 82 77 76 77 95 94 89 91];
x2=[88 86 83 96 81 79 97 78 75 67 69 68 84 83 81];
x3=[75 66 85 70 94 84 83 82 80 78 74 73 76 70 86];
x4=[76 90 89 71 66 86 73 80 94 79 78 77 63 53 55];
x=[x1 x2 x3 x4];
normplot(x)
运行结果:
从图5可以看出,数据基本分布在一条直线上,故初步可以断定学生考试成绩为正态分布。
图5 正态概率图
(3) 若检验符合正态分布,估计正态分布的参数并检验参数
在基本确定数据的分布后,就可以进行该数据的参数估计。
[muhat,sigmahat,muci,sigmaci]=normfit(x)
在matlab中输入命令:
>> x1=[93 75 83 93 91 85 84 82 77 76 77 95 94 89 91];
x2=[88 86 83 96 81 79 97 78 75 67 69 68 84 83 81];
x3=[75 66 85 70 94 84 83 82 80 78 74 73 76 70 86];
x4=[76 90 89 71 66 86 73 80 94 79 78 77 63 53 55];
x=[x1 x2 x3 x4];
>> [muhat,sigmahat,muci,sigmaci]=normfit(x)
运行结果:
muhat =
80.1000
sigmahat =
9.7106
muci =
77.5915
82.6085
sigmaci =
8.2310
11.8436
估计出学生成绩的均值为80,标准差为10,均值的0.95置信区间为[77.6,82.6],标准差的0.95置信区间为[8.2,11.8]。
已知60名学生的成绩服从正态分布,现在在方差未知的情况下,检验其均值m是否等于80.
在matlab中的命令如下:
[h,sig,ci]=ttest(x,80)
程序:
>> x1=[93 75 83 93 91 85 84 82 77 76 77 95 94 89 91];
x2=[88 86 83 96 81 79 97 78 75 67 69 68 84 83 81];
x3=[75 66 85 70 94 84 83 82 80 78 74 73 76 70 86];
x4=[76 90 89 71 66 86 73 80 94 79 78 77 63 53 55];
x=[x1 x2 x3 x4];
>> [h,sig,ci]=ttest(x,80)
结果:
h =
0
sig =
0.9367
ci =
77.5915 82.6085
说明:h =0,sig=0.9367,ci=[77.5915 82.6085]。
检验结果
(1)布尔变量h=0,表示不拒绝零假设,说明提出的假设学生成绩均值80是合理的。
(2)95%的置信区间为[77.6,82.6],它完全包括80,且精度很高。
(3)sig的值为0.9367,远超过0.5,不能拒绝零假设。
所以,可以认为学生成绩的平均成绩为80.
展开阅读全文