当前位置:   article > 正文

灰色关联分析与预测模型_灰色关联预测模型

灰色关联预测模型

灰色系统分析方法在建模中的应用:相关性问题、预测问题

1)灰色关联分析;2)灰色预测:人口、灾变...等;3)灰色决策;4)灰色预测

灰色系统:系统内一部分信息已知,另一部分未知,系统内各因素间有不确定关系。

灰色预测法:对一种含有不确定因素(在一定范围内变化的与时间有关的灰色过程)的系统进行预测的方法。

        灰色系统通过鉴别系统因素之间发展趋势的相异程度,即进行关联分析,并可对原始数据进行生成处理寻找系统变动的规律,生成有较强规律性的数据序列(等时距),然后建立相应的微分方程模型,从而预测事务未来发展趋势的状况。

一、灰色预测的四种常见类型

1)灰色时间序列预测

2)畸变预测(异常值的预测:如 异常气候等)

通过灰色模型预测异常值出现的时刻,预测异常值什么时候出现特定时区内。

3)系统预测

对系统行为特征指标建立一组相互关联的灰色预测模型,预测系统中众多变量间的相互协调关系的变化。

4)拓扑预测

二、灰色关联度与优势分析

 2.1灰色关联度

 sign:符号函数(y=sign(x): x<0,y=-1;x=0,y=0;x>0,y=1 )

2.2案例分析 (注意统一量纲)

三、灰色生成数列

 四、灰色模型GM(1,1)

 

 GM(1,1)灰色预测步骤:

 经检验,原始数据列满足 级比检验

 计算实例:

级比偏差均小于0.2,因此精度可以

案例:SARS疫情对某些经济指标影响

 表一:商品零售额(亿元)

表二:接待海外旅游人数(万人)

表三:综合服务业累计数据(亿元)

 模型的分析与假设

 提出假设:

建立灰色预测模型GM(1,1)

 

 模型求解

 代码计算每个表(以表1为例)

  1. clc,clear
  2. % 表一数据(表2,3同理)
  3. han1=[83.0 79.8 78.1 85.1 86.6 88.2 90.3 86.7 93.3 92.5 90.9 96.9
  4. 101.7 85.1 87.8 91.6 93.4 94.5 97.4 99.5 104.2 102.3 101.0 123.5
  5. 92.2 114.0 93.3 101.0 103.5 105.2 109.5 109.2 109.6 111.2 121.7 131.3
  6. 105.0 125.7 106.6 116.0 117.6 118.0 121.7 118.7 120.2 127.8 121.8 121.9
  7. 139.3 129.5 122.5 124.5 135.7 130.8 138.7 133.7 136.8 138.9 129.6 133.7
  8. 137.5 135.3 133.0 133.4 142.8 141.6 142.9 147.3 159.6 162.1 153.5 155.9
  9. 163.2 159.7 158.4 145.2 124.0 144.1 157.0 162.6 171.8 180.7 173.5 176.5];
  10. han1(end,:)=[];%相当于 han1=han1(1:6,:);
  11. m=size(han1,2);%把月份提取出来,12个月
  12. x0=mean(han1,2);%返回每行的平均值
  13. x1=cumsum(x0);%一次累加
  14. alpha=0.4;
  15. n=length(x0);%长度,数据的维度,n=6
  16. z1=alpha*x1(2:n)+(1-alpha)*x1(1:n-1)%求邻域生成数
  17. Y=x0(2:n);
  18. B=[-z1,ones(n-1,1)];
  19. ab=B\Y%求出a,b
  20. k=6;%已知6
  21. x7hat=(x0(1)-ab(2)/ab(1))*(exp(-ab(1)*k)-exp(-ab(1)*(k-1)))%预测结果
  22. z=m*x7hat %预测0312个月总值
  23. u=sum(han1)/sum(sum(han1)) %03年每月占全年的比例
  24. v=z*u %03年每个月的预测值

