数学建模-灰色预测方法(1)
- 格式:ppt
- 大小:1.33 MB
- 文档页数:56
数学建模中的灰色方法在数学建模的过程中,常常遇到一些诸如:人在数学建模的过程中,常常遇到些诸如:人口模型、全国的物资调运、运输、生产销售等问题,其中有许多信息都无法确定,要建立这样的模型很困难。
量化分析方法大都是现有的系统分析方法—量化分析方法,大都是数理统计方法但这种方法多用于少因素的、线性的情形。
对于多因素的、非线性的则难以处理。
的情形对于多因素的非线性的则难以处理针对这些不足,邓聚龙教授创立了一种就数找数的方法,即灰色系统生成法。
创立灰色系统的数的方法即灰色系统生成法创立学科体系和灰色系统“概念与公理体系”,提出理论灰建模理论并创灰生成空间、灰关联空间理论、灰建模理论并创立灰预测理论及方法体系。
一、灰色系统.定义:系统作为一个包含若干相互关联、相互制约的任意种类元素组成的具有某种特定功能的整体系任意种类元素组成的具有某种特定功能的整体。
系统内部存在有物质流、信息流、能量流。
系统(根据信息明确程度)黑色系统(信息毫无所知或知之甚少)灰色系统(既含有已知信息又有未知信息)白色系统(信息完全明确)()灰色系统公理:(一)灰色系统公理:1.信息不完全、不确定的解是非唯一的;(解的非唯一性原理)22.信息是认识的根据;(认识根据原理)3.灰色系统理论的特点是充分开发利用已占有的“最小信息”;最小信息原(最小信息原理)4.新信息对认识的作用大于老信息;(新信息优先原理)(二)灰色系统的描述:灰色系统用灰色参数、灰色方程、灰色矩阵、灰色度等综灰色系统用灰色参数灰色方程灰色矩阵灰色度等综合描述,其中灰数是灰色系统的基本单元。
1.灰色参数(灰数)灰数是那些只知道大概范围而不知其确切值的数(只知道部分数学特征而不知道具体数值的参数)(只知道部分数学特征,而不知道具体数值的参数)。
例如:“某人的身高约为170cm 、体重大致为60kg”,这里的“(约为))”“60”都是灰数这里的(约为)170(cm )、60都是灰数,分别记为、。
算法简介1、灰色预测模型(必掌握) 灰色预测模型使用范围:①数据样本点个数少,6-15个 ②数据呈现指数或曲线的形式③只适合做中短期预测,不适合长期预测。
灰色预测原理比较简单,详细的可以参考司守奎《数学建模算法与应用》。
需要注意的几点是:(1)灰色预测的使用范围(2)灰色预测中的“级比”如果级比不在范围要对数据进行处理。
(3)司老师书中的代码,并没有运行出后面的运行结果,如果想运行出预测的结果,看下面的说明。
(4)在使用灰色预测的时候要考虑残差等(见代码的最后三行) (5)代码直接复制粘贴文本文档的文件就可以了。
(6)文本文档是给出了两种代码,不要复制错了,第一个是司老师书中的。
第二个是学员提交的作业,可以直接得出预测结果,但是没有检验结果。
例 北方某城市 1986~1992 年道路交通噪声平均声级数据见1。
表1 城市交通噪声数据/dB(A)序号 年份 eq L序号 年份 eq L1 1986 71.1 5 1990 71.42 1987 72.4 6 1991 72.03 1988 72.4 7 1992 71.6 4198972.1该例题源代码如下: clc,clearx0=[71.1 72.4 72.4 72.1 71.4 72.0 71.6]';%注意这里为列向量 n=length(x0);lamda=x0(1:n-1)./x0(2:n) %计算级比 range=minmax(lamda') %计算级比的范围 x1=cumsum(x0); %累加运算B=[-0.5*(x1(1:n-1)+x1(2:n)),ones(n-1,1)]; Y=x0(2:n); u=B\Y syms x(t)x=dsolve(diff(x)+u(1)*x==u(2),x(0)==x0(1));%求微分方程的符号解xt=vpa(x,6)%以小数格式显示微分方程的解yuce1=subs(x,t,[0:n-1]);%为提高预测精度,先计算预测值,再显示微分方程的解。
灰色系统模型(Grey Model,GM)一:解决的关键问题 (所谓灰色系统是指部分信息已知而部分信息未知的系统,灰色系统所要考察和研究的是对信息不完备的系统,通过已知信息来研究和预测未知领域从而达到了解整个系统的目的)灰色系统模型作为一种预测方法广泛应用于工程控制,经济管理,社会系统等众多领域。
二:GM(1,1)模型(一):对原始序列累加处理一次累加生产序列②(即1-AGO序列),表示为其中,一次累加序列(1)X 的第k 项由原序列的前k 项和产生,即: 由(1)X 的相邻项平均得到(1)X 的紧邻均值生成序列(1)z ,表示为:根据上述序列,有灰色系统模型GM(1,1)的基本形式:(二)构造GM(1,1)模型方程组的矩阵形式,并求解参数 GM(1,1)模型的微分方程基本形式:(三)求的时间响应序列,累减得到原序列的预测值(四)模型检验残差的均值、方差分别为:21S C S 称为均方差比值,对于给定的00C ,当0C C 时,称模型为均方差比合格模型;1(()0.6745)p p k S 称为小误差概率,对于给定的00P ,当0P P 时,称模型为小误差概率合格模型。
一般均方差比值C 越小越好(因为C 小说明S 小,1S 大,即残差方差小,原始数据方差大,说明残差比较集中,摆动幅度小,原始数据比较分散,摆动幅度大,所以模拟效果好,要求2S 与1S 相比尽可能小),以及小误差概率p 越大越好,给定000,,,C p 的一组取值,就确定了检验模型模拟精度的一个等级,常用的精度等级见表1。
软件DPS 的分析结果也提供了C 、p 的检验结果。
(五)残差修正模型(六)建立新陈代谢GM(1,1)进行动态预测在实际建模过程中,原始数据序列的数据不一定全部用来建模。
我们在原始数据序列中取出一部分数据,就可以建立一个模型。
一般说来,取不同的数据,建立的模型也不一样,即使都建立同类的GM(1,1)模型,选择不同的数据,参数a,b的值也不一样。
第7章 灰色预测方法 预测就是借助于对过去的探讨去推测、了解未来。
灰色预测通过原始数据的处理和灰色模型的建立,发现、掌握系统发展规律,对系统的未来状态做出科学的定量预测。
对于一个具体的问题,究竟选择什么样的预测模型应以充分的定性分析结论为依据。
模型的选择不是一成不变的。
一个模型要经过多种检验才能判定其是否合适,是否合格。
只有通过检验的模型才能用来进行预测。
本章将简要介绍灰数、灰色预测的概念,灰色预测模型的构造、检验、应用,最后对灾变预测的原理作了介绍。
7.1 灰数简介7.1.1 灰数一棵生长着的大树,其重量便是有下界的灰数,因为大树的重量必大于零,但不可能用一般手段知道其准确的重量,若用⊗表示大树的重量,便有[)∞∈⊗,0。
是一个确定的数。
海豹的重量在20~25公斤之间,某人的身高在1.8~1.9米之间,可分别记为 []25,201∈⊗,[]9.1,8.12∈⊗ 4. 连续灰数与离散灰数在某一区间内取有限个值或可数个值的灰数称为离散灰数,取值连续地充满某一区间的灰数称为连续灰数。
某人的年龄在30到35之间,此人的年龄可能是30,31,32,33,34,35这几个数,因此年龄是离散灰数。
人的身高、体重等是连续灰数。
5. 黑数与白数当()∞∞-∈⊗,或()21,⊗⊗∈⊗,即当⊗的上、下界皆为无穷或上、下界都为讨论方便,我们将黑数与白数看成特殊的灰数。
6. 本征灰数与非本征灰数本征灰数是指不能或暂时还不能找到一个白数作为其“代表”的灰数,比如一般的事前预测值、宇宙的总能量、准确到秒或微妙的“年龄”等都是本征灰数。
非本征灰数是指凭先验信息或某种手段,可以找到一个白数作为其“代表”的灰数。
我们称此白数为相应灰数的白化值,记为⊗~,并用()a ⊗表示以a 为白化值的灰数。
如托人代买一件价格100元左右的衣服,可将100作为预购衣服价格()100⊗的白化数,记为()100100~=⊗。
从本质上来看,灰数又可分为信息型、概念型、层次型三类。
【数学建模】灰色预测模型(预测)文章目录•一、算法介绍•o 1.灰色预测模型o 2.灰色系统理论o 3. 针对类型o 4. 灰色系统o 5. 灰色生成o 6. 累加生成o7. GM(1,1)模型o▪推导▪精度检验▪精度检验等级参照表•二、适用问题•三、算法总结•o 1. 步骤•四、应用场景举例•o 1. 累加生成o 2. 建立GM(1,1)模型o 3. 检验预测值•五、MATLAB代码•六、实际案例•七、论文案例片段(待完善)灰色预测模型主要针对数学建模问题中的一些小的子问题进行求解,如果想直接使用请跳转至——四、五另外之前看过一篇比较完整的【数学建模常用算法】之灰色预测模型GM,作者:張張張張视频回顾一、算法介绍1.灰色预测模型灰色预测模型(Gray Forecast Model)是通过少量的、不完全的的信息,建立数学模型并做出预测的一种预测方法.当我们应用运筹学的思想方法解决实际问题,制定发展战略和政策、进行重大问题的决策时,都必须对未来进行科学的预测.预测是根据客观事物的过去和现在的发展规律,借助于科学的方法对其未来的发展趋势和状况进行描述和分析,并形成科学的假设和判断。
2.灰色系统理论灰色系统理论是研究解决灰色系统分析、建模、预测、决策和控制的理论.灰色预测是对灰色系统所做的预测。
目前常用的一些预测方法(如回归分析等),需要较大的样本,若样本较小,常造成较大误差,使预测目标失效。
灰色预测模型所需建模信息少,运算方便,建模精度高,在各种预测领域都有着广泛的应用,是处理小样本预测问题的有效工具。
3. 针对类型灰色系统理论是由华中理工大学邓聚龙教授于1982年提出并加以发展的。
二十几年来,引起了不少国内外学者的关注,得到了长足的发展。
目前,在我国已经成为社会、经济、科学技术在等诸多领域进行预测、决策、评估、规划控制、系统分析与建模的重要方法之一。
特别是它对时间序列短、统计数据少、信息不完全系统的分析与建模,具有独特的功效,因此得到了广泛的应用.4. 灰色系统灰色系统是黑箱概念的一种推广。
灰色系统预测GM(1,1)模型及其Matlab实现三天三夜72小时:读懂题目-》查找文献资料-》选择题目-》重查找文献资料-》精读其中几篇-》查找资料的资料。
在数学建模中常常会遇到数据的预测问题,有些赛题中,预测占主导地位,例如:2003年A题 SARS的传播问题;2005年A题长江水质的评价和预测问题;2006年B题艾滋病疗法的评价及疗效的预测问题;2007年A题中国人口增长预测问题。
有些问题则是需要在求解的过程中进行预测,如2009年D题“会议筹备”对与会人数的确定等。
参考资料:《灰色系统理论及其应用第五版》作者:刘思峰,党耀国等著出版时间:2010.05 校超星数字图书馆可阅读。
灰色模型(Gray Model)有严格的理论基础,最大优点是实用。
用灰色模型预测的结果比较稳定,不仅适用于大数据量的预测,在数据量较少时(>3)预测结果依然较准确。
预备知识(1)灰色系统白色系统是指系统内部特征是完全已知的,即人们不仅知道该系统的输入——输出关系,而且知道实现输入——输出关系的结构与过程;黑色系统是指系统内部信息完全未知的,即人们只知道该系统输入——输出关系,但不知道实现输入——输出关系的结构与过程;而灰色系统是介于白色系统和黑色系统之间的一种系统,灰色系统其内部一部分信息已知,另一部分信息未知或不确定。
例如,一个加有电压的电阻,也是一个系统,根据欧姆定律,I=U/R,当电阻的大小知道后,便可由多大电压算出能得到多大电流。
电压与电流之间有明确的关系或函数,这便是白色系统。
因此,这样的系统要求有明确的作用原理,一个有明确作用原理的系统必定是具有确定结构的,必定是有物理原型的。
然而许多社会经济系统都没有物理原型,虽然知道影响系统的某些因素,但很难明确全部因素,更不可能确定因素之间的映射关系。
这种没有确定的映射关系(函数关系)的系统是灰色系统。
(2)灰色预测灰色预测,是指对系统行为特征值的发展变化进行的预测,对既含有已知信息又含有不确定信息的系统进行的预测,也就是对在一定范围内变化的、与时间序列有关的灰过程进行预测。
数学建模-灰⾊预测模型GM(1,1)_MATLAB %GM(1,1).m%建⽴符号变量a(发展系数)和b(灰作⽤量)syms a b;c = [a b]';%原始数列 AA = [174, 179, 183, 189, 207, 234, 220.5, 256, 270, 285];%填⼊已有的数据列!n = length(A);%对原始数列 A 做累加得到数列 BB = cumsum(A);%对数列 B 做紧邻均值⽣成for i = 2:nC(i) = (B(i) + B(i - 1))/2;endC(1) = [];%构造数据矩阵B = [-C;ones(1,n-1)];Y = A; Y(1) = []; Y = Y';%使⽤最⼩⼆乘法计算参数 a(发展系数)和b(灰作⽤量)c = inv(B*B')*B*Y;c = c';a = c(1);b = c(2);%预测后续数据F = []; F(1) = A(1);for i = 2:(n+10) %这⾥10代表向后预测的数⽬,如果只预测⼀个的话为1F(i) = (A(1)-b/a)/exp(a*(i-1))+ b/a;end%对数列 F 累减还原,得到预测出的数据G = []; G(1) = A(1);for i = 2:(n+10) %10同上G(i) = F(i) - F(i-1); %得到预测出来的数据enddisp('预测数据为:');G%模型检验H = G(1:10); %这⾥的10是已有数据的个数%计算残差序列epsilon = A - H;%法⼀:相对残差Q检验%计算相对误差序列delta = abs(epsilon./A);%计算相对误差Qdisp('相对残差Q检验:')Q = mean(delta)%法⼆:⽅差⽐C检验disp('⽅差⽐C检验:')C = std(epsilon, 1)/std(A, 1)%法三:⼩误差概率P检验S1 = std(A, 1);tmp = find(abs(epsilon - mean(epsilon))< 0.6745 * S1);disp('⼩误差概率P检验:')P = length(tmp)/n%绘制曲线图t1 = 1995:2004;%⽤⾃⼰的,如1 2 3 4 5...t2 = 1995:2014;%⽤⾃⼰的,如1 2 3 4 5... plot(t1, A,'ro'); hold on;plot(t2, G, 'g-');xlabel('年份'); ylabel('污⽔量/亿吨');legend('实际污⽔排放量','预测污⽔排放量'); title('长江污⽔排放量增长曲线'); %都⽤⾃⼰的grid on;。
数学建模——灰色预测模型灰色预测模型(Grey Forecasting Model)是一种用于预测不确定性数据的数学模型。
它适用于那些缺乏充分历史数据、不具备明显的规律性趋势或周期性的情况。
灰色预测模型基于灰色系统理论,通过分析数据的变化趋势和规律,来进行预测。
该模型在处理少量数据、缺乏趋势规律的情况下,具有一定的优势。
灰色预测模型的基本思想:灰色预测模型基于“白化(Whitening)”和“黑化(Blackening)”的思想,将不确定性数据分为“白色”和“黑色”两部分。
其中,“白色”代表已知数据,具有规律性和趋势,可以进行预测;而“黑色”代表未知数据,缺乏规律,需要进行预测。
通过建立数学模型,将“白色”和“黑色”数据进行融合,得出预测结果。
灰色预测模型的基本步骤:1.建立灰色数列:将原始数据分成“白色”和“黑色”两部分,构建灰色数列。
2.建立灰色微分方程:对“白色”数列进行微分,得到一阶或高阶微分方程。
3.求解微分方程:求解微分方程,得到预测模型的参数。
4.进行预测:利用已知的模型参数,对“黑色”数据进行预测,得出未来的趋势。
示例:用灰色预测模型预测销售量假设你是一家新开设的小型餐厅的经营者,你希望预测未来三个月的月销售量。
然而,你的餐厅刚刚开业不久,历史销售数据有限,且不具备明显的趋势。
这种情况下,你可以考虑使用灰色预测模型来预测销售量。
步骤:1.建立灰色数列:将已知的销售数据分为“白色”(已知数据)和“黑色”(未知数据)两部分。
2.建立灰色微分方程:对“白色”销售数据进行一阶微分,得到灰色微分方程。
3.求解微分方程:根据灰色微分方程的形式,求解微分方程,得到模型的参数。
4.进行预测:利用求解得到的模型参数,对“黑色”销售数据进行预测,得到未来三个月的销售量趋势。
这个例子中,灰色预测模型可以帮助你基于有限的历史销售数据,预测未来的销售趋势。
虽然该模型的精确度可能不如其他更复杂的方法,但在缺乏充足数据时,它可以提供一种有用的预测工具。
答疑解惑239以人口预测为例初试数学建模★纪秀浩本文研究“二孩”政策对我国人口发展的影响问题,对于预测未来30年人口数的问题,分别对“单独二孩”和“全部二孩”政策首先建立灰色预测模型,将近5年的人口数据做累加合成,得到近似指数规律的数据,然后建立leslie 模型,将用灰色预测模型算出来的数据代入leslie 模型中,得到leslie 矩阵,进而预测出未来30年我国的人口数;通过搜集中国统计局各个年龄段的结构比例以及老年人口占全部人口的比重,预测未来30年老龄化程度。
本课题是研究单独二胎和全面二胎对未来人口的影响,所以我们要用到最新的数据并对未来30年做一个预测,由于需要的数据很少,所以我们必须用已有的数据做一些预测,本次预测方法采用灰色模型矩阵来进行预测,灰色模型它的优点就在于根据已有的少量数据,对事物的发展规律做一个模糊性的描述,来预测后边未知的数据,当然在此之前我们还要把之前的数据进行一些累加,以弱化原始数据的影响,而且大大的减少了原始数据的随机性,从而呈现出比较明显的变化规律。
得到了一个初步的数据后,我们可以用Leslie 模型在MATLAB 的基础上编程求解,在图中呈现不开放二胎和单独二胎政策和全面二胎政策的一些发展趋势,并定量的分析两种政策下对未来国家总人口及老龄化的影响。
一、灰色GM(1,1)模型为了研究“二孩”政策对我国人口发展的影响问题,对于预测未来30年人口数的问题,通过搜集统计局近5年的数据人口[1],分别对“单独二孩”和“全部二孩”政策首先建立灰色预测模型,将近5年的人口数据做累加合成,得到近似指数规律的数据,将已知的2006年至2010年出生人口性别比数据作为已知数据向量0x ,(0)125{(0),(0),,(0)}x x x x = ,先对五年的数据进行一次累加。
以减少对后边数据的影响,并得到新的向量表达式:1(1)(0) (1,2,,30),kk jj x xk ===∑ 令x为生成的新向量,(1)1230{(1),(1),,(1)}x x x x = ,在新向量x 的基础上建立灰色方程为(t)(1)dx cx v d t+= (1)式(1)为灰色一阶微分方程,一般记做(1,1)G M,其中,c v为未知参数。
数学建模算法:灰⾊预测模型GM(1,1)及Python代码灰⾊预测模型GM(1,1)灰⾊预测模型\(GM(1,1)\)是在数学建模⽐赛中常⽤的预测值⽅法,常⽤于中短期符合指数规律的预测。
其数学表达与原理分析参考⽂章尾部⽹页与⽂献资料。
经过整理,以下附上Python代码:灰⾊模型要求数据前后级⽐落⼊范围 \(\displaystyle \Theta\left(e^{-\frac{2}{n+1}},e^{\frac{2}{n+2}}\right)\) ,因此做线性平移预处理使得元数据满⾜要求。
线性平移:将数据平移⾄不⼩于1,检查级⽐,若不满⾜要求则将数据向上平移⼀个最⼩值直到满⾜要求。
可以推断出,级⽐的上下界在给定数据点数越多的情况下,越趋于1。
import numpy as npimport matplotlib.pyplot as plt# 线性平移预处理,确保数据级⽐在可容覆盖范围def greyModelPreprocess(dataVec):"Set linear-bias c for dataVec"import numpy as npfrom scipy import io, integrate, linalg, signalfrom scipy.sparse.linalg import eigsfrom scipy.integrate import odeintc = 0x0 = np.array(dataVec, float)n = x0.shape[0]L = np.exp(-2/(n+1))R = np.exp(2/(n+2))xmax = x0.max()xmin = x0.min()if (xmin < 1):x0 += (1-xmin)c += (1-xmin)xmax = x0.max()xmin = x0.min()lambda_ = x0[0:-1] / x0[1:] # 计算级⽐lambda_max = lambda_.max()lambda_min = lambda_.min()while (lambda_max > R or lambda_min < L):x0 += xminc += xminxmax = x0.max()xmin = x0.min()lambda_ = x0[0:-1] / x0[1:]lambda_max = lambda_.max()lambda_min = lambda_.min()return c# 灰⾊预测模型def greyModel(dataVec, predictLen):"Grey Model for exponential prediction"# dataVec = [1, 2, 3, 4, 5, 6]# predictLen = 5import numpy as npfrom scipy import io, integrate, linalg, signalfrom scipy.sparse.linalg import eigsfrom scipy.integrate import odeintx0 = np.array(dataVec, float)n = x0.shape[0]x1 = np.cumsum(x0)B = np.array([-0.5 * (x1[0:-1] + x1[1:]), np.ones(n-1)]).TY = x0[1:]u = linalg.lstsq(B, Y)[0]def diffEqu(y, t, a, b):return np.array(-a * y + b)t = np.arange(n + predictLen)sol = odeint(diffEqu, x0[0], t, args=(u[0], u[1]))sol = sol.squeeze()res = np.hstack((x0[0], np.diff(sol)))return res# 输⼊数据x = np.array([-18, 0.34, 4.68, 8.49, 29.84, 50.21, 77.65, 109.36])c = greyModelPreprocess(x)x_hat = greyModel(x+c, 5)-c# 画图t1 = range(x.size)t2 = range(x_hat.size)plt.plot(t1, x, color='r', linestyle="-", marker='*', label='True')plt.plot(t2, x_hat, color='b', linestyle="--", marker='.', label="Predict")plt.legend(loc='upper right')plt.xlabel('xlabel')plt.ylabel('ylabel')plt.title('Prediction by Grey Model (GM(1,1))')plt.show()误差分析部分:可就绝对误差、相对误差、级⽐、残差做数据分析,以下⽰例为最⼩⼆乘法线性回归分析。
灰色预测理论在数学建模中的应用作者:胡金杭摘要:灰色系统理论在自动控制领域中已取得了广泛的应用,本文针对灰色预测理论的特点,分析了它在数学建模中的具体应用。
首先,本文对如何将实际问题转化为灰色GM(1,1)预测模型给了具体的步骤,同时针对模型的特点,可以对其的预测精度进行后验差检验,随后,针对基本灰色GM(1,1)预测模型单调性的特点,我们可以采用改进的等维灰数递补模型,这样可以大大的提高模型对实际问题的预测精度。
关键字:GM(1,1)预测模型后验差检验等维灰数递补模型引言现实中的很多实际问题,都需要通过分析现有的数据,对该问题未来的发展趋势进行预测,随后决策者参考预测得到的结果,就可以制定合理的解决方案。
在预测分析中,最基本的预测模型为线性回归方程,针对一些规律性较强的数据,该模型能作出精确的预测,但在实际中,我们得到的常是一些离散的,规律性不强的数据,为解决此类问题,线性的方法就不适用了,此时,就需要采用灰色预测的方法。
灰色预测理论是将看似离散的数据序列经数据变换后形成有规律的生成数列( 如累加生成、累减生成) ,然后对生成数列建立微分方程,得到模型的计算值后,再与实测值比较获得残差,用残差再对模型作修正,然后便可用建立的灰色模型对该问题进行预测。
一、具体的灰色GM(1,1)预测模型的建立:我们设已知数据变量组成序列,则我们可得到数据序列,用1-AGO生成一阶累加生成序列为:其中 (1-1) 由于序列具有指数增长规律,而一阶微分方程的解恰是指数增长形式的解,因此我们可以认为序列满足下述一阶线性微分方程模型(1-2)我们利用离散差分方程的形式对上微分方程可以得到下矩阵形式:(1-3)简记为: (1-4)式中;;上述方程组中,和B 为已知量,A 为待定参数。
可用最小二乘法得到最小二乘近似值。
因此,式(1-4)可改写为式中,E —误差项。
利用矩阵求导公式,可得(1-5)解得结果代入(2-2)中,我们可以得到(1-6)写成离散形式(令),得到GM(1,1)模型的时间响应函数(K =1,2,…)(1-7) 我们对其做累减还原,即可得到原始数列的灰色预测模型为:(K =1,2,…) (1-8) 将相关数据代入公式中进行运算,我们得到系数的具体值,即得到了具体的预测公式。
灰色预测算法及相关程序1 引言 (3)2算法的基本原理 (3)2.1 GM(1,1)模型: (3)2.2生成数 (4)2.2.1累加生成 (4)2.2.2累减生成 (5)3算法的具体实现流程 (6)3.1 算法流程图 (6)3.2 实现步骤 (8)3.3 数据准备与预处理 (10)4 算法程序实现 (10)4.1 程序使用说明 (10)4.2 程序源代码 (11)4.3 程序运行 (16)4.3.1程序运行及运行环境说明 (16)4.3.2 输入数据 (16)4.3.3 输出数据 (16)5 参考文献 (17)灰色预测算法1 引言灰色预测(grey prediction)是利用灰色系统理论就灰色系统所作的预测.灰色系统理论认为,尽管系统表象复杂,数据散乱,信息不充分,但作为系统,它必然有整体功能和内在规律,必然是有序的.现有的分析方法大多依据过去的大量数据,按照统计方法分析其规律,这样不仅受数据量的限制,而且准确程度不高.而灰色系统理论把随机量看作是在一定范围内变化的灰色量,对灰色量的处理不是寻求它的统计规律和概率分布,而是对原始数据加以处理,将杂乱无章的原始数据变为规律性较强的生成数据,通过对生成数据建立动态模型,来挖掘系统内部信息并充分利用信息进行分析预测.目前,灰色系统理论用于预测主要通过GM(m,n)模型,该模型是灰色系统理论的量化体现,可用于以下几个方面的预测:(1)数列预测:对某个事物发展变化的大小与时间进行预测.(2)灾变预测:预测灾变发生的时间或者说是异常值出现时区的分布.如人体的血压过高或过低的时间预测.(3)季节性灾变预测:对发生在每年特定时区的事件和命题作预测.(4)拓扑预测:即事物整体的预测,亦称波形预测.其特点是对于预先给定的多组数值建立GM(1,1)模型群,根据预测结果构造出整个波形.(5)系统预测:对系统中众多变量间相互协调关系的发展变化所进行的预测.2算法的基本原理2.1 GM(1,1)模型:灰色模型GM(1,1) GM(1,1)的含义为1阶,1个变量的灰色模型,它是在数据生成的基础上建立如下灰微分方程:)0(()+)()1(kbazkx=式中)()0(k x 为原始序列,)0()1(AGOx x =,)1(5.0)(5.0)()1()1()1(-+=k x k x k z .a 称为发展系数,它反映)1(x 和)0(x 的发展态势;b 称为灰作用量,它的大小反映数据变化的关系.对序列})(,),3(),2({)1()1()1()1(n z z z z =,因为)()1(k z 为)()1(k x 与)1()1(-k x 的平均值,故记)1(z 为MEAN )1(x ,即=)1(z MEAN )1(xb k az k x =+)()()1()0(的白化型为: b ax dt dx =+)1()1(初始值用)1()1()0()1(x x =,则其解为: a b e a b x t x t a +⎪⎭⎫ ⎝⎛-=--)1()0()1()1()( 该式用于预测时称为时间响应函数,表示为a b e a b x k x k a +⎪⎭⎫ ⎝⎛-=+-)1()1(ˆ)0()1( 累减还原:)(ˆ)1(ˆ)1(ˆ)1()1()0(k x k x k x-+=+ 其中(a,b )可通过最小二乘求解。