灰色预测总结讲解
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
灰色系统建模
灰色系统理论在建模中的应用:灰色系统理论在建模中被广泛用来处理数据。
与插值拟合相比,利用灰色模型处理数据不仅对数据没有很强的限制,而且精度更高,计算更简便。
常用的灰色系统生成方式有: 累加生成,累减生成,均值生成,级比生成等,下面对这几种生成做简单介绍. 累加生成:
(0)(0)(0)(0)(0)(1)(1)(1)(1)(1)(1)(0)[(1),(2),,()],
,[(1),(2),,()],:
x x x x x n x x x x x n x x ==令为原始序列,记生成数为如果
与之间满足如下关系
(1)(0)1
()();1,2,,(21)
k
i x k x i k n
===-∑
,1AGO -一次累加生成则称为记为
累加生成在灰色系统理论中有着非常重要的地位,它能使任意非负数列,摆动的或非摆动的,转化为非减的
的,递增的数列.
累减生成:累减生成,即对数列求相邻两数据的差,累减生成是累加生成的逆运算,常简记为IAGO(Inver se Accumulated Generating Operation), 累减生成可将累加生成还原为非生成数列,在建模过程中用来获得增量信息,其运算符号为∆.
()()
()
,,:
r r i x r x i ∆令为次生成数列对作次累减生成记为其基本关系式为
(0)()()(1)()(0)()(0)()(2)()(1)()(1)()()()(1)()(1)()[()]()
[()][()][(1)][()][()][(1)](25)
[()][()][(1)]
r r r r r r r r i r i r i r x k x k x k x k x k x k x k x k x k x k x k --∆=∆=∆-∆-∆=∆-∆--∆=∆-∆
-
(0)(1)(),(0)0,;(0)1(0)11.
i k k i k k i ∆∆-∆--式中为次累减即无累减为1次累减,即与时刻两个零次累减量求差,为次累减,即与时刻两个次累
减量求差
(25):-从式还可得到以下关系
(1)()(0)()(0)()()()1
(1)(1)1
1
(1)
[()][()][(1)]
()(1)(26)
()()
()
r r r r r k
k r r i i r x k x k x k x k x k x i x i x
k ---==-∆=∆-∆-=---=-=∑∑
(2)
()
(1)
()
(1)
()
(1)(1)1
(2)(2)1
1
(2)[()][()][(1)]
()(1)(27)
()()
()
r r r r r k
k r r i i r x k x k x k x k x k x i x i x k -----==-∆=∆-∆-=---=-=∑∑
:同理可得
()
()
()
[()]()
(28)i r r i x k x
k -∆=-
()()(0)[()]()
(29)r r x k x k ∆=-
(29),,.,,.:1,r r r -=从式可以看出对次生成数列作次累减即还原为非生成数列事实上累加中包含着累减累减中包含着累加比如时有
1
(1)
(0)
(0)
(0)
1
1
(1)(0)
()()()()
(1)()
(210)k k i i x k x i x i x k x k x k -====+=---∑∑
(0)
(1)
(1)
()()(1)
x k x k x k =--
进一步有
(1)()()
()()(1)(211)r r r x k x k x k -=---
.均值生成分为邻均值生成与非邻均值生成两种 σρ级比生成是一种常用的填补序列端点空穴的方法.对数列端点值的生成,我们无法采用均值生成填补空缺,只能采用级比生级比生成.成是级比级比生(k 成在建模中可以获得较好的灰)与光滑比(k)生成指数律.的总称.
(0)(0)(0)(0)[(1),(2),
,()],
(),(),X x x x n K k σρ=设序列为原始序列称为级比为光滑比其表达式为
(0)(0)(0)(1)()()/(1)()()/(1)
(212)k x k x k k x k x k σρ=-=--
(0)(0)(0)(0)(0)(0)(0)[(1),(2),
,(1),()],(1)(1),()(),(1)()X x x n n x n x n x x n ϕϕϕϕ=-设为端点是空
穴的序列若用右邻的级比生成用的左邻级比生成则称和为级比生成
GM(1.1)模型建模机理 GM(1.1)原理步骤 原始数列:
{}
(0)(0)(0)(0)(1),(2),
,()X x x x n =
对(0)
X 进行一次累加,得到新数列:
{}
(1)(1)(1)(1)(1),(2),
,()X x x x n =
(1)
,()()
k
i x
k x i ==
∑其中
于是
(0)()x k 的GM (1.1)白化形式的微分方程为: (1)
(1)(216)
dx ax u dt
+=- 其中,a,u 为待定系数,将(2-16)式离散化,即得:
(1)(1)(1)((1))((1))(217)x k az x k u
∆+++=-
其中,
(1)(1)((1))x k ∆+为(1)x 在(k+1)时刻的背景值 因为:
(1)(1)(1)(1)(0)((1))(1)()(1)(218)x k x k x k x k ∆+=+-=+-
(1)(1)(1)1
(1)((1)())
(219)
2
z k x k x k +=++-
将(2-18),(2-19)式代入(2-17)式,得
(0)
(1)
(1)1(1)[(()(1))](220)
2
x k a x k x k u
+=-+++-
将(2-20)
(1)(1)(0)(1)(1)(0)(0)(1)(1)
1((1)(2))12(2)1((2)(3))1(3)(221)
2()1((1)())12x x x x x x x n x n x n ⎡⎤-+⎢⎥
⎡⎤⎢⎥⎢⎥⎢⎥-+⎢⎥⎢⎥=-⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦⎢⎥--+⎢⎥⎣⎦
(1)(1)(0)(1)(1)(0)(0)(1)(1)
1((1)(2))12(2)1((2)(3))1(3),2()1((1)())12x x x x x x Y B x n x n x n ⎡⎤-+⎢⎥
⎡⎤⎢⎥⎢⎥⎢⎥-+⎢⎥⎢⎥==⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦⎢⎥--+⎢⎥⎣⎦
令
[]T a u Φ=为待辨识参数向量,则(2-21)可写成:
(222)Y B =Φ
-
参数向量Φ可用最小二乘法求取,即
1ˆˆˆ[,]()T T T a u B B B Y -Φ
== 把求取的参数代入(2-16)式,并求出其离散解
ˆ(1)(1)ˆˆˆ(1)[(1)](224)
ˆˆak u
u x k x e a a -+=-+
-
(0)(1)(1)ˆ
ˆ(1)ˆˆˆ(1)(1)()ˆ(1)[(1)](225)
ˆa ak
x
k x k x k u e x e a
-+=+-=---
还原到原始数据得
(224),(225)(1.1),(1.1).GM GM --式称为模型的时间相应函数模型它是模型灰色预测的具体计算公式
(GM1.1)模型的精度检验
模型选定之后,一定要经过检验才能判定其是否合理,只有通过检验的模型才能用来作预测,灰色模型的精度检验一般有三种方法:相对误差大小检验法,关联度检验法和后验差检验法.下面对这三种方法做个简单介绍.
1 级比检验:
为了保证建模方法的可行性,需要对已知数据列做必要的检验处理。
原始数列:
{}
(0)(0)(0)(0)(1),(2),
,()X x x x n =
级比表达式为:
2 后验差检验法
(0)(0)22
12ˆ(1.1)(231),(232),,GM X
X E S S --设按建模法所求出的如所示残差如所示原始序列及残差序列的方差
分别为和则
2(0)
2
1
1
22
2
1
1[()]1[()](235)
n k n
k S x k x n S e k e n ===-=--∑∑
(0)11
11,(),()
n n
k k x x k e e k n n ====∑∑其中 计算后验差比为:
21
/(236)C S S =-
计算小误差概率:
{}
1()0.6745(237)
p P e k e S =-<-
1212,.C p C C S S S S C 指标和是后验差检验的两个重要指标.指标越小越好越小表示大而越小大表示原始数据方差大,即原始数据离散程度大.小表示残方差小,即残差离散程度小.小就表明尽管原始数据很离散,而模型所得计算值与实际值之差并不太离散.
1,,0.6745,,,.p p C p 指标越大越好越大表明残差与残差平均值之差小于
给定值的点较多即拟合值(或预测值)分布比较均匀.按两个指标可综合评定预测模型的精度模型
的精度由后验差和小误差概率共同刻划.一般地,将模型的精度分为四级,见表2-1
21-表精度检验等级参照表 模型精度等级 均方差比值C 小误差概率p 1级(好) C<=0.35 0.95<=p
2级(合格) 0.35<C<=0.5 0.80<=p<0.95 3级(勉强)
0.5<C<=0.65 0.70<=p<0.80 4级(不合格)
0.65<C
P<0.70
{}
,,Max p C =模型的精度级别的级别于是的级别
3 序列光滑度的理论分析
*[(1),(2),,()],:[(1),(2),,()],,()0.5
()0.5(1),1,2,,;,(1),
:
3.1X x x x n Z X Z z z z n z k z k z k k n X x n X ===++=+设序列是的均
值生成序列其中是某一可导函数的
代表序列我们将删去后所得的序列仍记为定若满足义
11
**11(1),()();
(2)
max ()()max ()()
k i k n
k n
k x k x i x k x k x k z k -=≤≤≤≤<
-≥-∑当充分大时,(1),(2).X 则称为光滑序列称为序列光滑条件
(0)(0)(0)(0)(0)(0)1
(1)(0)
1
(0)[(1),(2),,()],
()
()(),2,3,,(1)
()
.
k i X x x x n x k x k k k n x k x
i X ρ-===
==-∑设序列称为序
列的光滑比
,()1()(,()).,.i k x k k x i k X X k ρρ-∑k-1=1
光滑比从另一个侧面反映了序列的光滑性即用序列
中第个数据与前个数据的和的比值
来考察序列中数序列中的数据变化越平稳其光滑比据变化是否平缓显越小然
{}{}(0)1
(0)
1
(0)(0)(1()0)00()
()()
(),(),1,2,,((),1,2,
,,
0,.1),.,33
k i x k k x
i x k x k k n x k k n k k x k k ερε-===<==∀->∃>∑设为非负数据序列当时如果光滑定义光滑
为比称离散序列则
(1)
():(1)
1;
()
2,3,
,1;(2)()[0,];2,3,
,;
(3 3.4)0.5.
k X k k k n k k n X ρρρεε+<=-∈=<若序列满足则定义准光称滑序列为
{}{}(0)1(0)1
(0)())001()(()
().
()
()
,(),1,2,,(1(),1,2.1
.
,
),3k i x k k x k k k x i x k x k k n n x k ρε-==
=<=-=∑设为光滑离散序列的充
是的递减函数则称要条件是定理光滑
离为:光滑散序列比
提高数列的光滑度
1 基于函数lnx 变换提高数据序列的光滑度
(0)(0)(0)(0)(0)(0)(0)1
1
(0)
(0)
1
1
(1)()(1)1,ln ()(2)
()(1),ln ()
()
ln ()
()
k k i i x k x x k x k x e x k x k x
i x
i --==≥≥≤
∑∑若为递增序列,且则是光滑离散序列;
若为递增序列,且则
002()()(),ln ()()x k x k 由知变换序列具有比原始序列更好的光滑度
(0)(0)1(0)(0)11
1(0)
(0)
1
1
3)()(1)1,1,[ln ()]
ln ()
[ln ()]
ln ()
T k k T
i i x k x T x k x k x
i x
i --==≥>≤
∑∑若为递增序列,且则
1
003()()(),ln ()]ln ()
T x k x k 由知变换序列[具有比原始序列更好的光滑度
(0)(0)1
(0)(0)(0)11
1
1(0)
(0)
(0)
1
1
1
1
1(0)(0)(0)1
1
1
11(0)
(0)
(0)
11
1
(4)()(1),1,[ln ()]
ln ()
()
[ln ()]
ln ()
()
[ln ()]
[()]
()
[ln ()]
[()]
()
T k k k T
i i i T T k k k T
T
i i i x k x e T x k x k x k x i x
i x
i x k x k x k x
i x
i x
i ---===---===≥≥≤
≤
≤
≤
∑∑∑∑∑∑若为递增序列,且则
20->.()a x a 基于函数变换提高光滑度的方法
(0)(0)(0)(0)(0)1
(0)
(0)
(0)(0)11
1
1(0)
(0)
(0)
(0)
1
1
1
1
(1)()(1)1,()](0)
(2)()(1)1,1,0[()]
[ln ()]
ln ()
()
[()]
[ln ()]
ln ()
()a a
T k k k k a
T
i i i i x k x x k a x k x T a x k x k x k x k x
i x
i x
i x
i ------====≥>≥≥>≤
≤
≤
∑∑∑若为递增序列,且则[是光滑离散序列;
若为递增序列,且则对于有
1
-∑
1
002-()()(),()]ln ()]a T x k x k 由知变换序列[具有比原始序列[更好的光滑度
2(),:在应用时应注意以下两点
000021≥=≥≥()()()()(),),r
r
x x x
x 1.若的条件(1)e 或(1)不成立可选择某个常数c, 使(1)(1)+c e(或最后再还原.
02()(),()x k a 2.对的a 可根据实际情况定一般情况下越大,取得越小.
3->.()x a a 基于函数变换提高光滑度的方法
(0)
(0)
(0)
(0)(0)()
(0)(0)1
()
(0)(0)(0)1
1
1
1
1()
(0)
(0)
(0)
1
1
1
1
(1)()(1)1,(1)
(2)()(1)1,1,1[ln ()]
ln ()
()
[ln ()]
ln ()
()
x
k x
k T k k k k x i T
i i i i x k x a a x k x T a a x k x k x k a
x
i x
i x
i 若为递增序列,且则是光滑离散序列;
若为递增序列,且则对于有
-------====≥>≥≥>≤
≤
≤
∑∑∑∑
01
021->()
()
()(),ln ()]x k T a a x k 由知变换序列()具有比序列[更
好的光滑度
4 灰色GM(1.1)优化模型分析传统GM(1.1)模型背景值对预测精度的影响
X0=x
%format long ;
format short g;
[m,n]=size(X0);
X1=cumsum(X0); %累加
X2=[];
for i=2:n
lamuda(i)=X0(i-1)/X0(i);
end
lamuda
for i=1:n-1
X2(i,:)=X1(i)+X1(i+1);
end
for i=1:n-1
X2(i,:)=X1(i)+X1(i+1);
end
for i=2:n
sigema(i)=X0(i)/X1(i-1);
end
sigema%sigema属于(1,1.5)时,则具有准指数规律,可建立预测模型幂函数变换、对数变换和复合变换
m=2/(n+1);
ep=[exp(-m) exp(m)]%级比检验lamuda(i)必须落到ep区间内
B=-0.5.*X2 ;
t=ones(n-1,1);
B=[B,t] ; % 求B矩阵
YN=X0(2:end) ;
Pt=YN./X1(1:(length(X0)-1)) %对原始数据序列X0进行准光滑性检验,Pt∈[0,ε]当ε<0.5 时, 则称x(0)(t)为准光滑序列
%序列x0的光滑比P(t)=X0(t)/X1(t-1)
A=inv(B.'*B)*B.'*YN.' ;
a=A(1)
u=A(2)
c=u/a ;
b=X0(1)-c ;
X=[num2str(b),'exp','(',num2str(-a),'k',')',num2str(c)];
strcat('X(k+1)=',X)
%syms k;
for t=1:length(X0)
k(1,t)=t-1;
end
k
Y_k_1=b*exp(-a*k)+c;
for j=1:length(k)-1
Y(1,j)=Y_k_1(j+1)-Y_k_1(j);
end
yuce=[Y_k_1(1),Y] %预测值
CA=abs(yuce-X0) ; %残差数列
Theta=CA %残差检验绝对误差序列
err= CA ./ X0 %相对误差序列如果err<0.2,则可认为达到一般要求,如果err<0.1,则认为达到较高的要求
A V=mean(CA); % 残差数列平均值
R_k=(min(Theta)+0.5*max(Theta))./(Theta+0.5*max(Theta)) ;% P=0.5
R=sum(R_k)/length(R_k) %关联度
Temp0=(CA-A V).^2 ;
Temp1=sum(Temp0)/length(CA);
S2=sqrt(Temp1) ; %绝对误差序列的标准差
%----------
A V_0=mean(X0); % 原始序列平均值
Temp_0=(X0-A V_0).^2 ;
Temp_1=sum(Temp_0)/length(CA);
S1=sqrt(Temp_1) ; %原始序列的标准差
TempC=S2/S1*100 %方差比?
C=strcat(num2str(TempC),'%')%方差比均方差比值C 越小越好,C<0.35为好,C<0.5为合格
%----------
SS=0.675*S1 ;
Delta=abs(CA-A V) ;
TempN=find(Delta<=SS);
N1=length(TempN);
N2=length(CA);
TempP=N1/N2*100;
P=strcat(num2str(TempP),'%') %后验差检验%计算小误差概率P>0.85为合格,P>0.95为好。