模型结果分析:

灰色关联性分析代码:

  1. %灰色关联分析步骤
  2. %【1】确定比较对象(评价对象)(就是数据,并且需要进行规范化处理,就是标准化处理,见下面例题的表格数据)和参考数列(评价标准,一般该列数列都是1,就是最优的的情况)
  3. %【2】确定各个指标权重,可用层次分析确定
  4. %【3】计算灰色关联系数
  5. %【4】计算灰色加权关联度
  6. %【5】评价分析
  7. clear,clc
  8. x1=[1.14 1.49 1.69 2.12 2.43 4.32 5.92 6.07 7.85;
  9. 3.30 3.47 3.61 3.80 4.00 4.19 4.42 4.61 4.80;
  10. 6.00 6.00 6.00 7.50 7.50 7.50 9.00 9.00 9.00;
  11. 1.20 1.20 1.80 1.80 1.80 2.40 2.70 3.60 4.00;
  12. 4.87 5.89 6.76 7.97 8.84 10.05 11.31 12.25 11.64];%原始数据59
  13. x=x1;
  14. n=length(x1)%列(指标数)
  15. for i=1:5
  16. for j=1:9
  17. x(i,j)=x(i,j)/x1(1,j);
  18. end
  19. end
  20. x1=x;
  21. for i=1:5
  22. for j=1:9
  23. x(i,j)=abs(x(i,j)-x1(i,1));
  24. end
  25. end
  26. max=x(1,1);
  27. min=x(1,1);
  28. for i=1:5
  29. for j=1:9
  30. if x(i,j)>=max
  31. max=x(i,j)
  32. end
  33. end
  34. end
  35. for i=1:5
  36. for j=1:9
  37. if x(i,j)<=min
  38. min=x(i,j)
  39. end
  40. end
  41. end
  42. k=0.5 ;%分辨系数取值
  43. l=(min+k*max)./(x+k*max)%求关联系数矩阵
  44. guanliandu=sum(l')/n
  45. [rs,rind]=sort(guanliandu,'descend') %对关联度进行排序

灰色预测代码:

  1. %灰色预测步骤
  2. %(1)输入前期的小样本数据
  3. %(2)输入预测个数
  4. %(3)运行
  5. clear,clc
  6. y=input('请输入数据:'); %例如输入[1,3,5,7,9,10,12]
  7. n=length(y);
  8. yy=ones(n,1);
  9. yy(1)=y(1);
  10. for i=2:n
  11. yy(i)=yy(i-1)+y(i)
  12. end
  13. B=ones(n-1,2);
  14. for i=1:(n-1)
  15. B(i,1)=-(yy(i)+yy(i+1))/2;
  16. B(i,2)=1;
  17. end
  18. BT=B';
  19. for j=1:(n-1)
  20. YN(j)=y(j+1);
  21. end
  22. YN=YN';
  23. A=inv(BT*B)*BT*YN;
  24. a=A(1);
  25. u=A(2);
  26. t=u/a;
  27. t_test=input('输入需要预测的个数:');
  28. i=1:t_test+n;
  29. yys(i+1)=(y(1)-t).*exp(-a.*i)+t;
  30. yys(1)=y(1);
  31. for j=n+t_test:-1:2
  32. ys(j)=yys(j)-yys(j-1);
  33. end
  34. x=1:n;
  35. xs=2:n+t_test;
  36. yn=ys(2:n+t_test);
  37. plot(x,y,'^r',xs,yn,'*-b');
  38. det=0;
  39. for i=2:n
  40. det=det+abs(yn(i)-y(i));
  41. end
  42. det=det/(n-1);
  43. disp(['百分绝对误差为:',num2str(det),'%']);
  44. disp(['预测值为:',num2str(ys(n+1:n+t_test))]);

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/菜鸟追梦旅行/article/detail/682166
推荐阅读
相关标签
  

闽ICP备14008679号