《1 引言》
1 引言
作为灰色系统理论重要内容之一的GM (1, 1) 模型[1,2], 其应用价值在越来越多的领域中得到体现[3,4]。GM (1, 1) 模型的突出特点是: 建模过程简单, 模型表达式简洁, 便于求解, 应用广泛。在发展系数a的绝对值较小时 (当时间间隔很小、序列数据变化平缓时, 如0<-a≤0.3) , 模拟值精度较高。但当发展系数a的绝对值较大 (如-a>0.5) 时, 模型偏差较大, 无法用于中长期预测, 甚至不宜作短期预测。一些学者对此进行了改进, 得到了比原GM (1, 1) 模型模拟精度高和适应性更强的新模型[5,6,7,8]。笔者经过分析GM (1, 1) 模型产生模拟误差的原因, 从构造背景值公式入手, 优化GM (1, 1) 模型, 既保持了原GM (1, 1) 模型的优点, 又使优化GM (1, 1) 模型适用于各种发展系数的情形, 尤其是当发展系数绝对值较大时也可用于中长期预测, 并且精度较高。
《2 GM (1, 1) 模型背景值的优化》
2 GM (1, 1) 模型背景值的优化
设原始序列为X (0) ={x (0) (1) , x (0) (2) , …, x (0) (n) }, 则X (0) 的1-AGO序列为X (1) ={x (1) (1) , x (1) (2) , …, x (1) (n) }其中x(1)(k)=∑i=1kx(0)(i), k=1, 2, …, n。
X (1) 的紧邻均值生成序列Z (1) ={z (1) (1) , z (1) (2) , …, z (1) (n) }, 其中
z(1)(k)=[x(1)(k)+x(1)(k−1)]/2,k=2,3,⋯,n。
dx(1)dt+ax(1)=b (1)
为灰色微分方程 (即灰色GM (1, 1) 模型)
x(0)(k)+az(1)(k)=b (2)
xˆ(1)(t)=(x(0)(1)−ba)e−a(t−1)+ba
在t=k (k=1, 2, …, n) 处的值来逼近或描述x (1) (k) 。
式 (1) 中的系数a与常数项b是由式 (2) 用下述方法确定:
aˆ=(ab)=(BTB)−1BTY, (3)
Y=⎛⎝⎜⎜⎜⎜⎜x(0)(2)x(0)(3)⋮x(0)(n)⎞⎠⎟⎟⎟⎟⎟, B=⎛⎝⎜⎜⎜⎜⎜−z(1)(2)−z(1)(3)⋮−z(1)(n)11⋮1⎞⎠⎟⎟⎟⎟⎟。
由此可知GM (1, 1) 模型的模拟与预测精度取决于常数a和b, 而a和b的值依赖于原始序列和背景值的构造形式。即背景值z (1) (k) 的构造公式是导致模拟误差εˆ(0)(k)=xˆ(1)(k)−x(1)(k)及GM (1, 1) 模型的适应性的关键因素之一。
在[k-1, k]上 (参见图1) 对式 (1) 两边求积分得
∫kk−1dx(1)dtdt+a∫k−1kx(1)dt=b,
x(1)(k)−x(1)(k−1)+a∫kk−1x(1)dt=b,
x(0)(k)+a∫kk−1x(1)dt=b。 (4)
《图1》
图1 原GM (1, 1) 模型误差来源示意图Fig.1 A schematic diagram on reasons of error which from original model GM (1, 1)
将式 (4) 和式 (2) 比较可知, 用一阶线性微分式 (1) 解来逼近x (1) (k) , (k=1, 2, …, n) , 其误差来源于, 用
z(1)(k)=[x(1)(k)+x(1)(k−1)]/2
代替 ∫kk−1x (1) (t) dt, (k=2, 3, …, n)
z(1)(k)=∫kk−1x(1)(t)dt。 (5)
设x (1) (t) =BeAt, 其中A, B为待定常数, 且满足
x(1)(k)=BeAk,(k=1,2,⋯,n)。
将x (1) (t) =BeAt代入式 (5) 得
z(1)(k)=∫k−1kBeAtdt=1A[BeAk−BeA(k−1)]= 1A[x(1)(k)−x(1)(k−1)]。 (6)
又由x(1)(k)x(1)(k−1)=BeAkBeA(k−1)=eA得
A=lnx(1)(k)−lnx(1)(k−1)。 (7)
z(1)(k)=x(1)(k)−x(1)(k−1)lnx(1)(k)−lnx(1)(k−1), k=2,3,⋯,n。 (8)
定理 设X (0) 为非负准光滑序列, X (0) ={x (0) (1) , x (0) (2) , …, x (0) (n) }, X (1) ={x (1) (1) , x (1) (2) , …, x (1) (n) }为X (0) 的1-AGO序列, 若aˆ=(a,b)T为参数
z(1)(k)=x(1)(k)−x(1)(k−1)lnx(1)(k)−lnx(1)(k−1)‚ k=2,3,⋯,n‚
其中当x (1) (k) =x (1) (k-1) 时, z (1) (k) =x (1) (k-1) ,
Y=⎛⎝⎜⎜⎜⎜⎜x(0)(2)x(0)(3)⋮x(0)(n)⎞⎠⎟⎟⎟⎟⎟, B=⎛⎝⎜⎜⎜⎜⎜−z(1)(2)−z(1)(3)⋮−z(1)(n)11⋮1⎞⎠⎟⎟⎟⎟⎟‚
1) 灰色微分方程x (0) (k) +az (1) (k) =b的最小二乘估计参数满足
aˆ=(ab)=(BTB)−1BTY;
2) 灰色微分方程x (0) (k) +az (1) (k) =b的白化方程dx(1)dt+ax(1)=b的时间响应式为
xˆ(t)=(x(0)(1)−ba)e−a(t−1)+ba;
3) 灰色微分方程 x (0) (k) +az (1) (k) =b时间响应式为
xˆ(1)(k+1)=(x(0)(1)−ba)e−ak+ba‚ k=1,2,⋯,n;
xˆ(0)(k+1)=xˆ(1)(k+1)−xˆ(1)(k)‚ k=1,2,⋯,n。
如果在区间[k-1, k]上, x (1) (k) =x (1) (k-1) 则式 (8) 可以理解为z (1) (k) =x (1) (k-1) 。事实上,
z(1)(k)=limx(1)(k)→x(1)(k−1)[(x(1)(k)−x(1)(k−1))/(lnx(1)(k)−lnx(1)(k−1))]=limx(1)(k)→x(1)(k−1)(x(1)(k)=x(1)(k−1)。
此时, 式 (2) 中的背景值z (1) (k) =[x (1) (k) +x (1) (k-1) ]/2=x (1) (k-1) 。该事实从几何图形上也是显然的, 这也正是原创GM (1, 1) 模型对发展系数a的绝对值很小 (如0<-a≤0.3) , 即原始序列x (0) (k) , (k=1, 2, …, n) 变化平缓时, 模拟及预测精度较高的原因。
《3 数据模拟精度的比较》
3 数据模拟精度的比较
文献[1]中对GM (1, 1) 模型的适用范围进行了讨论, 一般地, 当发展系数a的绝对值小于2时, GM (1, 1) 模型有意义, 并对发展系数0<-a<2的情形分别取-a=0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.8, 1.0, 1.5, 1.8进行模拟分析。为叙述方便起见, 记文献[1]中的GM (1, 1) 模型为原GM (1, 1) 模型。 笔者的优化GM (1, 1) 模型为新GM (1, 1) 模型。
以下分别就-a取上述若干值的情形用2种GM (1, 1) 模型进行数据模拟, 并对模拟及预测精度进行比较。
取k=0, 1, 2, 3, 4, 5, 由x(0)i (k+1) =e-ak可得X(0)i={x(0)i (1) , x(0)i (2) , x(0)i (3) , x(0)i (4) , x (0) i (5) , x (0) (6) }的原始序列值, 见表1。
2) 以上述原始序列分别建立原GM (1, 1) 模型及新GM (1, 1) 模型, 并求出相应的时间响应式。
xˆ(1)1(k+1)=10.509647e0.09907k−9.509647‚xˆ(1)2(k+1)=5.516431e0.1993401k−4.516431‚xˆ(1)3(k+1)=3.85832e0.297769k−2.858321‚xˆ(1)4(k+1)=3.033199e0.394752k−2.033199‚xˆ(1)5(k+1)=2.541474e0.4898382k−1.541474‚xˆ(1)6(k+1)=2.216359e0.582626k−1.216359‚xˆ(1)7(k+1)=1.8159718e0.7598991k−0.8159718‚xˆ(1)8(k+1)=1.581973e0.9242348k−0.5819733‚xˆ(1)9(k+1)=1.287182e1.270296k−0.2871283‚xˆ(1)10(k+1)=1.198197e1.432596k−0.1981966。
表1 原始序列值
Table 1 The original datum
《表1》
-a | i | x(0)i (1) | x(0)i (2) | x(0)i (3) | x(0)i (4) | x(0)i (5) | x(0)i (6) |
0.1 | 1 | 1.0 | 1.105 2 | 1.221 4 | 1.349 9 | 1.491 8 | 1.648 7 |
0.2 | 2 | 1.0 | 1.221 4 | 1.491 8 | 1.822 1 | 2.225 5 | 2.718 3 |
0.3 | 3 | 1.0 | 1.349 9 | 1.822 1 | 2.459 6 | 3.320 1 | 4.481 7 |
0.4 | 4 | 1.0 | 1.491 8 | 2.225 5 | 3.320 1 | 4.953 0 | 7.389 0 |
0.5 | 5 | 1.0 | 1.648 7 | 2.718 3 | 4.481 7 | 7.389 0 | 12.182 5 |
0.6 | 6 | 1.0 | 1.822 1 | 3.320 1 | 6.049 6 | 11.023 2 | 20.085 5 |
0.8 | 7 | 1.0 | 2.225 5 | 4.953 0 | 11.023 2 | 24.532 5 | 54.598 2 |
1.0 | 8 | 1.0 | 2.718 3 | 7.389 0 | 20.085 5 | 54.598 2 | 148.413 2 |
1.5 | 9 | 1.0 | 4.481 7 | 20.085 5 | 90.017 1 | 403.428 8 | 1 808.042 4 |
1.8 | 10 | 1.0 | 6.049 6 | 36.598 2 | 221.406 4 | 1 339.430 8 | 8 103.083 9 |
xˆ(1)1(k+1)=10.634472e0.099318k−9.634472‚xˆ(1)2(k+1)=5.594064e0.199117k−4.594064‚xˆ(1)3(k+1)=3.922068e0.299149k−2.922068‚xˆ(1)4(k+1)=3.091401e0.399299k−2.091401‚xˆ(1)5(k+1)=2.59745e0.49947k−1.59745‚xˆ(1)6(k+1)=2.271684e0.599626k−1.271684‚xˆ(1)7(k+1)=1.872098e0.799838k−0.872098‚xˆ(1)8(k+1)=1.639822e0.999937k−0.639822‚xˆ(1)9(k+1)=1.348329e1.499996k−0.348329‚xˆ(1)10(k+1)=1.25953e1.799999k−0.25953。
3) 两类GM (1, 1) 模型的模拟精度 (平均相对误差) 和预测精度 (误差) 比较见表2和表3。
《4 结论》
4 结论
1) 应用实际曲线在区间上的面积作为背景值, 重构了背景值的计算公式, 并保持了原GM (1, 1) 模型建模简单、计算简便及易于应用的优点。
2) 经大量数据模拟可知, 优化GM (1, 1) 模型既适用于低增长指数 (即发展系数的绝对值较小) 序列建模, 也适用于高增长指数 (即发展系数的绝对值较大) 序列建模, 尤其是对高增长指数序列优化GM (1, 1) 模型, 可用于做中长期预测且精度较高, 具有重要的理论意义和较高的应用价值。
表2 两类GM (1, 1) 模型的模拟精度 (平均相对误差) 比较
Table 2 Contrast of the optimum one to the GM (1, 1) about the simulation
《表2》
-a | 0.1 | 0.2 | 0.3 | 0.4 | 0.5 | 0.6 | 0.8 | 1.0 | 1.5 | 1.8 |
原GM误差 | 0.105 963 2 | 0.499 163 | 1.300 909 | 2.613 955 | 4.520 585 9 | 7.074 289 9 | 14.156 851 | 23.544 004 | 51.032 934 | 65.453 743 |
新GM误差 | 0.337 920 5 | 0.731 469 | 1.147 005 | 1.558 524 | 1.955 963 5 | 2.334 233 3 | 3.027 305 4 | 3.633 131 2 | 4.733 841 3 | 5.132 772 9 |
表3 两类GM (1, 1) 模型的预测精度 (误差) 比较
Table 3 contrast of the optimum one to the GM (1, 1) about the prediction
《表3》
-a | 0.1 | 0.2 | 0.3 | 0.4 | 0.5 | 0.6 | 0.8 | 1.0 | 1.5 | 1.8 |
原GM1步误差 | 0.128 9 | 0.696 0 | 1.960 4 | 4.137 8 | 7.397 0 | 11.820 2 | 24.009 3 | 39.436 9 | 76.667 0 | 89.937 2 |
新GM1步误差 | 0.133 320 1 | 0.464 9 | 0.889 0 | 1.345 1 | 1.794 0 | 2.219 464 4 | 2.977 2 | 3.613 5 | 4.721 3 | 5.132 5 |
原GM2步误差 | 0.136 7 | 0.761 5 | 2.179 1 | 4.639 6 | 8.333 2 | 13.339 0 | 26.996 3 | 43.855 9 | 81.455 6 | 93.031 2 |
新GM2步误差 | 0.065 052 5 | 0.376 2 | 0.803 2 | 1.274 1 | 1.740 0 | 2.181 241 5 | 2.960 6 | 3.607 0 | 4.717 1 | 5.132 4 |
原GM5步误差 | 0.160 1 | 0.957 8 | 2.832 2 | 6.129 2 | 11.085 5 | 17.740 2 | 35.271 1 | 55.270 8 | 90.690 3 | 97.685 4 |
新GM5步误差 | 0.139 471 3 | 0.110 7 | 0.546 2 | 1.061 3 | 1.578 4 | 2.066 658 4 | 2.910 5 | 3.587 4 | 4.704 5 | 5.13 20 |
原GM10步误差 | 0.199 1 | 1.284 1 | 3.911 0 | 8.560 3 | 15.490 3 | 24.584 4 | 47.031 2 | 69.375 5 | 97.047 8 | 99.631 3 |
新GM10步误差 | 0.280 8 | 0.330 3 | 0.119 3 | 0.707 7 | 1.309 6 | 1.875 972 1 | 2.827 2 | 3.554 8 | 4.683 6 | 5.131 5 |