数学建模之灰色预测模型
01灰色预测
算法简介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的值也不一样。
数学建模方法之灰色系统模型
,L
,
0
x0
n n
0, 0.0002, 0.00228, 0.0002 @ 1,2,3, 4
• 平均相对误差
1 4
4
k
k 1
0.00067
0.067%
0.01
• 模拟误差4 0.0002 0.01,精度为一级。
• 计算 X 与x$ 的灰色绝对关联度 :
s
3
xk x1
k 2
1 2
x$1 k 1 313834e0.089995k 286574
x$
k
1
x$1
k
1
x$1
k
• 得模拟序列
µX x$1, x$2,L , x$4 27260, 29533,32337,35381
• 残差序列 0 0, 6,74,7
• 相对误差序列
V
0 1 x0 1
, 0
x0
2 2
进行预测。
练习3:预测第五届会议参会人数 已知1、以往四届会议代表回执和与会代表情况如下表
第一届 第二届 第三届 第四届
发来回执的代表数量 315
356 408
711
发来回执但未与会的 89 代表数量
未发回执而与会的代 57 表数量
115 121 213
三、数列预测举例
• 数列预测是对系统变量的未来行为进行预 测,灰色系统基本模型GM(1,1)是较常 用的数列预测模型。根据实际情况,也可 以考虑采用其他灰色模型,在定性分析的 基础上,定义适当的算子,对算子作用后 的序列建立GM模型,通过精度检验后,即 可用于预测。
• 例1河南省长葛县乡镇企业产值(数据来源于 长葛县统计局)。
• 定义2.3设 X 0 为原始序列,X$0 为相应的模拟序
灰色预测模型原理
灰色预测模型原理灰色预测模型(Grey Prediction Model)是一种基于灰色系统理论和数学建模方法的预测模型。
灰色系统理论是我国学者黄金云教授于1982年提出的一种系统理论,它是研究非确定性和不完备信息系统的一种新方法,可用于研究多变量、小样本和非线性系统。
灰色预测模型主要基于灰色数学建模方法,通过对已知的部分序列数据进行建模和预测,来推测未知的序列数据趋势。
它适用于研究数据量小、信息不完备、非线性关系复杂的系统。
下面将简要介绍灰色预测模型的原理、模型建立过程以及一些应用案例。
1. 灰色预测模型的原理灰色预测模型的核心思想是通过对已知数据进行灰色关联度的度量,从而建立出合适的数学模型,进行未来数据的预测。
其基本原理可以概括为以下五个步骤:(1)建立灰色微分方程:根据原始数据的特点,确定合适的灰色微分方程,通常使用一阶或高阶灰色微分方程。
(2)求解灰色微分方程:根据所选择的灰色微分方程,求解其参数,得到模型的特征参数。
(3)模型检验:检验所建立的灰色预测模型的拟合程度和误差是否符合要求。
(4)进行灰色关联度分析:根据已知数据的变化规律,计算各个因素的灰色关联度,确定相关因素的重要性。
(5)进行预测:利用建立好的灰色预测模型,对未来的数据进行预测和分析,得出预测值。
2. 模型建立过程灰色预测模型的建立过程中,通常包括以下几个步骤:(1)数据的建立与处理:对原始数据进行筛选、预处理和归一化处理,以满足模型的要求。
(2)建立灰色微分方程:从已知数据中提取主要特征,并根据数据的特点选择合适的灰色微分方程。
(3)求解灰色微分方程:根据所选的灰色微分方程,通过累加生成序列、求解参数等方法,得到模型的特征参数。
(4)模型的检验:根据已知数据的拟合程度和误差范围,评估所建立的灰色预测模型的准确性和可靠性。
(5)模型的应用与预测:利用已建立的模型进行未来数据的预测和分析,得出预测结果。
3. 应用案例灰色预测模型在实际应用中具有广泛的应用范围,以下是一些常见的应用案例:(1)经济领域:用于对经济指标、市场需求、价格变动等进行预测,为经济决策提供参考。
大学生数学建模竞赛模板--sars模型灰色预测
SARS对经济指标的影响王海燕徐昊天吴德春摘要本文针对SARS 疫情传播对经济指标影响的问题,建立灰色预测模型,得到03年预测数据,并与实际数据作比较,进而研究SARS疫情对该市各经济指标的影响及其程度。
为研究SARS疫情对该市各经济指标的影响,我们作出了不同经济指标的散点图和数据列表,使得对问题的研究更直观。
(1)SARS对零售业的影响为简化计算,我们以1997--2002年年总值构造参考数列,得到一个预测各年总值的方程。
利用方程先预测出2003年零售额的年总值,根据各月综合服务业数额在年总值中所占比例求得各月预测值。
利用MATLAB软件求解,得到得预测值与实际值有一定的相差但相差并不大。
从表三我们得出结论:SARS疫情的传播对零售业从4月份开始产生影响,5、6月份影响最大,10月份以后影响就很小了。
(2)SARS对海外旅游业的影响以1997--2002年每年同期的数据构造参考数列,可以得到1-12月的共12个预测方程,即可预测2003年各月的海外旅游人数。
利用MATLAB软件求解,得到的预测值和实际值相差很大,说明从4月份开始SARS疫情就对旅游业产生影响,尤其5、6月份影响最大,但10月份以后影响就变小甚至没有影响了。
(3)SARS对综合服务业总额的影响以1997--2002年年总值构造参考数列,得到一个预测各年总值的方程。
利用方程先预测出2003年的年总值,再根据各月综合服务业数额在年总值中所占比例求得各月的预测值。
利用MATLAB软件求解,得到得预测值与实际值是很一致的。
因此,我们得出结论:SARS疫情的传播对综合服务业没有影响。
另外,本文对模型的误差进行了准确的分析,使得结论更加科学更加有说服力。
虽然模型的建立都是采用了灰色预测法,但在具体的数据处理时,采用了不同的方法,使模型更加丰满,更有特色。
关健词:经济指标;灰色预测;MATLAB;相对误差§1问题的提出背景知识与要解决的问题2003年SARS疫情席卷全球,对世界各国各地区各行业都造成一定的影响。
数学建模灰色预测法
灰色预测法
1 灰色预测理论
2 GM(1,1)模型 3 GM(1,1)残差模型及GM (n, h)模型
二、模型检验 灰色预测检验一般有残差检验、关联度检 验和后验差检验。
(1)残差检验
ˆ 0 i , ˆ 1 i 累减生成 X ˆ 1 i , 并将 X 按预测模型计算 X
ˆ 0 i 的绝对误差序列及相 然后计算原始序列X 0 i 与 X
对误差序列。
原始数据进行生成处理来寻找系统变动
的规律,生成有较强规律性的数据序列,
然后建立相应的微分方程模型,从而预
测事物未来发展趋势的状况。
回总目录 回本章目录
• 灰色预测法用等时距观测到的反映预测对 象特征的一系列数量值构造灰色预测模型, 预测未来某一时刻的特征量,或达到某一
特征量的时间。
回总目录 回本章目录
回总目录
1灰色预测理论
一、灰色预测的概念
(1)灰色系统、白色系统和黑色系统 • 白色系统是指一个系统的内部特征是完全 已知的,即系统的信息是完全明确的。
回总目录 回本章目录
• 黑色系统是指一个系统的内部信息对外界
来说是一无所知的,只能通过它与外界的
联系来加以观测研究。 • 灰色系统内的一部分信息是已知的,另一 部分信息是未知 的,系统内各因素间有不
回总目录 回本章目录
一个计算关联度的例子
工业、农业、运输业、商业各部门的行为 数据如下: 工业
X1 45.8, 43.4, 42.3, 41.9
关于“灰色预测模型”讲解
x
(0)
解(1)由原始数据列计算一次累加序列 结果见表7.3. 表7.3 一次累加数据
年份 1999 2000 2001 2002
x
(1)
2003
序号
(0)
1
2
3
4
5
x
2.874 2.874
3.278 6.152
3.337 9.489
3.390 12.879
3.679 16.558
x
(1)
(2)建立矩阵:
x (5) x (5) x (4) 34 27 7,
(1) (1) (1) (1) (1) (1) (1)
x (4) x (4) x (3) 27 17 10,
(1) (1)
x (3) x (3) x (2) 17 9 8,
(1) (1)
( 0) (1) ì ï x (2) + ax (2) = u , ï ï ï ( 0) (1) ï x (3) + ax (3) = u , ï 于是,由式(7.3)有 ï í ï .............................. ï ï ï ( 0) (1) ï x (N ) + ax (N ) = u . ï ï î
(0)
1 1 a . 1 u 1 ( x (2), x (3),
(0) (0)
, x ( N )) .
(0)
这里,T表示转置.令
(1) (1) 1 1 2 [ x (2) x (1)] 1 (1) (1) a [ x (3) x (2)] 1 2 , U , u 1 (1) (1) 2 [ x ( N ) x ( N 1)] 1
数学建模之灰色预测模型
简介
特点:模型使用的不就是原始数据列,而就是生成的数据列。
优点:不需要很多数据,一般只用4个数据就能解决历史数据少,序列的完整性与可靠性低的问题。
缺点:只适用于中短期的预测与指数增长的预测。
1
GM(1,1)表示模型为一阶微分方程,且只含有一个变量的灰色模型。
1、1模型的应用
①销售额预测
②交通事故次数的预测
3
波形预测,就是对一段时间内行为特征数据波形的预测。当原始数据频频摆动且摆动幅度较大时,可以考虑根据原始数据的波形预测未来的行为数据发展变化,以便进行决策。从本质上来瞧,波形预测就是对一个变化不规则的行为数据列的整体发展进的预测。
3、1模型的应用
①区域降水量预测(下载文档)
②运量需求不平衡航线下客流量预测(下载文档)
光滑比为
若序列满足
则序列为准光滑序列。
否则,选取常数c对序列 做如下平移变换
序列 的级比
②对原始数据 作一次累加得
建立模型:
(1)
③构造数据矩阵B及数据向量Y
其中:
④由
求得估计值 = =
⑤由微分方程(1)得生成序列预测值为
则模型还原值为
⑥精度检验与预测
残差
相对误差
相对误差精度等级表
级比偏差
若 <0、2则可认为达到一般要求;若 <0、1,则可认为达到较高要求。
③某地区火灾发生次数的预测
④灾变与异常值预测,如对旱灾,洪灾广州市人口预测与分析(下载的文档)
⑥网络舆情危机预警(下载的文档)
1、2步骤
①级比检验与判断
由原始数据列 计算得序列的级比为
若序列的级比 ∈ ,则可用 作令人满意的GM(1,1)建模。
数学建模——灰色预测模型
数学建模——灰色预测模型灰色预测模型(Grey Forecasting Model)是一种用于预测不确定性数据的数学模型。
它适用于那些缺乏充分历史数据、不具备明显的规律性趋势或周期性的情况。
灰色预测模型基于灰色系统理论,通过分析数据的变化趋势和规律,来进行预测。
该模型在处理少量数据、缺乏趋势规律的情况下,具有一定的优势。
灰色预测模型的基本思想:灰色预测模型基于“白化(Whitening)”和“黑化(Blackening)”的思想,将不确定性数据分为“白色”和“黑色”两部分。
其中,“白色”代表已知数据,具有规律性和趋势,可以进行预测;而“黑色”代表未知数据,缺乏规律,需要进行预测。
通过建立数学模型,将“白色”和“黑色”数据进行融合,得出预测结果。
灰色预测模型的基本步骤:1.建立灰色数列:将原始数据分成“白色”和“黑色”两部分,构建灰色数列。
2.建立灰色微分方程:对“白色”数列进行微分,得到一阶或高阶微分方程。
3.求解微分方程:求解微分方程,得到预测模型的参数。
4.进行预测:利用已知的模型参数,对“黑色”数据进行预测,得出未来的趋势。
示例:用灰色预测模型预测销售量假设你是一家新开设的小型餐厅的经营者,你希望预测未来三个月的月销售量。
然而,你的餐厅刚刚开业不久,历史销售数据有限,且不具备明显的趋势。
这种情况下,你可以考虑使用灰色预测模型来预测销售量。
步骤:1.建立灰色数列:将已知的销售数据分为“白色”(已知数据)和“黑色”(未知数据)两部分。
2.建立灰色微分方程:对“白色”销售数据进行一阶微分,得到灰色微分方程。
3.求解微分方程:根据灰色微分方程的形式,求解微分方程,得到模型的参数。
4.进行预测:利用求解得到的模型参数,对“黑色”销售数据进行预测,得到未来三个月的销售量趋势。
这个例子中,灰色预测模型可以帮助你基于有限的历史销售数据,预测未来的销售趋势。
虽然该模型的精确度可能不如其他更复杂的方法,但在缺乏充足数据时,它可以提供一种有用的预测工具。
数学建模+灰色预测模型+MATLAB
§12.5 灰色预测我们通常所说的系统是指:由客观世界中相同或相似的事物和因素按一定的秩序相互关联、相互制约而构成的一个整体.例如:工程技术系统、社会系统、经济系统等.如果一个系统中具有充足的信息量,其发展变化的规律明显、定量描述方便、结构与参数具体,则这种系统通常称为白色系统.如果一个系统的部特征全部是未知的,则称此系统为黑色系统.如果系统部信息和特征是部分已知的,另一部分是未知的,这种系统称为灰色系统.例如:社会系统、农业系统、经济系统、气象系统、生物系统等.对于这类系统,部因素难以辨识,相互之间的关系较为隐蔽,人们难以准确了解这类系统的行为特征.因此,对于这类问题进行定量描述,即建立模型难度较大.区别白色系统与灰色系统的重要标志是系统各因素之间是否具有确定的关系.灰色系统分析方法主要是根据具体灰色系统的行为特征数据,充分利用数量不多的数据和信息寻求相关因素自身与各因素之间的数学关系,建立相应的数学模型.目前,灰色系统理论在实际中已得到了广泛的应用,例如:在工程技术、经济管理、气象预报以及政治、社会、工业、农业等领域都取得了一定的应用成果.我们往往要对农业问题、商业问题等做未来的预测工作,另外,进行军事战争以及治理生态环境也需对未来的发展情形做一可靠的分析,这就产生了灰色预测.灰色预测是对灰色系统问题进行未来的预测,实际问题中,应用最多的灰色预测模型是以GM(1,1)(即GM(1,N)当N=1时的特例)模型为基础的.12.5.1 GM(1,1)模型的建立设X(0)=(X(0)(1),X(0)(2),…,X(0)(n)),做1-AGO,得(1)(1)(1)(1)((1),(2),,())X X X X n =L(1)(1)(0)(1)(0)((1),(1)(2),,(1)())X X X X n X n =+-+L则GM(1,1)模型相应的微分方程为:(1)(1)dX aX u dt+= (1) 式中:a 称为发展灰数;μ称为生控制灰数.设ˆα=(a ,μ)T ,按最小二乘法得到 11ˆ()T T B B B Y α-= (2) 其中(1)(1)(1)(1)(1)(1)1((1)(2))121((2)(3))121((1)())12X X X X B X n X n ⎛⎫-+ ⎪⎪ ⎪-+ ⎪=⎪⎪ ⎪--+ ⎪⎝⎭M M (0)(0)1(0)(2)(3)()X X Y X n ⎛⎫ ⎪⎪= ⎪ ⎪ ⎪⎝⎭M 易求得,方程(1)的解为(1)(0)ˆ(1)((1))ak u u Xk X e aa-+=-+ (3) 例4 100m 成绩预测1983~1990年世界男子和中国女子100m 最好成绩如表6.表6 各年度最好成绩记世界男子100m 成绩的原始数列为(0)(9.93,9.96,9.98,9.95,9.93,9.92,9.94,9.93)X =建立GM(1,1)模型,即按式(1)、(2)、(3)得到预测模型为(1)0.0007185266ˆ(1)(9.9313884.61)13884.61k Xk e -+=-+ 由预测模型得预测值为年份 模型预测值/s1991 9.92 1992 9.91 2000 9.85记中国女子的原始数列为(0)(11.95,11.66,11.63,11.65,11.35,11.32,11.58,11.32)X =同样建立GM(1,1)模型,得到预测模型为(1)0.00451067ˆ(1)(11.952602.187)2602.187k Xk e -+=-+ 从而得到中国女子100m 成绩的预测值年份 模型预测值/s1991 11.30 1992 11.24 2000 10.8512.5.2 模型检验灰色预测检验一般有残差检验、关联度检验和后验差检验.(1)残差检验按预测模型计算(1)ˆ()X i ,并将(1)ˆ()Xi 累减生成(0)ˆ()X i ,然后计算原始序列X (0)(i ) 与(0)ˆ()Xi 的绝对误差序列及相对误差序列.(0)(0)(0)ˆ()|()()|1,2,,i X i Xi i n ∆=-=L(0)(0)()()100%1,2,,()i i i n X i ∆Φ=⨯=L(2)关联度检验 定义1 选取参考数列00000{()|1,2,,}((1),(2),,())X X k k n X X X n ===L L其中k 表示时刻.假设有m 个比较数列{()|1,2,,}((1),(2),,())1,2,,i i i i i X X k k n X X X n i m ====L L L则称 0000min min |()()|max max |()()|()|()()|max max |()()|i i ikiki i i ikX k X k X k X k k X k X k X k X k ρξρ-+-=-+- (1)为比较数列X i 对参考数列X 0在k 时刻的关联系数,其中ρ∈[0,1]为分辨系数,一般取ρ=0.5.称式(1)中min min ik| X 0(k )-X i (k )|、max max ik| X 0(k )-X i (k )|分别为两级最小差和两级最大差.由(1)式易看出,ρ越大,分辨率越大;ρ越小,分辨率越小.式(1)定义的关联系数是描述比较数列与参考数列在某时刻关联程度的一种指标,由于各个时刻都有一个关联数,因此信息显得过于分散,不便于比较,为此我们给出以下定义定义2 称11()ni i k r k n ξ==∑ (2)为数列X i 对参考数列X 0的关联度.由式(2)易看出,关联度是把各个时刻的关联系数集中为一个平均值,也就是把过于分散的信息集中处理.根据前面所述关联度计算方法计算出(0)ˆ()Xi 与原始序列X (0)(i )的关联系数,然后计算出关联度,根据经验,当ρ=0.5时,关联度大于0.6便满意了.(3)后验差检验1.计算原始序列标准差:1S =2.计算绝对误差序列的标准差:2S =3.计算方差比:21S C S =4.计算小误差概率:(0)(0)1{|()|0.6745}P p i S =∆-∆<令(0)(0)01|()|,0.6745,i e i S S =∆-∆=则0{}i P p e S =<.表7 检验标准若残差检验、关联度检验和后验差检验都能通过,则可以用所建模型进行预测;若用原始时间序列X (0)建立的GM(1,1)模型检验不合格或精度不理想时,这时要对建立的GM(1,1)模型进行修正或提高模型的预测精度.其修法如下:设原始时间序列X (0)建立的GM(1,1)模型为(1)(0)ˆ(1)((1))ai u u Xi X e aa-+=-+ 可获得生成序列X (1)的预测值(1)ˆX ,即对于(1)(1)(1)(1){(1),(2),,()}XX X X n =L ,有预测序列(1)(1)(1)(1)ˆˆˆˆ{(1),(2),,()}XXX X n =L ,定义残差为 (0)(1)(1)ˆ()()()e j X j Xj =- 若取j=i ,i+1,…,n ,则与X (1)及(1)ˆX对应的残差序列为(0)(0)(0)(0){(),(1),,()}ee i e i e n =+L为便于计算上式改写为(0)(0)(0)(0){(1),(2),,()}ee e e n '''=Le (0)的累加生成序列为(1)(1)(1)(1){(1),(2),,()}ee e e n n n i ''''==-Le (1)可建立相应的GM(1,1)模型:(1)(0)ˆ(1)((1))e a k e ee eu u ek e e a a -+=-+ (1)ˆ(1)ek +的导数(1)(0)ˆ(1)()((1))e a k e e eu e k a e e a --'+=--加上(1)ˆ(1)ek +修正(1)ˆ(1)X k +,得修正模型:(1)(1)(0)(0)ˆ(1)((1))(1)()((1))e a k ak e eeu u u X k X e k a e e a a a δ---+=-+--- 其中1,2(1)0,2k k k δ≥⎧-=⎨<⎩为修正系数.最后给出经过残差修正的原始序列预测模型:(0)(1)(1)ˆˆˆ(1)(1)()(1,2,)Xk X k X k k +=+-=L§12.6 灰色预测模型案例一、问题描述表8给出了市1991年-1996年国生产总值总消费资料.生产决定消费,国生产总值总消费决定了居民的消费水平,为此很有必要对国生产总值总消费进行科学预测,分析国生产总值总消费发展趋势,为宏观经济政策的制定提供重要的参考.表8 国生产总值总消费 单位:亿元试根据表8的资料,建立市国生产总值总消费的灰色预测模型GM(1,1),并预测市1998年国生产总值总消费.二、模型的建立及求解1.令X (0)(1),X (0)(2),…,X (0)(6)对应于原始序列数据.第一步,构造累加生成序列:(1)(0)(1)(1)(0)(1)(1)(0)(1)(1)(0)(1)(1)(0)(1)(1)(0)(1)(1)386.06(2)(1)(2)862.63(3)(2)(3)1541.98(4)(3)(4)2415.87(5)(4)(5)3501.2(6)(5)(6)4753.53X X X X X X X X X X XX X X X X X ===+==+==+==+==+=第二步,构造数据矩阵B 和数据向量Y 1:(1)(1)(1)(1)(1)(1)(1)(1)(1)(1)1[(1)(2)]121624.3451[(2)(3)]121202.305111978.9251[(3)(4)]122958.53511[(4)(5)]14127.365121[(5)(6)]12X X X X B X X X X X X ⎛⎫-+ ⎪⎪⎪-⎛⎫-+ ⎪⎪- ⎪ ⎪ ⎪ ⎪==--+ ⎪⎪- ⎪ ⎪ -+⎪-⎝⎭⎪ ⎪-+ ⎪⎝⎭⎪ 1476.57679.35873.891085.331252.33Y ⎛⎫⎪ ⎪ ⎪= ⎪ ⎪ ⎪⎝⎭第三步,计算B T B , (B T B )-1, B T Y 1:31539559.341081.4751081.4755T B B -⎛⎫= ⎪-⎝⎭,10.000000120.000278742()0.0002787420.808183989T B B -⎛⎫= ⎪⎝⎭111223502.574367.47T B Y -⎛⎫= ⎪⎝⎭,110.207987503ˆ()396.8903031T T B B B Y α--⎛⎫== ⎪⎝⎭即0.207987503396.8903031a μ=-⎧⎨=⎩第四步,得出预测模型:(1)(1)0.207987503396.8903031dX X dt-= (0)(1)386.061908.241108X aμ==-(0)(1)2294.301108X aμ-=(1)0.207988(1)2294.3011081908.241108k X k e +=-三、模型检验第五步,进行关联度检验:(1)计算:(1)0,(2)53.87,(3)26.28,(4)69.82,(5)95.37,(6)33.48,∆=∆=∆=∆=∆=∆=min{()}0,max{()}95.37k k ∆=∆=(2)计算关联系数:(1)1,(2)0.47,(3)0.64,(4)0.41,(5)0.33,(6)0.59ξξξξξξ======0000min min |()()|max max |()()|()|()()|max max |()()|i i ikiki i i ikX k X k X k X k k X k X k X k X k ρξρ-+-=-+-1(10.470.640.410.330.59)0.5736r =+++++=,0.573r =是基本满足0.5ρ=时,r >0.57的.所以关联度检验通过.第六步,后验差检验:(1)计算:(0)1(386.06476.57679.35873.891085.331252.33)792.2556X=+++++=1341.065S ==(2)计算残差的均值:1(053.8726.2869.8295.3733.48)46.476∆=+++++= 残差的标准差:233.8438S ==,2133.84380.09923341.065S C S === 010.67450.6745341.065230.048S S ==⨯=|()|{46.47,7.4,20.19,23.35,48.9,12.98}k e k =∆-∆=所有e k 都小于S 0,故P=1,C<0.35.所以后验差检验通过.第七步,残差检验:(1)计算(1)(1)(1)(1)386.06,(2)916.498734,(3)1569.574052,X X X ===(1)(1)(1)(4)2373.639335,(5)3363.603222,(6)4582.44517X X X ===(2)累减生成序列:(0)(0)(0)ˆˆˆ(1)386.06,(2)530.44,(3)653.07XX X ===(0)(0)(0)ˆˆˆ(4)804.07,(5)989.96,(6)1218.35XX X === (3)计算绝对误差序列及相对误差序列:绝对误差序列△(0)={0,53.87,26.28,69.82,95.37,33.48}相对误差序列Ф={0,11.3%,3.87%,7.99%,8.79%,2.67%}相对误差序列中有的相对误差很大,所以要对原模型进行残差修正以提高精度.(4)利用残差对原模型进行修正:取 e (0)={53.87,26.28,69.82,95.37,33.48}e (1)={53.87,80.15,149.94,245.34,278.82}得(1)0.0589ˆ(1)848.1722794.3022k e k e +=-最后得修正模型为:(1)0.2079880.0589(1)ˆ(1)2294.3011081908.24118(1)49.9573k k Xk e k e δ-+=-+- 其中1,2(1)0,2k k k δ≥⎧-=⎨<⎩. 表9 修正后的残差计算表因此,可用上述经过残差修正后的模型来预测市1998年国生产总值总消费:(1)(1)==X X(7)6150.15,(8)8001.80故市1998年国生产总值总消费预测值为:(1)(1)X X-=(亿元)(8)(7)1851.65注:灰色预测是通过对原始数据的处理和灰色模型的建立,发现、掌握系统发展规律,对系统的未来状态作出科学的定量预测.一个模型要经过多种检验才能判定其是否合理有效,只有通过检验的模型才能用作预测.。
灰色预测模型建模流程
灰色预测模型建模流程灰色预测模型是一种基于时间序列数据的预测方法,可以用于预测未来的趋势和变化。
下面将介绍灰色预测模型的建模流程。
一、数据收集和预处理在建立灰色预测模型之前,首先需要收集相关的时间序列数据。
这些数据可以是销售额、产量、股票指数等,具体根据预测的对象而定。
收集到的数据需要进行预处理,包括去除异常值、平滑数据等操作,以确保数据的稳定性和可靠性。
二、建立灰色模型1. 灰色模型的基本原理灰色模型是根据系统的发展规律,通过对历史数据进行分析和处理,建立数学模型来描述和预测系统的发展趋势。
它基于灰色关联度的概念,将数据分为发展态势和发展水平两部分,通过灰色微分方程建立模型。
2. 灰色模型的建立步骤灰色模型建立的基本步骤包括:(1)确定发展态势和发展水平数据;(2)构造累加生成数列;(3)建立灰色微分方程;(4)求解灰色微分方程的参数;(5)进行模型检验和精度评价。
三、模型检验和精度评价建立灰色模型后,需要对模型进行检验和评价,以确保模型的可靠性和准确性。
模型检验的方法包括残差检验、白噪声检验等,通过对模型的残差进行分析,判断模型是否合理。
精度评价的指标主要包括平均相对误差、平均绝对误差等,通过计算这些指标可以评估模型的预测精度。
四、模型应用和预测在模型检验和评价通过后,可以使用灰色预测模型进行未来的预测。
根据建立的模型,通过输入新的数据,可以得到未来的预测结果。
预测结果可以用于决策支持、规划和调整等方面,帮助人们做出合理的决策。
总结:灰色预测模型是一种基于时间序列数据的预测方法,可以用于预测未来的趋势和变化。
建立灰色预测模型的流程包括数据收集和预处理、建立灰色模型、模型检验和精度评价、模型应用和预测。
通过这个流程,可以得到准确可靠的预测结果,为决策提供参考和支持。
灰色预测模型具有简单、高效、灵活等特点,已经在各个领域得到广泛应用。
数学建模算法:灰色预测模型GM(1,1)及Python代码
数学建模算法:灰⾊预测模型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()误差分析部分:可就绝对误差、相对误差、级⽐、残差做数据分析,以下⽰例为最⼩⼆乘法线性回归分析。
数学建模-灰色预测模型(讲解
(3)季节灾变与异常值预测,即通过灰色模型预测灾变值发生 在一年内某个特定的时区或季节的灾变预测。
(4)拓扑预测,将原始数据作曲线,在曲线上按定值寻找该定 值发生的所有时点,并以该定值为框架构成时点数列,然后建立模 型预测该定值所发生的时点。
一、灰色系统的定义和特点
1. 灰色系统的定义
灰色系统是黑箱概念的一种推广。我们把既含有已知信 息又含有未知信息的系统称为灰色系统.作为两个极端, 我们将称信息完全未确定的系统为黑色系统; 称信息完全确定的系统为白色系统. 区别白色系统与黑色系统的重要标志是系统各因素之间是 否具有确定的关系。
1灰色系统的定义和特点
1 灰色系统的定义和特点 2 灰色系统的模型 3 Sars 疫情 4 销售额预测 5 城市道路交通事故次数的灰色预测 6 城市火灾发生次数的灰色预测 7灾变与异常值预测
1 灰色系统的定义和特点
灰色系统的定义和特点
灰色系统理论是由华中理工大学邓聚龙教授于 1982年提出并加以发展的。二十几年来,引起了不 少国内外学者的关注,得到了长足的发展。目前, 在我国已经成为社会、经济、科学技术在等诸多领 域进行预测、决策、评估、规划控制、系统分析与 建模的重要方法之一。特别是它对时间序列短、统 计数据少、信息不完全系统的分析与建模,具有独 特的功效,因此得到了广泛的应用.在这里我们将简 要地介绍灰色建模与预测的方法.
灰色系统理论是研究解决灰色系统分析、建模、 预测、决策和控制的理论.灰色预测是对灰色系统 所做的预测.目前常用的一些预测方法(如回归分 析等),需要较大的样本.若样本较小,常造成较 大误差,使预测目标失效.灰色预测模型所需建模 信息少,运算方便,建模精度高,在各种预测领 域都有着广泛的应用,是处理小样本预测问题的 有效工具.
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、灰色预测模型
简介(P372)
特点:模型使用的不是原始数据列,而是生成的数据列。
优点:不需要很多数据,一般只用4个数据就能解决历史数据少,序列的完整性和可靠性低的问题。
缺点:只适用于中短期的预测和指数增长的预测。
1、GM(1,1)预测模型
GM(1,1)表示模型为一阶微分方程,且只含有一个变量的灰色模型。
1.1模型的应用 ①销售额预测
②交通事故次数的预测
③某地区火灾发生次数的预测
④灾变与异常值预测,如对旱灾,洪灾,地震等自然灾害的时间与程度进行预报。
(百度文库)
⑤基于GM(1,1)模型的广州市人口预测与分析(下载的文档) ⑥网络舆情危机预警(下载的文档) 1.2步骤
①级比检验与判断
GM(1,1)建模。
光滑比为
若序列满足
则序列为准光滑序列。
否则,选取常数c
建立模型:
(1)
③构造数据矩阵B 及数据向量Y
(1),()z n ⎥⎥
⎥⎥- 1⎦(0)Y x ⎢=⎢ ⎢⎢⎣ (1
0.5(1),2,3,
x k
k -=)
④由
1ˆ()T T a
B B B Y -⎡⎤==⎢⎥
⑤由微分方程(1)得生成序列预测值为
则模型还原值为
⑥精度检验和预测
残差
相对误差
相对误差精度等级表
级比偏差
,则可认为达到较高要求。
利用matlab求出模型的各种检验指标值的结果如表
经过验证,给出相应预测预报。
2、新陈代谢模型
灰色新陈代谢模型是一个不断考虑新信息的预测模型,它考虑了随着时间推移相继进入系统的扰动因素带来的影响,在不断补充新信息的同时,及时去掉旧信息,使整个系统一直处于更新和发展的过程中,更符合现实世界的变化。
与GM(1,1)模型相比,既能充分发挥传统GM(1,1)模型仅利用少量数据, 就能
获得较高预测精度的优点,又能反映出数据的变化趋势, 从而使预测结果的精度
获得更进一步的提高。
局限性在于该模型适合预测具有较强指数规律的序列, 只能描述单调变化的过程。
2.1模型的应用
①深圳货运量预测;(下载文档)
②天津市城市人均住宅建筑面积及非农业户籍人口总数预测(下载文档);
③网络舆情危机预警(下载文档)。
2.2步骤
①建立新陈代谢数据序列
②后续步骤同GM(1,1)模型。
以
此类推,将计算结果制表并分析。
3、波形预测
波形预测, 是对一段时间内行为特征数据波形的预测。
当原始数据频频摆动且摆动幅度较大时,可以考虑根据原始数据的波形预测未来的行为数据发展变化, 以便进行决策。
从本质上来看,波形预测是对一个变化不规则的行为数据列的整体发展进的预测。
3.1 模型的应用
①区域降水量预测(下载文档)
②运量需求不平衡航线下客流量预测(下载文档) ③网络舆情危机预警(下载文档) 3.2步骤
①求出序列折线
X 的k 段折线图形为
序列X 的折线为
]}1,2,
,1n -
min
(),)
i
s
s σσ=-+
i
()
,1)
()
x i x i γ-+-
③等高点的计算
γ
γ))(1,2,i x i '=即γ等高点。
GM(1,1)预测。
⑤得出波形预测
画出波形图,并分析。
4、Verhulst 模型
Verhulst 模型主要用来描述具有饱和状态的过程,即S 型过程。
常用于人口预测、生物生长、繁殖预测和产品经济寿命预测等。
(例如B 题艾滋病疗法的评价及治疗预测) 4.1步骤
①模型的建立
则得到灰色Verhulst 模型为
灰色Verhulst 模型的白化方程为
(2) ②参数求解
构造数据矩阵B 及数据向量Y
(1)(1)2,()())z n z n ⎥⎥ ⎥⎥- (
⎦Y
⎢=⎢⎢⎢⎣ 由
1ˆˆ()ˆT T a
u
B B B Y b -⎡
⎤==⎢⎥⎣⎦
③解微分方程(2)得灰色Verhulst 模型的时间序列响应为
通过累减还原得
④精度检验和预测 同GM(1,1)模型。
例题:
某地区年平均降雨量数据如表1。
规定ξ= 320,并认为(0)()x i ξ≤为旱灾。
预测下一次发生的时间。
表1 某地区年平均降雨量数据
解:
模型的建立: ①列出原始数据列(0)
(0)(0)(0)((1),(2),,())x
x x x n =,确定在(0)320x s ≤的条件下
的下限灾变数列0
x ξ与其相对应的时刻数列(0)t 。
计算光滑比
(0)1
(0)
1
()
()()
k i t k p k t
i -==
∑
判断序列(0)t 是否满足满足
[](1)
1,2,3,,5;()
()0,,3,4,5;
0.5.
p k k p k p k k ϕϕ+<=∈=<
②对数列(0)t 做1次累加,得(1)
t 。
③建立GM(1,1)模型。
(1)
(1),dt at b dt
+= (1) ④构造数据矩阵B 及数据向量Y
(1)(1)(1)(2)1(3)1,()z z B z n ⎡⎤- ⎢⎥- ⎢
⎥=⎢⎥ ⎢⎥⎢⎥- 1⎣⎦(0)(0)(0)(2)3()x x Y x n ⎡⎤⎢⎥⎢⎥=⎢⎥ ⎢⎥
⎢⎥⎣⎦
()
⑤由
⑥由微分方程(1)得生成序列预测值为
则模型还原值为
预测到第6个和第7个数据。
模型的求解
(1
561,300,632,540,406.2,313.8,576,587.6,318.5)
与其相对应的时刻数列为:(3,8,10,14,17)
利用matlab计算得出序列光滑。
(21
(3)由步骤③,④,⑤并利用matlab
(4)由步骤⑥,预测得到第6个和第7个数据为
由于22.034与17相差5.034这表明下一次旱灾将发生在五年以后。