热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

matlab灰度方差smd_黑白之间,灰度预测

今天图图整理了一下有关灰度预测模型的介绍:灰色预测模型可针对数量非常少(比如仅4个),数据完整性和可靠性较低的数据序列进行有
189dc619c075996dfe2e6a564e33258c.png

今天图图整理了一下有关灰度预测模型的介绍:

灰色预测模型可针对数量非常少(比如仅4个),数据完整性和可靠性较低的数据序列进行有效预测,其利用微分方程来充分挖掘数据的本质,建模所需信息少,精度较高,运算简便,易于检验,也不用考虑分布规律或变化趋势等。但灰色预测模型一般只适用于短期预测,只适合指数增长的预测,比如人口数量,航班数量,用水量预测,工业产值预测等。

将按照以下顺序介绍:

  • 灰度(色)系统
  • 灰色生成数列
  • 灰色预测模型的分类
  • GM(1,1)模型
  • MATLAB算例

1 灰度(色)系统

灰色预测法

灰度系统恰好位于白色系统和黑色系统之间,灰度系统内部一部分是已知的,但是另一部分却是未知的。

白色系统

白色系统指的是一个系统内部的特征是完全已知的,使用者不仅知道系统的输入-输出关系,还知道实现输入-输出的具体方式,譬如函数表达式,微分方程的变化公式,或者物理学的基本定律。比方说牛顿第二定律F=ma, 使用者只需要知道物体的质量和加速度,就可以通过牛顿第二定律求出所使用的力F的具体值。或者说当物体的质量固定之后,已知不同的加速度,就可以求出不同的力的值,力和加速度之间有明确的关系表达式。这种系统就称为白色系统。

黑色系统

黑色系统和白色系统就有鲜明的对比,使用者完全不清楚黑色系统的内部特征,只是知道一些输入和相应的输出。使用者需要通过这一系列的输入和输出的对应关系来判断这个黑色系统的内部特征,对于没有办法打开的黑箱,使用者需要通过输入和输出来建立模型来了解这个黑箱。比方说:高校在进行招生的时候,其实对考生是几乎不了解的,这个时候就需要通过高考或者自主招生考试来判断学生的知识掌握程度和运用知识解决问题的能力。通过测试的结果来判断学生的综合能力的大小,进而判断是不是符合高校的专业需求。

灰度系统

灰度系统恰好位于白色系统和黑色系统之间,灰度系统内部一部分是已知的,但是另一部分却是未知的。比方说:经济学中的模型,通过数学或者统计学的方法,可以判断某些因素之间确实有关系,但是却不能够完全的判断整个系统的情况,对于很多未知的情况,这些模型就有一定的局限性。于是,灰度系统就需要通过判断系统各个因素之间的发展规律,进行相应的关联分析。通过原始的数列来生成规律性更强的数列,通过生成的数列来建立相应的微分方程模型,从而预测数列的未来发展趋势。灰度模型使用等时间距观测到的数据值来构造灰色预测模型,从而达到能够预测未来某一时刻的数值的目的。

尽管灰度系统的现象不够清楚,内部的结构并不为人所知,数据是杂乱的,但是却是互相关联的,有整体功效的,因而可以对它的变化过程进行预测。其中灰度模型是灰度系统理论的重要组成部分,将杂乱的原始数据整理成规律性较强的数据,然后再利用离散的灰度方程建立连续的微分模型,从而对系统的发展做出全面的观察分析,并做出长期预测。

2 灰色预测法

灰色预测法是一种预测灰色系统的方法。

灰色预测通过鉴别系统因素之间发展趋势的相异程度,即进行关联分析,并对原始数据进行生成处理来寻找系统变动的规律,生成有较强规律性的数据序列,然后建立相应的微分方程模型,从而预测事物未来发展趋势的状况。其核心体系是灰色模型(Grey Model,GM),即对原始数据做累加生成(或者累减、均值等方法)生成近似的指数规律再进行建模的方法。

3 灰色生成数列

