灰色系统理论及其应用 (五) :灰色预测
灰色预测是指利用 GM 模型对系统行为特征的发展变化规律进行估计预测,同时 也可以对行为特征的异常情况发生的时刻进行估计计算,以及对在特定时区内发生事件 的未来时间分布情况做出研究等等。这些工作实质上是将“随机过程”当作“灰色过程”, “随机变量”当作“灰变量”,并主要以灰色系统理论中的 GM(1,1)模型来进行处理。 灰色预测在工业、农业、商业等经济领域,以及环境、社会和军事等领域中都有广 泛的应用。特别是依据目前已有的数据对未来的发展趋势做出预测分析。1 灰色预测的方法
https://img-blog.csdnimg.cn/20190430175902689.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzI5ODMxMTYz,size_16,color_FFFFFF,t_70
https://img-blog.csdnimg.cn/20190430175932733.png
2 灰色预测的步骤
1.数据的检验与处理
https://img-blog.csdnimg.cn/20190430180056394.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzI5ODMxMTYz,size_16,color_FFFFFF,t_70
2.建立模型
按 第1 节中的方法建立模型 GM(1,1),则可以得到预测值
https://img-blog.csdnimg.cn/20190430180139422.png
3.检验预测值
https://img-blog.csdnimg.cn/20190430180225642.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzI5ODMxMTYz,size_16,color_FFFFFF,t_70
4.预测预报
由模型 GM(1,1)所得到的指定时区内的预测值,实际问题的需要,给出相应的预测 、预报。
3 灾变预测
上限灾变数列
https://img-blog.csdnimg.cn/20190430180326288.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzI5ODMxMTYz,size_16,color_FFFFFF,t_70
同理,可定义下限灾变数列这个概念。注意,灾变预测不是预测数据本身的大小, 而是预测异常值出现的时间。我们考虑下面这个问题。
例 3 某地区年平均降雨量数据如表 5
https://img-blog.csdnimg.cn/20190430180422551.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzI5ODMxMTYz,size_16,color_FFFFFF,t_70
https://img-blog.csdnimg.cn/2019043018045455.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzI5ODMxMTYz,size_16,color_FFFFFF,t_70
由于 22.034 与 17 相差 5.034,这表明下一次旱灾将发生在五年以后。
计算的 MATLAB 程序如下:
clc,clear
a=[390.6,412,320,559.2,
380.8,542.4,553,310,561,300,632,540,406.2,313.8,576,587.6,318.5]';
t0=find(a<=320);
t1=cumsum(t0);n=length(t1);
B=[-0.5*(t1(1:end-1)+t1(2:end)),ones(n-1,1)];Y=t0(2:end);
r=B\Y
y=dsolve('Dy+a*y=b','y(0)=y0');
y=subs(y,{'a','b','y0'},{r(1),r(2),t1(1)});
yuce1=subs(y,'t',)
digits(6),y=vpa(y) %为提高预测精度,先计算预测值,再显示微分方程的解
yuce= diff(double(yuce1))
% yuce=diff(yuce1); % yuce= diff(double(yuce1))
yuce=
4 灰色预测计算实例
例 4 北方某城市 1986~1992 年道路交通噪声平均声级数据见表 6
表 6 市近年来交通噪声数据
https://img-blog.csdnimg.cn/20190430180829763.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzI5ODMxMTYz,size_16,color_FFFFFF,t_70
第一步: 级比检验
建立交通噪声平均声级数据时间序列如下:
https://img-blog.csdnimg.cn/20190430180930451.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzI5ODMxMTYz,size_16,color_FFFFFF,t_70
第二步: GM(1,1)建模
https://img-blog.csdnimg.cn/20190430180942393.png
https://img-blog.csdnimg.cn/20190430181014472.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzI5ODMxMTYz,size_16,color_FFFFFF,t_70
https://img-blog.csdnimg.cn/20190430181041524.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzI5ODMxMTYz,size_16,color_FFFFFF,t_70
第三步: 模型检验
模型的各种检验指标值的计算结果见表 7.
https://img-blog.csdnimg.cn/20190430181128973.png
https://img-blog.csdnimg.cn/20190430181149995.png
经验证,该模型的精度较高,可进行预测和预报。
计算的 MATLAB 程序如下:
clc,clear
x0=;
n=length(x0);
lamda=x0(1:n-1)./x0(2:n)
range=minmax(lamda)
x1=cumsum(x0)
for i=2:n
z(i)=0.5*(x1(i)+x1(i-1));
end
B=[-z(2:n)',ones(n-1,1)];
Y=x0(2:n)';
u=B\Y
x=dsolve('Dx+a*x=b','x(0)=x0');
x=subs(x,{'a','b','x0'},{u(1),u(2),x1(1)});
yuce1=subs(x,'t',);
digits(6),y=vpa(x) %为提高预测精度,先计算预测值,再显示微分方程的解
yuce=
epsilon=x0-yuce %计算残差
delta=abs(epsilon./x0) %计算相对误差
rho=1-(1-0.5*u(1))/(1+0.5*u(1))*lamda %计算级比偏差值
————————————————
版权声明:本文为CSDN博主「wamg潇潇」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_29831163/article/details/89714074
页:
[1]