利用 Matlab作回归分析Word文档格式.docx
- 文档编号:21165160
- 上传时间:2023-01-28
- 格式:DOCX
- 页数:13
- 大小:139.98KB
利用 Matlab作回归分析Word文档格式.docx
《利用 Matlab作回归分析Word文档格式.docx》由会员分享,可在线阅读,更多相关《利用 Matlab作回归分析Word文档格式.docx(13页珍藏版)》请在冰豆网上搜索。
22.5
2.3
9
25.5
2.2
【分析】:
首先绘制散点图以直观地选择拟合曲线,这项工作可结合相关专业领域的知识和经验进行,有时可能需要多种尝试。
选定目标函数后进行线性化变换,针对变换后的线性目标函数进行回归建模与评价,然后还原为非线性回归方程。
【Matlab数据处理】:
【Step1】:
绘制散点图以直观地选择拟合曲线
x=[1.54.57.510.513.516.519.522.525.5];
y=[7.04.83.63.12.72.52.42.32.2];
plot(x,y,'
-o'
)
输出图形见图1。
图1销售额与流通费率数据散点图
根据图1,初步判断应以幂函数曲线为拟合目标,即选择非线性回归模型,目标函数为:
其线性化变换公式为:
线性函数为:
【Step2】:
线性化变换即线性回归建模(若选择为非线性模型)与模型评价
%线性化变换
u=log(x)'
;
v=log(y)'
%构造资本论观测值矩阵
mu=[ones(length(u),1)u];
alpha=0.05;
%线性回归计算
[b,bint,r,rint,states]=regress(v,mu,alpha)
输出结果:
b=[2.1421;
-0.4259]
表示线性回归模型
中:
lna=2.1421,b=-0.4259;
即拟合的线性回归模型为
bint=[2.06142.2228;
-0.4583-0.3934]
表示拟合系数lna和b的100(1-alpha)%的置信区间分别为:
[2.06142.2228]和[-0.4583-0.3934];
r=[-0.02350.0671-0.0030-0.0093-0.0404-0.0319-0.00160.01680.0257]
表示模型拟合残差向量;
rint=[-0.07000.0230
0.02020.1140
-0.08730.0813
-0.09390.0754
-0.11540.0347
-0.10950.0457
-0.08370.0805
-0.06210.0958
-0.04930.1007]
表示模型拟合残差的100(1-alpha)%的置信区间;
states=[0.9928963.55720.00000.0012]
表示包含
、
方差分析的F统计量
方差分析的显著性概率
模型方差的估计值
。
【注】:
严格来讲,模型评价工作应在逆线性化变换后进行;
但是,若所建立的线性回归方程不理想,则相应的非线性回归方程必定不理想。
【Step3】:
拟线性化变换求非线性回归方程(若选择为非线性模型)
%逆线性化变换
A=exp(b
(1))
B=b
(2)
运行结果为:
A=8.5173;
B=-0.4259。
即非线性回归方程为:
多元回归模型
多元线性回归模型(p>
1):
多元回归分析的相关数学理论可以参见《多元数据分析》,下面仅以示例说明如何利用Matlab作多元回归分析。
【例2】参见教材P294:
10.1牙膏的销售量。
【下面只描述运行程序的过程,应该按照规定格式书写报告】。
符号说明:
:
表示价格差;
广告费用;
销售量。
clear
clc
x1=[-0.050.250.6000.250.200.150.05-0.150.150.200.100.400.450.350.300.500.500.40-0.05-0.05-0.100.200.100.500.60-0.0500.050.55];
x2=[5.506.757.255.507.006.506.755.255.256.006.506.257.006.906.806.807.107.006.806.506.256.006.507.006.806.806.505.755.806.80];
y=[7.388.519.527.509.338.288.757.877.108.007.898.159.108.868.908.879.269.008.757.957.657.278.008.508.759.218.277.677.939.26];
h1=figure;
plot(x1,y,'
+'
);
h2=figure;
plot(x2,y,'
o'
图1y对x1的散点图
图2y对x2的散点图
分析图1,可以发现,随着x1的增加,y的值有比较明显的线性增长趋势;
分析图2,当x增大时,y有向上弯曲的趋势,可用二次多项式进行逼近;
因此可以选择如下方程作为初步的回归模型:
模型求解(理论方法:
最小二乘法)
v=[ones(length(x1),1)x1'
x2'
(x2.^2)'
];
[b,bint,r,rint,stats]=regress(y'
v,alpha)
计算结果:
b=[17.32441.3070-3.69560.3486]
bint=[5.728228.9206
0.68291.9311
-7.49890.1077
0.03790.6594]
r=[-0.0988-0.0795-0.1195-0.04410.4660-0.01330.29120.2735
-0.23510.1031-0.40330.17470.0400-0.15040.12840.1637
-0.0527-0.1907-0.0870-0.0165-0.1292-0.3002-0.2933-0.1679
-0.21770.11160.30350.06930.24740.2270]
rint=[-0.52700.3294;
-0.53090.3718;
-0.51060.2716;
-0.47310.3848;
0.08130.8507;
-0.46090.4343;
-0.13740.7197;
-0.08700.6340;
-0.59600.1258;
-0.32800.5341;
-0.81900.0125;
-0.26180.6112;
-0.40320.4832;
-0.59330.2925;
-0.32070.5775;
-0.28410.6116;
-0.48300.3776;
-0.62480.2434;
-0.53480.3609;
-0.44230.4092;
-0.56090.3024;
-0.71810.1177;
-0.72430.1377;
-0.55480.2190;
-0.64490.2095;
-0.29940.5226;
-0.10370.7106;
-0.37140.5099;
-0.18070.6755;
-0.18900.6430]
stats=[0.905482.94090.00000.0490]
【Step3】结果分析
回归模型为:
从结果数据来看,模型整体可用。
但也有缺陷,可以改进。
【Step4】销售量的预测
设需要预测的点为:
,则预测值为
记
,
则在
处的区间预测为:
【模型改进】:
当两个因素是不独立时,引入交叉项
,新的回归模型为
(x1.*x2)'
b=[29.113311.1342-7.60800.6712-1.4777]
bint=[13.701344.5252;
1.977820.2906;
-12.6932-2.5228;
0.25381.0887;
-2.8518-0.1037]
r=[-0.0441;
-0.1229;
0.0299;
-0.0745;
0.3841;
-0.0472;
0.2331;
0.0287;
-0.0661;
0.0297;
-0.4372;
0.1763;
0.0356;
-0.1382;
0.1027;
0.1270;
0.0048;
-0.1435;
-0.1016;
0.0050;
-0.0389;
-0.1334;
-0.3272;
-0.3274;
-0.2102;
0.1412;
0.3250;
0.1096;
0.2342;
0.2455]
rint=[-0.44250.3542;
-0.54080.2951;
-0.31010.3698;
-0.47360.3247;
0.02450.7437;
-0.46400.3695;
-0.16740.6337;
-0.23690.2943;
-0.37510.2430;
-0.36910.4284;
-0.8118-0.0627;
-0.23060.5832;
-0.37880.4499;
-0.55210.2757;
-0.31720.5226;
-0.29170.5456;
-0.39440.4039;
-0.54900.2621;
-0.51930.3160;
-0.39260.4026;
-0.43600.3582;
-0.50450.2378;
-0.72120.0667;
-0.6326-0.0221;
-0.60850.1881;
-0.23980.5223;
-0.04840.6984;
-0.29880.5181;
-0.16500.6335;
-0.13910.6302]
stats=[0.920972.77710.00000.0426]
结果分析:
效果更好。
逐步回归方法
要点:
【Step1】根据问题所属专业领域的理论和经验提出对因变量可能有影响的所有自变量;
【Step2】计算每一个自变量对因变量的相关系数,按其绝对值从大到小排序;
【Step3】取相关系数绝对值最大的那个自变量建立一元线性回归模型,检验所得回归方程的显著性,若检验表明回归效果则转入【Step4】,若检验表明回归效果不显著则停止建模;
【Step4】进行变量的追加、剔除和回归方程的更新操作。
Matlab命令:
【命令1】:
stepwisefit
【调用格式】:
[b,se,pval,inmodel,stats,nextstep,history]=stepwisefit(x,y,’param1’,value1,’param2’,value2,…)
【参数说明】:
X:
p个自变量的n个观测值的
矩阵;
Y:
因变量的n个观测值的
‘penter’:
设置回归方程显著性检验的显著性概率上限,缺省值为0.05;
‘premove’:
设置回归方程显著性检验的显著性概率下限,缺省值为0.10;
‘display’:
用来指明是否强制显示建模过程信息,取值为‘on’(显示,缺省设置)和’off‘(不显示)。
例4:
某种水泥在凝固时放出的热量(单位:
卡/克)Y与水泥中的四种化学成分所占的百分比有关,现测得13组数据如下表:
编号
X1
X2
X3
X4
Y
26
60
78.5
29
15
52
74.3
11
56
20
104.3
31
47
87.6
33
95.9
55
22
109.2
71
17
102.7
44
72.5
54
18
93.1
10
21
115.9
40
23
34
83.8
12
66
113.3
13
68
109.4
作回归分析。
【Matlab程序】:
loadhald
[b,se,pval,inmodel,stats,nextstep,history]=stepwisefit(ingredients,heat,'
penter'
0.10,'
display'
'
off'
%自变量的筛选和模型参数估计信息
inmodel,b0=stats.intercept,b
%回归方程显著性整体检验信息
Allp=stats.pval,rmse=stats.rmse
%回归方程显著性分别检验信息
P=stats.PVAL
inmodel=[1100];
b0=52.5773;
b=[1.46830.66230.2500-0.2365];
Allp=4.4066e-009;
rmse=2.4063;
P=[0.00000.00000.20890.2054]。
最优回归方程为
,回归方程显著性整体检验和分别检验均为高度显著,模型标准误差估计为2.4063。
【命令2】:
stepwise
stepwise(x,y,inmodel,penter,premove)
【说明】:
创建多元线性回归分析的逐步回归法建模的交互式图形环境。
【图形界面说明】:
窗口1:
CoefficientswitherrorBars
绘出各个解释变量回归系数的估计,圆点表示点估计值,横线表示置信区间(有色线段表示90%置信区间,黑色线段表示95%置信区间)。
窗口的右侧给出回归系数的点估计值(Coeff)、显著性检验的t统计量的值(t-test)和显著性概率p值(p-val).
窗口2:
ModelHistory
该窗口绘出的圆点表示历次建模的模型标准差
的估计。
两个窗口中间输出的是当前模型的有关信息,包括:
Intercept:
模型截距(常数项)的估计;
RMSE:
模型标准差
的估计;
R-square:
可决系数;
Adj-R-sq:
校正可决系数;
F:
模型整体性检验的F统计量的值;
p:
模型整体性检验的显著性概率。
窗口I右侧的三个按钮:
NextStep:
在回归方程中按相关系数绝对值大小逐次引入解释变量,如无解释变量可引入时,按钮不可用;
AllSteps:
直接给出“只进不出”方式建模的最终结果(注意,此时的回归方程未必是最优回归方程);
Export…:
选择向Workspace传输的计算结果(有关变量名可由用户自定义)
stepwise(ingredients,heat,[1111],0.05,0.10);
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 利用 Matlab作回归分析 Matlab 回归 分析