数学建模 灰色预测方法
- 格式:ppt
- 大小:1.33 MB
- 文档页数:56
灰色系统模型(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~=⊗。
从本质上来看,灰数又可分为信息型、概念型、层次型三类。
灰色预测模型建模流程灰色预测模型是一种基于灰色理论的预测方法,主要用于处理样本数据有限、信息不完整或不确定的情况下的预测问题。
灰色预测模型的建模流程包括以下几个步骤:问题描述、数据序列预处理、建立灰色预测模型、模型检验与优化、预测与评价。
在进行灰色预测之前,需要明确问题的描述和目标。
例如,我们要预测某个产品的销售量,目标是根据历史数据推测未来一段时间内的销售趋势。
明确问题描述和目标有助于确定预测模型的输入和输出。
第二步是数据序列的预处理。
预处理的目的是对原始数据进行平滑、去噪和规范化,以提高模型的精度和可靠性。
常用的预处理方法有累加生成序列、均值生成序列和一次累加生成序列等。
预处理后的数据更符合灰色预测模型的要求。
第三步是建立灰色预测模型。
灰色预测模型有多种,常用的有灰色关联度模型、灰色马尔可夫模型和灰色GM(1,1)模型等。
根据问题的特点和数据的特征选择适合的模型进行建模。
以灰色GM(1,1)模型为例,该模型假设数据序列满足一阶线性累加规律,通过建立累加生成序列和非累加生成序列的微分方程,利用最小二乘法进行参数估计,得到模型的参数。
第四步是模型检验与优化。
在建立模型之后,需要对模型进行检验和优化,以保证模型的准确性和可靠性。
常用的检验方法有残差检验、后验差检验和累计误差检验等。
如果模型检验结果不理想,则需要对模型进行调整和优化,提高模型的拟合度和预测精度。
最后一步是预测与评价。
在模型检验通过后,可以使用建立好的灰色预测模型对未来的数据进行预测。
预测结果可以通过计算相对误差、平均相对误差和均方根误差等指标进行评价,以评估模型的预测效果。
总结来说,灰色预测模型的建模流程包括问题描述、数据序列预处理、建立灰色预测模型、模型检验与优化、预测与评价等步骤。
通过合理选择模型、优化模型参数和评价预测结果,可以提高灰色预测模型的准确性和可靠性,为决策提供科学依据。
非等间距序列的灰色预测GM (1,1)模型1.1 模型的准备 1.1.1 灰色预测法1、 灰色预测法是一种对含有不确定因素的系统进行预测的方法。
灰色系统是介于白色系统和黑色系统之间的一种系统。
2、白色系统是指一个系统的内部特征是完全已知的,即系统的信息是完全充分的。
而黑色系统是指一个系统的内部信息对外界来说是一无所知的,只能通过它与外界的联系来加以观测研究。
灰色系统内的一部分信息是已知的,另一部分信息时未知的,系统内各因素间具有不确定的关系。
3、灰色预测通过鉴别系统因素之间发展趋势的相异程度,即进行关联分析,并对原始数据进行生成处理来寻找系统变动的规律,生成有较强规律性的数据序列,然后建立相应的微分方程模型,从而预测事物未来发展趋势的状况。
其用等时距观测到的反应预测对象特征的一系列数量值构造灰色预测模型,预测未来某一时刻的特征量,或达到某一特征量的时间。
1.1.2灰色预测的类型①灰色时间序列预测;即用观察到的反映预测对象特征的时间序列来构造灰色预测模型,预测未来某一时刻的特征量,或达到某一特征量的时间。
②畸变预测;即通过灰色模型预测异常值出现的时刻,预测异常值什么时候出现在特定时区内。
③ 系统预测;通过对系统行为特征指标建立一组相互关联的灰色预测模型,预测系统中众多变量间的相互协调关系的变化。
④拓扑预测;将原始数据作曲线,在曲线上按定值寻找该定值发生的所有时点,并以该定值为框架构成时点数列,然后建立模型预测该定值所发生的时点。
考虑到CD4和HIV 的浓度以时间为序,称为时间序列。
因此在我们考虑建立灰色时间序列预测模型对继续治疗的效果进行预测。
定义1 设序列()()()()()()()(){}000012,,...,i n X t X t X t X t =, 若间距1,2,3,...,i i i t t t i n -∆=-=(1)不为常数, 则称()()0i X t 为非等间距序列。
定义2 设序列()()()()()()()(){}111112,,...,i n X t X t X t X t =, 若其中()()()()10,12,3,...,ii j jj Xt X t t i n ==∆=∑ (2)则称()()1i X t 为非等间距序列()()0i X t 的一次累加生成(1- A GO ) 序列在建立灰色预测模型之前,需先对原始时间序列进行数据处理,经过数据处理后的时间序列即称为生成列。
【数学建模】灰色预测模型(预测)文章目录•一、算法介绍•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. 灰色系统灰色系统是黑箱概念的一种推广。
数学建模——灰色预测模型灰色预测模型(Grey Forecasting Model)是一种用于预测不确定性数据的数学模型。
它适用于那些缺乏充分历史数据、不具备明显的规律性趋势或周期性的情况。
灰色预测模型基于灰色系统理论,通过分析数据的变化趋势和规律,来进行预测。
该模型在处理少量数据、缺乏趋势规律的情况下,具有一定的优势。
灰色预测模型的基本思想:灰色预测模型基于“白化(Whitening)”和“黑化(Blackening)”的思想,将不确定性数据分为“白色”和“黑色”两部分。
其中,“白色”代表已知数据,具有规律性和趋势,可以进行预测;而“黑色”代表未知数据,缺乏规律,需要进行预测。
通过建立数学模型,将“白色”和“黑色”数据进行融合,得出预测结果。
灰色预测模型的基本步骤:1.建立灰色数列:将原始数据分成“白色”和“黑色”两部分,构建灰色数列。
2.建立灰色微分方程:对“白色”数列进行微分,得到一阶或高阶微分方程。
3.求解微分方程:求解微分方程,得到预测模型的参数。
4.进行预测:利用已知的模型参数,对“黑色”数据进行预测,得出未来的趋势。
示例:用灰色预测模型预测销售量假设你是一家新开设的小型餐厅的经营者,你希望预测未来三个月的月销售量。
然而,你的餐厅刚刚开业不久,历史销售数据有限,且不具备明显的趋势。
这种情况下,你可以考虑使用灰色预测模型来预测销售量。
步骤:1.建立灰色数列:将已知的销售数据分为“白色”(已知数据)和“黑色”(未知数据)两部分。
2.建立灰色微分方程:对“白色”销售数据进行一阶微分,得到灰色微分方程。
3.求解微分方程:根据灰色微分方程的形式,求解微分方程,得到模型的参数。
4.进行预测:利用求解得到的模型参数,对“黑色”销售数据进行预测,得到未来三个月的销售量趋势。
这个例子中,灰色预测模型可以帮助你基于有限的历史销售数据,预测未来的销售趋势。
虽然该模型的精确度可能不如其他更复杂的方法,但在缺乏充足数据时,它可以提供一种有用的预测工具。
灰色预测模型步骤灰色预测模型是一种基于灰色理论的预测方法,其核心是建立一个数学模型来预测未来的发展趋势。
在实践中,灰色预测模型通常应用于经济、社会和环境等各个领域,以帮助决策者制定合理的规划和决策。
灰色预测模型的步骤主要包括以下5个方面:1、建立模型的数据预处理数据预处理是计算机处理向灰色预测模型输入数据的第一步。
在预处理过程中,需要对原始数据进行标准化处理,将非数值型数据转换为数值型数据,同时还需要对数据的质量进行评估,识别和剔除异常值。
2、建立灰色驱动模型在数据预处理后,需要建立一个灰色驱动模型。
该模型是一种简化的数学模型,用于描述因变量和自变量之间的离散关系。
此外,该模型还需要根据实际的情况调整参数,以提高模型的准确性。
3、对模型进行验证在灰色预测模型中,模型验证是非常重要的一步。
通过对模型进行验证,可以评估模型的预测精度,并确定预测误差的可接受范围。
如果模型的预测误差过大,则需要进一步调整模型,以获得更准确的预测结果。
4、进行预测在完成模型的验证后,需要对所建立的模型进行预测。
预测的结果通常是未来的某个时间点的数值预测。
预测结果需要基于实际情况进行解读和分析,并形成有效的决策参考。
5、模型的评价和修正最后,需要对模型进行评价和修正。
因为灰色预测模型是一种逐步调整的预测方法,因此需要在应用过程中进行持续的评价和修正。
通过评价,可以确定模型的适用性和准确性,从而更好地应对未来的预测任务。
总之,灰色预测模型是一种有效的预测方法,可以在很大程度上提高预测精度和决策效率。
通过逐步的建模和修正,该方法可以为各个领域提供更好的预测和决策参考。
什么是灰色预测法?灰色预测法是一种对含有不确定因素的系统进行预测的方法。
灰色系统是介于白色系统和黑色系统之间的一种系统。
白色系统是指一个系统的内部特征是完全已知的,即系统的信息是完全充分的。
而黑色系统是指一个系统的内部信息对外界来说是一无所知的,只能通过它与外界的联系来加以观测研究。
灰色系统内的一部分信息是已知的,另一部分信息时未知的,系统内各因素间具有不确定的关系。
灰色预测通过鉴别系统因素之间发展趋势的相异程度,即进行关联分析,并对原始数据进行生成处理来寻找系统变动的规律,生成有较强规律性的数据序列,然后建立相应的微分方程模型,从而预测事物未来发展趋势的状况。
其用等时距观测到的反应预测对象特征的一系列数量值构造灰色预测模型,预测未来某一时刻的特征量,或达到某一特征量的时间。
灰色预测的类型①灰色时间序列预测;即用观察到的反映预测对象特征的时间序列来构造灰色预测模型,预测未来某一时刻的特征量,或达到某一特征量的时间。
②畸变预测;即通过灰色模型预测异常值出现的时刻,预测异常值什么时候出现在特定时区内。
③ 系统预测;通过对系统行为特征指标建立一组相互关联的灰色预测模型,预测系统中众多变量间的相互协调关系的变化。
④拓扑预测;将原始数据作曲线,在曲线上按定值寻找该定值发生的所有时点,并以该定值为框架构成时点数列,然后建立模型预测该定值所发生的时点为了弱化原始时间序列的随机性,在建立灰色预测模型之前,需先对原始时间序列进行数据处理,经过数据处理后的时间序列即称为生成列。
灰色系统常用的数据处理方式有累加和累减两种。
关联度生成数列分类通过对原始数据的整理寻找数的规律,分为三类:a、累加生成:通过数列间各时刻数据的依个累加得到新的数据与数列。
累加前数列为原始数列,累加后为生成数列。
b、累减生成:前后两个数据之差,累加生成的逆运算。
累减生成可将累加生成还原成非生成数列。
c、映射生成:累加、累减以外的生成方式。
灰色预测关系式记x(0)为原始数列x(0)=(x(0)(k)xk=1,2,…,n)=(x(0)⑴,x(0)⑵,…,x(0)(n))记x⑴为生成数列x⑴=(x⑴(k)xk=1,2,…,n)=(x⑴⑴,x⑴⑵,…,x⑴(n))如果x(0) 与x⑴之间满足下列关系,即称为一次累加生成。
预测⽅法——灰⾊预测模型灰⾊预测模型主要特点是模型使⽤的不是原始数据序列,⽽是⽣成的数据序列,核⼼体系为灰⾊模型(GM),即对原始数据作做累加⽣成(累减⽣成,加权邻值⽣成)得到近似指数规律再进⾏建模。
优点:不需要很多数据;将⽆规律原始数据进⾏⽣成得到规律性较强的⽣成序列。
缺点:只适⽤于中短期预测,只适合指数增长的预测。
GM(1,1)预测模型GM(1,1)模型是⼀阶微分⽅程,且只含⼀个变量。
1. 模型预测⽅法2. 模型预测步骤1. 数据检验与处理为保证建模⽅法可⾏,需要对已知数据做必要的检验处理。
设原始数据列为x(0)=(x0(1),x0(2),….x0(n)),计算数列的级⽐λ(k)=x(0)(k−1)x(0)(k),k=2,3,...,n如果所有的级⽐都落在可容覆盖区间X=(e−2n+1,e2n+1)内,则数列可以建⽴GM(1,1)模型且可以进⾏灰⾊预测。
否则,对数据做适当的变换处理,如平移变换:y(0)(k)=x(0)(k)+c,k=1,2,...,n取c使得数据列的级⽐都落在可容覆盖内。
2. 建⽴模型根据1中⽅程的解,进⼀步推断出预测值ˆx(1)(k+1)=(x(0)(1)−ba)e−ak+ba,k=1,2,...,n−13. 检验预测值1. 残差检验ε(k)=x(0)(k)−ˆx(0)(k)x(0)(k),k=1,2,...,n如果对所有的|ε(k)|<0.1|ε(k)|<0.1,则认为到达较⾼的要求;否则,若对所有的|ε(k)|<0.2|ε(k)|<0.2,则认为达到⼀般要求。
2. 级⽐偏差值检验ρ(k)=1−1−0.5a1+0.5aλ(k)如果对所有的|ρ(k)|<0.1,则认为达到较⾼的要求;否则,若对于所有的|ρ(k)|<0.2,则认为达到⼀般要求。
4. 预测预报根据问题需要给出预测预报。
3. py实现import numpy as npimport pandas as pddata=[71.1,72.4,72.4,72.1,71.4,72.0,71.6] # 数据来源len=len(data) # 数据量# 数据检验lambdas=[]for i in range(1,len):lambdas.append(data[i-1]/data[i])X_Min=np.e**(-2/(len+1))X_Max=np.e**(2/(len+1))l_min,l_max=min(lambdas),max(lambdas)if l_min<X_Min or l_max> X_Max:print("该组数据为通过数据检验,不能建⽴GM模型!")else:print("改组数据通过检验")# 建⽴GM(1,1)模型data_1=[] # 累加数列z_1=[]data_1.append(data[0])for i in range(1,len):data_1.append(data[i]+data_1[i-1])z_1.append(-0.5*(data_1[i]+data_1[i-1]))B=np.array(z_1).reshape(len-1,1)one=np.ones(len-1)B=np.c_[B,one]Y=np.array(data[1:]).reshape(len-1,1)a,b=np.dot(np.dot(np.linalg.inv(np.dot(B.T,B)),B.T),Y)print('a='+str(a))print('b='+str(b))## 数据预测data_1_prd=[]data_1_prd.append(data[0])data_prd=[] # 预测datadata_prd.append(data[0])for i in range(1,len):data_1_prd.append((data[0]-b/a)*np.e**(-a*i)+b/a)data_prd.append(data_1_prd[i]-data_1_prd[i-1])# 模型检验## 残差检验e=[]for i in range(len):e.append((data[i]-data_prd[i])/data[i])e_max=max(e)if e_max<0.1:print("数据预测达到较⾼要求!")elif e_max<0.2:print("数据预测达到⼀般要求!")# 输出预测数据for i in range(len):print(data_prd[i])灰⾊Verhulst预测模型主要⽤于描述具有饱和状体的过程,即S型过程,常⽤于⼈⼝预测,⽣物⽣长,繁殖预测及产品经济寿命预测等。
灰色预测算法及相关程序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 )可通过最小二乘求解。