回归分析在实际案例中的应用Word文档格式.doc
《回归分析在实际案例中的应用Word文档格式.doc》由会员分享,可在线阅读,更多相关《回归分析在实际案例中的应用Word文档格式.doc(22页珍藏版)》请在冰豆网上搜索。
4、一元线性回归案例分析 6
4.1、案例叙述 6
4.2、数据输入与分析 6
4.3、解算方法 7
4.3.1、手动解算 7
4.3.2、矩阵的MATLAB解算 8
4.3.3、多项式法解算 9
4.4、模型参数的显著性检验 10
4.5、模型检验 10
4.6、利用回归方程进行预测和预报控制 13
5、多元线性回归案例分析 14
5.1、案例叙述 14
5.2、数据输入与分析 15
5.3、解算方法 17
5.4、模型参数的显著性检验 18
5.5、模型检验 19
5.6、利用回归方程进行预测和预报控制 20
6、结论 20
[参考文献] 21
陈涛1
(1.重庆交通大学土木工程学院,重庆400074;
)
摘要
数学是一门很重要的学科,许多的数学家研究出了各种定理、公式以及规律方法,并且都证明了它的正确性,应用这些定理公式及规律方法解决了许多疑难问题,回归分析就是其中之一。
回归分析是数学分析中的一个重要方法,这种方法可以从对大量数据的处理中得到函数规律从而建立数学模型,它在解决数据分析中的问题时应用广泛、灵活,是解决数据处理问题的一个强有力的工具;
另外在解决一些大数据问题或者计算量较大的问题时,借助于一些辅助的数据处理软件会显得简单快捷的多,在这个大数据时代很多问题也必须借助于这些软件进行处理,这已经成为一种常态化,MATLAB就是这样的一种软件。
MATLAB可以通过编程实现几乎所有的数据处理问题,他强大的数据处理能力使得一些人工不能解算的大数据处理问题得以实现;
本文将结合实际的案例利用MATLAB软件向大家介绍如何运用回归分析解决实际的问题。
关键词:
回归分析,一元回归,多元回归,MATLAB解算
1、引言
回归分析就是指利用数据统计原理,对大量统计数据进行数学处理,“加以去粗取精、去伪存真、由此及彼、由表及里的改造制作工夫”,从而得出反映事物内部规律性的东西。
并确定因变量与某些自变量的相关关系,建立一个相关性较好的回归方程(函数表达式),并加以外推,用于预测今后的因变量的变化的数理统计分析分析方法。
现实世界中变量之间的关系可以分成两类,一类是确定关系,即我们常说的函数关系,这种关系可以使用函数来进行分析和描述;
另一类是不确定关系,即我们常说的相关关系,如我们即将研究的大坝库水位和大坝沉陷量之间的关系和中国税收收入与“国内生产总值(GDP)”、“财政支出”、“商品零售物价指数”之间的关系。
2、分类及要点说明
2.1、分类
1、根据因变量和自变量的个数来分类:
一元回归分析;
多元回归分析;
2、根据因变量和自变量的函数表达式来分类:
线性回归分析;
非线性回归分析;
2.2、要点说明
1、通常情况下,线性回归分析是回归分析法中最基本的方法,当遇到非线性回归分析时,可以借助数学手段将其化为线性回归;
因此,主要研究线性回归问题,一点线性回归问题得到解决,非线性回归也就迎刃而解了,例如,取对数使得乘法变成加法等;
当然,有些非线性回归也可以直接进行,如多项式回归等;
2、在社会经济现象中,很难确定因变量和自变量之间的关系,它们大多是随机性的,只有通过大量统计观察才能找出其中的规律。
随机分析是利用统计学原理来描述随机变量相关关系的一种方法;
3、由回归分析法的定义知道,回归分析可以简单的理解为信息分析与预测。
信息即统计数据,分析即对信息进行数学处理,预测就是加以外推,也就是适当扩大已有自变量取值范围,并承认该回归方程在该扩大的定义域内成立,然后就可以在该定义域上取值进行“未来预测”。
当然,还可以对回归方程进行有效控制;
4、相关关系可以分为确定关系和不确定关系。
但是不论是确定关系或者不确定关系,只要有相关关系,都可以选择一适当的数学关系式,用以说明一个或几个变量变动时,另一变量或几个变量平均变动的情况。
3、回归分析模型及步骤
3.1、回归模型
1、确定变量之间是否存在相关关系,若存在,则找出数学表达式;
2、根据一个或几个变量的值,预测或控制另一个或几个变量的值,且要估计这种控制或预测可以达到何种精确度。
回归模型
一元回归
线性回归
非线性回归
多元回归
3.2、回归分析步骤
1、根据自变量与因变量的现有数据以及关系,初步设定回归方程;
2、求出合理的回归系数;
3、进行相关性检验,确定相关系数;
4、在符合相关性要求后,即可根据已得的回归方程与具体条件相结合,来确定事物的未来状况,并计算预测值的置信区间;
4、一元线性回归案例分析
4.1、案例叙述
根据已知数据求出表示大坝库水位和大坝沉陷量之间的一元线性回归方程。
已知数据:
编号
库水位(m)
沉陷量(mm)
编号)
1
102.714
-1.96
7
135.046
-5.46
2
95.154
-1.88
8
140.373
-5.69
3
114.364
-3.96
9
144.958
-3.94
4
120.170
-3.31
10
141.011
-5.82
5
126.630
-4.94
11
130.308
-4.18
6
129.393
12
121.234
-2.90
4.2、数据输入与分析
设库水位为x,沉陷量y,将以上数据输入MATLAB中进行分析,利用matlab软件可以得到y关于x的散点图如图1所示:
95
100
105
110
115
120
125
130
135
140
145
-6
-5.5
-5
-4.5
-4
-3.5
-3
-2.5
-2
-1.5
图1y关于x的散点图
由于提取的数据包含有其它各方面的影响因素,综合考虑其它因素的影响可以看y和x成线性相关关系,可以设库水位x与y为一元回归线性模型:
4.3、解算方法
4.3.1、手动解算
解:
计算、的值:
故回归方程为:
4.3.2、矩阵的MATLAB解算
在matlab中输入编码如下:
x=[102.71495.154114.364120.170126.630129.393135.046140.373144.958141.011];
%输入x的数据
y=[-1.96-1.88-3.96-3.31-4.94-5.69-5.46-5.69-3.94-5.82];
%输入y的数据
X=sum(x)/10;
%求x数据的平均值
Y=sum(y)/10;
%求y数据的平均值
A=ones(1,10)*X;
%构建一个1行10列值为X的矩阵
B=ones(1,10)*Y;
%构建一个1行10列值为Y的矩阵
Sx=x-A;
%矩阵减法
Sy=y-B;
Sxx=sum(Sx.*Sx);
%对矩阵Sx中的值先平方再求和
Sxy=sum(Sx.*Sy);
%矩阵Sx中的值与矩阵Sxy中的值先相乘再求和
P1=Sxy/Sxx;
P0=Y-X*P1;
结果输出:
P1=Sxy/Sxx
P1=
-0.0749
P0=Y-X*P1
P0=
5.0967
故回归模型为:
4.3.3、多项式法解算
在matlab中输入程序编码利用多项式解求参数:
%输入x的数据
%输入y的数据
[P,S]=polyfit(x,y,1);
%确定多项式系数的MATLAB命令
P=
-0.07495.0967
4.4、模型参数的显著性检验
在matlab中输入以下的编码:
X=[ones(10,1),x'
];
%构建10行2列矩阵X,第一列值都为1,第二列为x的转置
[b,bint,r,rint,s]=regress(y'
X);
%计算y'
X相关系数,分析其相关程度,以0.05的显著性水平检验相关系数的显著性
s2=sum(r.^2)/8;
%r中值的平方求和除8
b,bint
b=
5.0967
bint=
0.004610.1887
-0.1153-0.0345
参数b1=5.0967、b2=-0.0749均在其置信区间[0.0046,10.1887],
[-0.1153,-0.0345]内,所以模型参数满足要求。
4.5、模型检验
同样在MATLAB中可以得到残差数据如图2所示:
s=
0.695418.26590.00270.7795
s2=
0.7795
由这些数据可知:
=0.6954,F=18.2659,p=0.0027,=0.7795;
此处p=0.0027<
0.05,基本符合要求,模型有效;
同时在matlab中输入编码rcoplot(r,rint)得到模型的残差分布图1,由图知第九组数据存在问题:
-1
ResidualCaseOrderPlot
Residuals
CaseNumber
图2初始残差分布图
将第九组数据剔除,取一到八组和十、十一组数据重新计算得到以下模型和数据:
3.645810.3979
-0.1187-0.0644
模型参数满足要求;
0.883360.52770.00010.2973
0.2973
=0.8833,F=60.5277,p=0.0001,=0.2973;
p=0.0001<
0.05
满足要求,模型有效;
去除异常点的残差分布如图3所示:
此时残差图显示所有数据都满足要求,模型比剔除异常点前的模型更好;
此处我们将最后一组数据带入发现结果差别较大,因此最后一组数据应该也属于异常点。
-0.5
0.5
1.5
图3去除异常点的残差分布图
在剔除两个异常点后我们可以再画y关于x的散点图如图4所示: