线性回归和灰色预测模型案例
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
预测未来2015年到2020年的货运量
灰色预测模型
是通过少量的、不完全的信息,建立数学模型并做出预测的一种预测方法.当我们应用运筹学的思想方法解决实际问题,制定发展战略和政策、进行重大问题的决策时,都必须对未来进行科学的预测. 预测是根据客观事物的过去和现在的发展规律,借助于科学的方法对其未来的发展趋势和状况进行描述和分析,并形成科学的假设和判断.
灰色系统的定义
灰色系统是黑箱概念的一种推广。我们把既含有已知信息又含有未知信息的系统称为灰色系统.作为两个极端,我们将称信息完全未确定的系统为黑色系统;称信息完全确定的系统为白色系统.区别白色系统与黑色系统的重要标志是系统各因素之间是否具有确定的关系。
建模原理
模型的求解
原始序列为:
)
16909 15781 13902 12987 12495 11067 10149
9926 9329 10923 7691())6(),...1(()0()0()0(==x x x
构造累加生成序列
)
131159,114250,98469,84567,71580,59085,
48018,37869,27943,18614,7691())6(),...1(()1()1()1(==x x x
归纳上面的式子可写为
称此式所表示的数据列为原始数据列的一次累加生成,简称为一次累加生成.
对(1)X 作紧邻均值生成
,....
2))
1()((21)()1()
1()
1(=-+=k k z k z k z
MATLAB 代码如下:
x=[7691 18614 27943 37869 48018 590857 71580 84567 98469 114250 131159]; z(1)=x(1); for i=2:6
z(i)=0.5*(x(i)+x(i-1)); end
format long g z z =
Columns 1 through 3
7691 13152.5 23278.5
Columns 4 through 6
32906 42943.5
319437.5
Columns 7 through 9
331218.5 78073.5 91518
Columns 10 through 11
106359.5 122704.5 因此
)
53551.5 42943.5 32906
23278.5 13152.5 ())5(),...1(()1()1()1(==z z z
构造B 矩阵和Y 矩阵;
对参数ˆα
进行最小二乘估计,采用matlab 编程完成解答如下:
B=[[ -13152.5 -23278.5 -32906 -42943.5 -319437.5 -331218.5 -78073.5 -91518 -106359.5 -122704.5]',ones(10,1)];
Y=[18614 27943 37869 48018 59085 71580 84567 98469 114250 131159]'; format long g a=inv(B'*B)*B'*Y
结果如下:
a =
-0.0850401176809297 59277.2079622774
即∂=-0.085,u=59277 ∂
u
= -697376.471 则GM(1,1)白化方程为
59277x 085.0)
1(=-dt
dx 预测模型为:
697376.471-471.705067)1(ˆk *0.085)1(e k x =+
再次通过线性回归模型对货运量进行预测:
线性回归预测模型:
一、定义
一元线性回归预测是处理因变量y 与自变量x 之间线性关系的回归预测法.
二、模型的建立:
1,设年份y, 货运量x y 随x 的变化函数,建立一元线性回归方程:
Y=β0 + β1x
其中β0、β1称为回归系数。
散点图如下:
首先根据x 、y 的现有统计数据,在直角坐标系中作散点图,观察y 随x 而变是否为近似的线性关系。若是,则求出的β0、β1值,就可确定其数学模型,然后由x 的未来变化去求相应的y 值。
,2,确定方法—最小二乘法
使拟合的数值与实际值的总方差为最小,即拟合程度最好,则得两者之差e i
根据极值原理,式(7.4.6)对a 、b 分别求偏导,并令其=0,得
)()(()
()
2
22i
i
i
i
Q i i a a a b a a
a b a bx y y x y x ∂∂=
∂∂∂
=---∂=-----∑∑∑
三,模型的求解:
运用MATLAB 软件对数据进行一元线性回归分析:代码如下:
x=[1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 2001 ]'; x=[ones(11,1) x];
y=[7691 10923 9329 9926 10149 11067 12495 12987 13902 15781 16909]'; plot(x,y, '+');
[b,bint,r,rint,stats]=regress(y,x)
b,bint ,stats ,rcoplot(r,rint);
(
)(
)(
)(
)
()
(
)(
)()
222i i i i i i i Q y b x x y i b b y b x b x b y b x x
y x x y x x ∂∂⎡⎤=---∑⎣
⎦∂∂∂
⎡⎤⎡⎤
=-----⎣
⎦⎣⎦∂⎡⎤=-----⎣⎦
∑∑(
)(
)
()
(
)(
)
()
2
00
2(7.4.8)
i i i i xy xx
x x y y b x x i
x x y y b x x
i
S S =---=---==-∑∑∑∑令其,即所以