实验11统计回归模型4学时Word文档下载推荐.docx
《实验11统计回归模型4学时Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《实验11统计回归模型4学时Word文档下载推荐.docx(64页珍藏版)》请在冰豆网上搜索。
![实验11统计回归模型4学时Word文档下载推荐.docx](https://file1.bdocx.com/fileroot1/2022-10/13/d1f1e277-7502-4662-b215-81643f260e10/d1f1e277-7502-4662-b215-81643f260e101.gif)
93.803.655.25-0.157.10
103.854.006.000.158.00
113.904.106.500.207.89
123.904.006.250.108.15
133.704.107.000.409.10
143.754.206.900.458.86
153.754.106.800.358.90
163.804.106.800.308.87
173.704.207.100.509.26
183.804.307.000.509.00
193.704.106.800.408.75
203.803.756.50-0.057.95
213.803.756.25-0.057.65
223.753.656.00-0.107.27
233.703.906.500.208.00
243.553.657.000.108.50
253.604.106.800.508.75
263.654.256.800.609.21
273.703.656.50-0.058.27
283.753.755.7507.67
293.803.855.800.057.93
303.704.256.800.559.26
1.1(验证)基本模型p325~329
先保存上面的p325.txt文件。
(1)绘制y对x1的散点图
程序如下:
M=dlmread('
p325.txt'
);
%读取ASCII码文件
x1=M(:
5);
y=M(:
6);
plot(x1,y,'
bo'
[提示:
dlmread将以ASCII码分隔的数值数据文件读入到矩阵中]
dlmread:
读取ASCII码文件的MATLAB函数
fun.txt'
fun.m是一个数据文件,存放一个数据矩阵,将文件内容写入M。
☆
(1)运行程序并给出结果(比较[327]图1):
(2)确定y对x1的拟合,绘制散点图与拟合曲线组合图形
从y对x1的散点图可以发现,可用线性模型(直线)
来拟合(其中ε是随机误差)。
clc;
formatshortg;
b=regress(y,[ones(size(x1)),x1]);
%b=[β0β1]'
,列向量
x1=sort(x1);
%按升序排序,用于画图
y=[ones(size(x1)),x1]*b;
%使用矩阵乘法
holdon;
-r'
holdoff;
regress多元线性回归函数调用格式]
[b,bint,r,rint,stats]=regress(y,x,alpha)
例,多元回归模型为:
输入:
y为n(=30)维列向量数据。
x为对应于回归系数(β0,β1,β2,β3)'
的数据矩阵[1x1x2x22](30×
4矩阵,第1列全1)。
alpha为置信水平(缺省时为0.05)。
输出:
b为β=(β0,β1,β2,β3)'
估计值,4维列向量。
bint为b的置信区间,4×
2矩阵。
r为残差n(=30)维列向量y-xβ。
rint为r的置信区间,30×
stats为回归模型的检验统计量,含4个值:
R2回归方程的决定系数(R是相关系数)
F统计值
P与F统计量对应的概率值
s2剩余方差
☆
(2)运行程序并给出结果(比较[327]图1):
(3)绘制y对x2的散点图
x2=M(:
4);
plot(x2,y,'
☆(3)运行程序并给出结果(比较[327]图2):
(4)确定y对x2的的拟合,绘制散点图与拟合曲线组合图形
从y对x2的散点图可以发现,可用二次函数模型
来拟合。
formatshortg;
b=regress(y,[ones(size(x2)),x2,x2.^2]);
%b=[β0β1β2]'
x2=sort(x2);
y=[ones(size(x2)),x2,x2.^2]*b;
%使用矩阵乘法
☆(4)运行程序并给出结果(比较[327]图2):
(5)y对x1,x2的回归模型及其求解,销售量预测
综上得回归模型
变量x1,x2为回归变量,参数β0,β1,β2,β3为回归系数。
formatcompact;
[b,bint,r,rint,stats]=regress(y,[ones(size(x1)),x1,x2,x2.^2],0.05);
fprintf('
%2s%5s%11s\n'
'
参数'
估计值'
置信区间'
%1个汉字算1个字符
fori=1:
length(b)
fprintf('
β%1d%9.4f[%7.4f,%7.4f]\n'
i-1,[b(i,:
),bint(i,:
)]);
end%%d将i当整数输出,%7.4f按实数格式输出,区域宽7个字符,4位小数
\nR2=%.4fF=%.4fp<
%.4es2=%.4f\n'
stats);
x1=0.2;
x2=6.5;
y=[1x1,x2,x2^2]*b;
\n销售量预测:
x1=%.1f,x2=%.1f,y=%.4f\n'
x1,x2,y);
fprintf输出到命令窗口或写数据到文本文件]
见参考资料:
MATLAB函数和命令的用法。
☆(5)运行程序并给出结果(比较[328]表2,[329]的预测结果):
1.2(验证,编程)模型改进p329~332
仍使用题1的数据。
(1)(编程)y对x1,x2的回归模型的改进和求解,销售量预测
改进的模型
参考题1(5)的程序,编写一个类似的程序,运行结果与教材p329~330的表3及相关结果相比较。
★
(1)给出程序和运行结果(比较[329]表3):
[b,bint,r,rint,stats]=regress(y,[ones(size(x1)),x1,x2,x2.^2,x1.*x2],0.05);
y=[1x1,x2,x2^2,x1.*x2]*b;
(2)(验证)完全二次多项式模型
运行以下程序(参考教材p331~332):
clear;
clc;
%读取ASCII码文件
x2=M(:
rstool([x1,x2],y,'
quadratic'
)
得以下的交互画面。
画面中的两个座标系给出y的估计值和预测区间。
用鼠标移动交互式画面中的十字线,或在图下方的窗口内输入,可改变x1和x2的数值。
改变x1=0.2,x2=6.5,观察窗口左边的y估计值和预测区间。
点击所得交互画面左下方的输出按钮“Export”,所得画面(导出到工作空间)第1个复选框是“将拟合参数存到一个名为beta的MATLAB变量中”,点击OK。
在命令窗口提示符键入变量名beta将得到参数(β0,β1,β2,β3,β4,β5)'
的值。
☆
(2)运行程序并给出结果:
参数(β0,β1,β2,β3,β4,β5)'
的值(比较[331]):
2.软件开发人员的薪金p332~338
在下面给出的数据中:
(存入文件p333.txt)
第1列编号
第2列薪金y
第3列资历x1(从事专业工作的年数)
第4列管理x2(1表示管理人员,0表示非管理人员)
第5列教育x3,x4(1表示中学程度x3x4=10,2为大学x3x4=01,3为更高程度x3x4=00)
0113876111
0211608103
0318701113
0411283102
0511767103
0620872212
0711772202
0810535201
0912195203
1012313302
1114975311
1221371312
1319800313
1411417401
1520263413
1613231403
1712884402
1813245502
1913677503
2015965511
2112366601
2221352