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

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为例)

clc,clear
% 表一数据(表2,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.9101.7 85.1 87.8 91.6 93.4 94.5 97.4 99.5 104.2 102.3 101.0 123.5 92.2 114.0 93.3 101.0 103.5 105.2 109.5 109.2 109.6 111.2 121.7 131.3105.0 125.7 106.6 116.0 117.6 118.0 121.7 118.7 120.2 127.8 121.8 121.9139.3 129.5 122.5 124.5 135.7 130.8 138.7 133.7 136.8 138.9 129.6 133.7137.5 135.3 133.0 133.4 142.8 141.6 142.9 147.3 159.6 162.1 153.5 155.9163.2 159.7 158.4 145.2 124.0 144.1 157.0 162.6 171.8 180.7 173.5 176.5];
han1(end,:)=[];%相当于 han1=han1(1:6,:);
m=size(han1,2);%把月份提取出来,12个月
x0=mean(han1,2);%返回每行的平均值
x1=cumsum(x0);%一次累加
alpha=0.4;
n=length(x0);%长度,数据的维度,n=6
z1=alpha*x1(2:n)+(1-alpha)*x1(1:n-1)%求邻域生成数
Y=x0(2:n);
B=[-z1,ones(n-1,1)];
ab=B\Y%求出a,b
k=6;%已知6年
x7hat=(x0(1)-ab(2)/ab(1))*(exp(-ab(1)*k)-exp(-ab(1)*(k-1)))%预测结果
z=m*x7hat %预测03年12个月总值
u=sum(han1)/sum(sum(han1)) %03年每月占全年的比例
v=z*u %03年每个月的预测值

模型结果分析:

灰色关联性分析代码:

