利用 Matlab 进行灰色预测 http://pd007.blogbus.com
文章地址 http://pd007.blogbus.com/logs/163249158.html
1
利用 matlab 进行灰色预测
一、灰色预测
灰色预测是指利用 GM(1,1) 模型,对系统的行为特征及其发展规律进行
估计和预测,同时也可以对行为特征的异常情况发生的时刻进行估计计算,对未
来时段时间发生的情况进行预测。灰色预测的本质上是将“随机过程”中的“随
机变量”当作灰色理论中的“灰变量”,利用灰度的概念去处理变化规律并不明
显的事件,并以灰色系统理论中的 GM(1,1)模型来进行处理。
灰色预测在工业、农业、商业等经济领域,以及环境、社会和军事等领域中
都有广泛的应用。特别是依据目前已有的数据对未来的发展趋势做出预测分析。
1. 灰色预测方法
设已知参考数据列为
(0) (0) (0) (0)
( (1), (2), , ( ))x x x x n
,做 1 次累加(AGO)
生成数列
(1) (1) (1) (1)
(1) (1) (0) (1) (0)
( (1), (2), , ( ))
( (1), (1) (2), , ( 1) ( ))
x x x x n
x x x x n x n
其中
(1) (0)
1
( ) ( ) ( 1,2, , )
k
i
x k x i k n
。
求出均值数列:
(1) (1) (1)
( ) 0.5 ( ) 0.5 ( 1), 2,3, ,z k x k x k k n
由此得到
(1) (1) (1) (1)
( (2), (3), , ( ))z z z z n
建立灰微分方程:
(0) (1)
( ) ( ) , 2,3, ,x k az k b k n
相应的白化微分方程为
设
(1)
(1)
(0) (0) (0)
(1)
( 2) 1
(3) 1
( , ) , ( (2), (3), , ( )) ,
( ) 1
TT
z
z
u a b Y x x x n B
zn
,则由最小
二乘法,求得使
ˆ ˆ ˆ
( ) ( ) ( )
T
J u Y Bu Y Bu
达到最小值的
1
ˆ
( , ) ( )
T T T
u a b B B B Y
。
于是求解白化微分方程得:
(1) (0)
( 1) ( (1) ) , 1,2, , 1
ak
bb
x k x e k n
aa
评论1