灰色系统理论认为,尽管客观表象复杂,但总是有整体功能的,因此必然蕴含某种内在规律。关键在于如何选择适当的方式去挖掘和利用它。灰色系统时通过对原始数据的整理来寻求其变化规律的,这是一种就数据寻求数据的现实规律的途径,也就是灰色序列的生产。一切灰色序列都能通过某种生成弱化其随机性,显现其规律性。数据生成的常用方式有累加生成累减生成加权邻值生成

累加生成

累加生成是使灰色过程由灰变白的一种方法

94ec8d0cc2f5f305535220bc6b9a6924.png

称此式所表示的数据列为原始数据列的一次累加生成,简称为一次累加生成。

加权邻值生成

fb31394e1209f501222cc02f5c5985ac.png

由此得到的数列称为邻值生成数,权α也称为生成系数。 特别地,当生成系数α=0.5时,则称该数列为均值生成数,也称为等权邻值生成数。

4 灰色预测模型的分类

  • GM(1,1)模型
  • 与GM(2,1)模型
  • DGM模型
  • Verhulst模型
0be77d699d0f084b6bf5286558456743.png

5 GM(1,1)模型

建立灰色模型的一般步骤

  • 第一步:级比检验,建模可行性分析。 
  • 第二步:数据变换处理。 
  • 第三步:用GM(1,1)建模。 
  • 第四步:模型检验。

计算式

2da1dd06f583fdabab7dd436f382c635.png
afaec014eef03e2023d2b8d85309557e.png
92fc93827e04caa3eb094a6691834aa8.png

MATLAB算例