%灰色关联分析步骤
%【1】确定比较对象(评价对象)(就是数据,并且需要进行规范化处理,就是标准化处理,见下面例题的表格数据)和参考数列(评价标准,一般该列数列都是1,就是最优的的情况)
%【2】确定各个指标权重,可用层次分析确定
%【3】计算灰色关联系数
%【4】计算灰色加权关联度
%【5】评价分析
clear,clc
x1=[1.14 1.49 1.69 2.12 2.43 4.32 5.92 6.07 7.85;3.30 3.47 3.61 3.80 4.00 4.19 4.42 4.61 4.80;6.00 6.00 6.00 7.50 7.50 7.50 9.00 9.00 9.00;1.20 1.20 1.80 1.80 1.80 2.40 2.70 3.60 4.00;4.87 5.89 6.76 7.97 8.84 10.05 11.31 12.25 11.64];%原始数据5行9列
x=x1;
n=length(x1)%列(指标数)
for i=1:5for j=1:9x(i,j)=x(i,j)/x1(1,j);end
end
x1=x;
for i=1:5for j=1:9x(i,j)=abs(x(i,j)-x1(i,1));end
end
max=x(1,1);
min=x(1,1);
for i=1:5for j=1:9if x(i,j)>=maxmax=x(i,j)endend
end
for i=1:5for j=1:9if x(i,j)<=minmin=x(i,j)endend
end
k=0.5 ;%分辨系数取值
l=(min+k*max)./(x+k*max)%求关联系数矩阵
guanliandu=sum(l')/n
[rs,rind]=sort(guanliandu,'descend') %对关联度进行排序

灰色预测代码:

%灰色预测步骤
%(1)输入前期的小样本数据
%(2)输入预测个数
%(3)运行
clear,clc
y=input('请输入数据:');  %例如输入[1,3,5,7,9,10,12]
n=length(y);
yy=ones(n,1);
yy(1)=y(1);
for i=2:nyy(i)=yy(i-1)+y(i)
end
B=ones(n-1,2);
for i=1:(n-1)B(i,1)=-(yy(i)+yy(i+1))/2;B(i,2)=1;
end
BT=B';
for j=1:(n-1)YN(j)=y(j+1);
end
YN=YN';
A=inv(BT*B)*BT*YN;
a=A(1);
u=A(2);
t=u/a;
t_test=input('输入需要预测的个数:');
i=1:t_test+n;
yys(i+1)=(y(1)-t).*exp(-a.*i)+t;
yys(1)=y(1);
for j=n+t_test:-1:2ys(j)=yys(j)-yys(j-1);
end
x=1:n;
xs=2:n+t_test;
yn=ys(2:n+t_test);
plot(x,y,'^r',xs,yn,'*-b');
det=0;
for i=2:ndet=det+abs(yn(i)-y(i));
end
det=det/(n-1);
disp(['百分绝对误差为:',num2str(det),'%']);disp(['预测值为:',num2str(ys(n+1:n+t_test))]);

灰色关联分析与预测模型相关推荐

  1. 【数学建模】算法模型(一)|线性规划 整数规划 非线性规划 层次分析模型 灰色关联分析

    文章目录 1.线性规划 Linear Programming (LP) 1.1线性规划的matlab标准形式及软件求解 1.2 投资的收益和风险 2. 整数规划 2.1 整数规划和线性规划的关系 2. ...

  2. 数学建模常用模型04:灰色关联分析法

    数学建模常用模型04:灰色关联分析法 灰色关联分析法 本文所用的资料参考来源:美赛资料网:美赛资料网 与灰色预测模型一样,比赛不能优先使用,灰色关联往往可以与层次分析结合使用.层次分析用在确定权重上面 ...

  3. 关于灰色关联分析以及灰色预测初步理解

    前言 最近初步的学习了灰色关联分析跟灰色预测的知识,做个简要的笔记 一.灰色关联分析 1.引言 我们分析的问题都存在很多指标,也可以说是多种系统作用因素共同决定,当我们准备做出决定时,会找到哪个变量对 ...

  4. 灰色关联分析法详解及python实践

    1. 关于灰色关联分析 1.1. 什么是灰色关联分析 灰色关联分析是指对一个系统发展变化态势的定量描述和比较的方法,其基本思想是通过确定参考数据列和若干个比较数据列的几何形状相似程度来判断其联系是否紧 ...

  5. 数学建模笔记——评价类模型之灰色关联分析

    这一篇就简单介绍一下灰色关联分析吧.灰色关联分析主要有两个作用,一是进行系统分析,判断影响系统发展的因素的重要性.第二个作用就是用于综合评价问题,给出研究对象或者方案的优劣排名. 不过这里我只能简单介 ...

  6. 如何利用python实现灰色关联分析?

    1.灰色关联分析简介 灰色系统这个概念是相对于白色系统和黑色系统而言的.从控制论的知识里,颜色一般代表对于一个系统我们已知信息的多少,白色代表信息量充足,黑色代表我们其中的构造并不清楚的系统,而灰色介 ...

  7. 机器学习(MACHINE LEARNING)灰色关联分析(GRA)

    文章目录 1 什么是灰色关联分析 2 灰色关联分析的步骤 3 灰色关联分析的实例 4 灰色关联分析matlab的实现 5 灰色关联分析python的实现 1 什么是灰色关联分析 灰色关联分析是指对一个 ...

  8. Python实现 灰色关联分析 与结果可视化

    之前在比赛的时候需要用Python实现灰色关联分析,从网上搜了下只有实现两个列之间的,于是我把它改写成了直接像Pandas中的计算工具直接计算person系数那样的形式,可以对整个矩阵进行运算,并给出 ...

  9. matlab灰色关联代码,灰色关联分析matlab代码

    灰色关联分析 function output=grayrela(x0) %参考因子与比较因子共同存储在一个矩阵x0中,参考因子位于第一列 %斜率序列 for i=2:length(x0(:,1)) x ...

  10. 关联矩阵古林法的matlab代码,[转载][原创]灰色关联分析及Matlab程序实现

    灰色系统理论由我国著名学者邓聚龙教授于1982提出.灰色关联分析是灰色系统理论的一个分支,应用灰色关联分析方法对受多种因素影响的事物和现象从整体观念出发进行综合评价是一个被广为接受的方法. 一.灰色关 ...

最新文章

  1. 算法笔记--单调队列优化dp
  2. 勒索病毒攻击应急防范
  3. python学习记录2
  4. redis缓存原理与实现_SpringBoot整合Redis缓存,手把手教你一步一步实现
  5. Java编程经典10道_Java经典编程题50道之十二
  6. linux jar和zip,Linux命令———zip和jar文件压缩解压
  7. java day56【 Mybatis 延迟加载策略 、 Mybatis 缓存、Mybatis 注解开发 】
  8. Axure 7.0教程_小楼作品(十六)多值单变量的页面传值
  9. java打印菱形图案_如何使用java打印出菱形图案
  10. 将sql server 2000的备份文件导入到sql server 2012中
  11. 网易有道最新力作 有道词典笔3 结构拆解
  12. android Aidl原理分析
  13. 7.arm汇编 bic和orr指令
  14. delphi中通快递(支持快递查询、快递下单)
  15. 终身学习C++__小胡亲测
  16. win10磁盘100%占用
  17. postfix 安装
  18. 2021-04-21微信大数据对于精准营销的意义有哪些?
  19. diamond 学习
  20. Linux常用基本命令详解(二)-------磁盘分区和磁盘管理类命令

热门文章

  1. 非主流字体输入法_魏大勋更博晒非主流自拍,粉丝的关注点却在他的字体上,太复杂了...
  2. CSS 美化checkbox
  3. 重磅!Pandownload开发者被抓,一代神器落幕!
  4. LoRa网关与服务器通信——PROTOCOL
  5. 双 JK 触发器 74LS112 逻辑功能。真值表_C08. D触发器
  6. mysql 删除的sql语句怎么写_mysql教程删除数据sql语句用法
  7. 高德地图生成自定义地图
  8. 管家婆服务器怎么找文件夹,请问管家婆数据备份在哪里?如何恢复?
  9. 【总结】计算机网络常用协议总结------结合cpri
  10. VUE学习(二):修改下拉框样式