clc,clear;
syms a b;
c=[a b]';
A=[17995.04 19574.69 23379.09 25852.56 30533.90];%输入你的原始数据值
B=cumsum(A); %对原始数据进行累加
n=length(A);
for i=1:(n-1) C(i)=(B(i)+B(i+1))/2; %生成累加矩阵
end
%计算待定参数的值
D=A;D(1)=[];
D=D';
E=[-C;ones(1,n-1)];
c=inv(E*E')*E*D;
c=c';
a=c(1);b=c(2); %对后续数据进行预测
F=[];F(1)=A(1);
for i=2:(n+4) F(i)=(A(1)-b/a)/exp(a*(i-1))+b/a;
end
G=[];G(1)=A(1);
for i=2:(n+3)G(i)=F(i)-F(i-1); %n加的数是指预测的数据个数,可以修改,我这里预测了五个数据
end
t1=2015:2019; %假设数据按年份的时间轴变化,一开始用了七个数据,所以这里从2011-2017,共七年
t2=[t1 2020 2025 2030]; %原始的七个数据加上预测的五个数据共12个,故从2011-2022
disp('分别为2020,2025,2030预测值')
RESULT=G(6:8)
plot(t1,A,'o',t2(6:8),G(6:8) ,'*'); %这是绘图函数grid on
xlabel('年份') %横轴名称
ylabel('预测值') %纵轴名称
title('基于2015-2019年的数据对未来某三年的预测图') %预测图名称%==================检验% 计算残差
epsilon = A - G(1:5);
% 计算相对误差
delta = abs(epsilon./A);% 检验模型的误差
% 检验方法一:相对误差Q检验法
disp('相对残差检验法')
Q = mean(delta)
% 检验方法二:方差比C检验法
% 计算标准差函数为std(x,a)
% 如果后面一个参数a取0表示的是除以n-1,如果是1就是最后除以n
disp('方差比C检验法')
C = std(epsilon,1)/std(A,1)
% 检验方法三:小误差概率P检验法
disp('小误差概率P检验法')
S1 = std(A,1);
S1_new = S1*0.6745;
temp_P = find(abs(epsilon-mean(epsilon)) P = length(temp_P)/n

查看我的主页获得更多内容及完整源代码!

参考文章:

  • https://zhuanlan.zhihu.com/p/72746735;
  • https://zr9558.com/2015/09/14/greysystemtheory/;
  • https://www.cnblogs.com/somedayLi/p/9543202.html;
  • https://spssau.com/helps/weights/gm11.html



推荐阅读
  • 阿里Treebased Deep Match(TDM) 学习笔记及技术发展回顾
    本文介绍了阿里Treebased Deep Match(TDM)的学习笔记,同时回顾了工业界技术发展的几代演进。从基于统计的启发式规则方法到基于内积模型的向量检索方法,再到引入复杂深度学习模型的下一代匹配技术。文章详细解释了基于统计的启发式规则方法和基于内积模型的向量检索方法的原理和应用,并介绍了TDM的背景和优势。最后,文章提到了向量距离和基于向量聚类的索引结构对于加速匹配效率的作用。本文对于理解TDM的学习过程和了解匹配技术的发展具有重要意义。 ... [详细]
  • 本文主要解析了Open judge C16H问题中涉及到的Magical Balls的快速幂和逆元算法,并给出了问题的解析和解决方法。详细介绍了问题的背景和规则,并给出了相应的算法解析和实现步骤。通过本文的解析,读者可以更好地理解和解决Open judge C16H问题中的Magical Balls部分。 ... [详细]
  • 本文介绍了P1651题目的描述和要求,以及计算能搭建的塔的最大高度的方法。通过动态规划和状压技术,将问题转化为求解差值的问题,并定义了相应的状态。最终得出了计算最大高度的解法。 ... [详细]
  • 推荐系统遇上深度学习(十七)详解推荐系统中的常用评测指标
    原创:石晓文小小挖掘机2018-06-18笔者是一个痴迷于挖掘数据中的价值的学习人,希望在平日的工作学习中,挖掘数据的价值, ... [详细]
  • ASP.NET2.0数据教程之十四:使用FormView的模板
    本文介绍了在ASP.NET 2.0中使用FormView控件来实现自定义的显示外观,与GridView和DetailsView不同,FormView使用模板来呈现,可以实现不规则的外观呈现。同时还介绍了TemplateField的用法和FormView与DetailsView的区别。 ... [详细]
  • 本文讨论了一个数列求和问题,该数列按照一定规律生成。通过观察数列的规律,我们可以得出求解该问题的算法。具体算法为计算前n项i*f[i]的和,其中f[i]表示数列中有i个数字。根据参考的思路,我们可以将算法的时间复杂度控制在O(n),即计算到5e5即可满足1e9的要求。 ... [详细]
  • 网址:https:vue.docschina.orgv2guideforms.html表单input绑定基础用法可以通过使用v-model指令,在 ... [详细]
  • 本文介绍了Python字典视图对象的示例和用法。通过对示例代码的解释,展示了字典视图对象的基本操作和特点。字典视图对象可以通过迭代或转换为列表来获取字典的键或值。同时,字典视图对象也是动态的,可以反映字典的变化。通过学习字典视图对象的用法,可以更好地理解和处理字典数据。 ... [详细]
  • 我用Tkinter制作了一个图形用户界面,有两个主按钮:“开始”和“停止”。请您就如何使用“停止”按钮终止“开始”按钮为以下代码调用的已运行功能提供建议 ... [详细]
  • 前端开发工程师必读书籍有哪些值得推荐?我们直接进入代码复杂版式设置,如下所示,先写些标签,源码在这个链接里面:https://codepen.io/Shadid ... [详细]
  • CSS|网格-行-结束属性原文:https://www.gee ... [详细]
  • C#中DataGridView中数据导出为网页的问题
    在对服务器进行巡检后,我们需要保存一份巡检的日志下来,虽然可以通过sprie.xls第三方控件保存为excel,但是感觉还是直接生成网页更加方便。这里使用到了VUE2+elemen ... [详细]
  • keras归一化激活函数dropout
    激活函数:1.softmax函数在多分类中常用的激活函数,是基于逻辑回归的,常用在输出一层,将输出压缩在0~1之间,且保证所有元素和为1,表示输入值属于每个输出值的概率大小2、Si ... [详细]
  • 本文由编程笔记#小编为大家整理,主要介绍了logistic回归(线性和非线性)相关的知识,包括线性logistic回归的代码和数据集的分布情况。希望对你有一定的参考价值。 ... [详细]
  • HDU 2372 El Dorado(DP)的最长上升子序列长度求解方法
    本文介绍了解决HDU 2372 El Dorado问题的一种动态规划方法,通过循环k的方式求解最长上升子序列的长度。具体实现过程包括初始化dp数组、读取数列、计算最长上升子序列长度等步骤。 ... [详细]
author-avatar
日月阁文玩都汇
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有