全国大学生统计建模大赛论文二等奖第五名.docx
- 文档编号:10686221
- 上传时间:2023-02-22
- 格式:DOCX
- 页数:33
- 大小:34.91KB
全国大学生统计建模大赛论文二等奖第五名.docx
《全国大学生统计建模大赛论文二等奖第五名.docx》由会员分享,可在线阅读,更多相关《全国大学生统计建模大赛论文二等奖第五名.docx(33页珍藏版)》请在冰豆网上搜索。
全国大学生统计建模大赛论文二等奖第五名
2019年全国大学生统计建模大赛论文二等奖第五名
二重趋势时间序列的组合预测模型
广东外语外贸大学陈文聪、庄文钿、苏玲
摘要
时间序列预测是一个多学科交叉的研究领域,呈现趋势变动性和周期波动性的二重趋势时间序列更是经常出现在各种重要场合,建立有效模型对其准确预测尤为重要。
本文基于二重趋势时间序列理论,以我国1992年-2019年各季度的国内生产总值(GDP)为基础,分别建立单一预测模型GM(1,1),BP神经网络和ARIMA,并采取中位移动平均法对数据进行分解,构建基于GM(1,1),BP神经网络和ARIMA的二重趋势时间序列组合预测模型,进而对模型进行检验,确定相对最优模型为二重趋势时间序列的组合预测模型。
利用所建立模型对我国2019年-2019年的季度GDP做出预测并与实际情况进行对比分析。
本文总结了前人时间序列预测研究的不足,指出了以组合预测模型代替单一预测模型,基于确定性因素分解以二重趋势组合模型代替非确定性因素分解的一般组合模型,尝试拟合组合模型残差项减少信息丢失,基于非参数Friedman检验科学确认组合模型相对最优的重要性和有效性。
本文在前人研究成果的基础上,针对现实二重趋势时间序列预测模型研究的不足之处,提出作者自己的观点和想法,并将它们付诸于实践,希望可以对二重趋势时间序列组合模型用于实际预测做出一点贡献。
关键词:
二重趋势时间序列;组合模型;国内生产总值(GDP);预测
一、概述.........................................................3
(一)时间序列研究概况.......................................3
(二)本文研究的意义、亮点...................................3(三)本文的研究思路及建模准备...............................4
1.研究思路.................................................42.数据来源.................................................5
二、单一预测模型的介绍及建模过程................................6
(一)灰色预测模型...........................................6
1.模型介绍.................................................62.建模过程.................................................6
(二)BP神经网络............................................12
1.模型介绍................................................122.建模过程................................................12(三)ARIMA模型.............................................16
1.模型介绍................................................162.建模过程...............................................17
三、组合预测模型的引入及建模准备...............................25
(一)若干假设.................................................25
(二)数据的分解...............................................25四、组合预测模型构建过程.......................................26
(一)长期趋势项模型构建过程...................................26
1.选用构建长期趋势项模型的单一模型........................262.长期趋势项的灰色G(1,1)模型构建.......................26
(二)季节波动项模型构建过程...................................29
1.选用构建季节波动模型的单一模型..........................292.波动项的BP神经网络构建.................................293.波动项的ARIMA模型构建................................314.季节波动模型的最终构建过程...............................32(三)随机干扰项模型构建过程...................................33(四)组合预测模型构建最终过结果............................34五、组合模型与单一模型预测精度对比分析.........................35
(一)直接结果对比分析.........................................35
(二)非参数Friedman检验......................................36六、总结与展望.................................................37
(一)全文总结.................................................37
(二)研究展望.................................................37参考文献..........................................................39附录...............................................................40致谢...............................................................56
一、概述
(一)
时间序列研究概况
时间序列分析方法就是从具有先后顺序的信息中提取有用信息,它是数理统计的一个重要分支.其实质是通过对历史数据的处理,寻找出前后数据之间的关系,建立关联模型,然后通过历史数据和所建立的关联模型来预测时间序列的未来值,从而把握事物的未来发展[1]。
然而许多商业和经济时间序列并非呈现单一趋势,而是表现出趋势变动性和周期波动性二重特征,该类时间序列的准确预测,对各种业务部门的有效决策起着非常重要的作用[2]。
笔者研究发现对于二重趋势时间序列前人研究方法大部分集中在单一模型上面,如最常见的自回归移动平均(ARIMA)模型,灰色GM(1,1)模型已经今年来比较热门的神经网络模型等。
也有少部分研究人员开始尝试建立组合模型来进行来提高预测精度,如《利用灰色神经网络预测组合模型在二重趋势性季节型电力负荷的预测》(牛东等,2001)、《回归时间序列组合模型在石油企业费用预算编制中的应用》(胡江波,2019)、《基于GMDH和BP的组合预测模型在工业产品销售收入中的应用》(王洪涛等,2019)等。
这些组合预测方法在具体问题的应用中都表现出了较高的预测精度,使所探讨的实际问题得到了较好的解决。
然而更加有针对性的结合二重趋势时间序列特征科学合理选择单一模型建模的组合预测研究少之又少,有必要结合时间序列趋势变动性和周期波动性二重特征选择恰当单一模型建立组合预测模型。
(二)本文研究的意义、亮点
笔者在研究时间序列尤其是二重趋势时间序列建模预测的相关文献过程中得到很多启示,其中宋仙磊等的《二重趋势时间序列的灰色组合预测模型》(2019)对笔者有较大启发,本文基于以上研究提出更加完善的二重趋势时间序列组合预测模型,并给出全部建模过程。
研究亮点主要如下:
1.数据:
不同于以往研究只选择年度数据或者月度数据,本文选择季度GDP
数据进行研究,尝试拟补季度GDP预测研究的不足,并且本文研究期数多达76期,使研究结果更有精确;
2.单一模型:
本文对单一模型的选择精雕细琢,结合不同单一模型的预测优
点最终确定以GM(1,1)预测趋势项,以BP神经网络和ARIMA通过最小二乘法加权预测周期项,以自回归模型拟合残差项;
3.组合模型:
为了最大限度减少信息丢失,本文在建立周期项组合模型时采
取最小二乘法加权使信息量提取充分,并且在总得组合模型建立时尝试拟合残差自回归模型,确保较少信息遗漏;
4.模型检验:
对于每个单一模型的建模过程,笔者都科学严谨检验每个过程,
对GM(1,1)进行残差修正,对BP神经网络采取试凑法确定误差最小网络结构,对ARIMA进行严格单位根检验等,并且在组合模型与单一模型对比阶段引进基于非参的Friedman方法,科学确定组合模型是否相对最优。
(三)本文的研究思路及建模准备
1.研究思路
(1)研究大体框架
针对二重趋势时间序列的趋势变动性和周期波动性特征,提出一种组合预测模型。
首先对二重趋势时间序列进行分解,得到趋势变动项、周期波动项和随即干扰项,用灰色G(1,1)对趋势项预测,再用BP神经网络和ARIMA的组合模型对周期项预测,用乘积模型合成这两部分结果,再加上随机干扰项得到二重趋势时间序列的最终预测值。
其基本流程如图1所示:
(2)二重趋势时间序列的组合预测模型构造
ˆBP(k)是BP神经网络对周期波动项的预测值,yˆARIMA(k)是ARIMA模型对设y
ˆS(k)为:
周期波动项的预测值,则周期项的组合预测值y
y(k)aby
s
BP
BP
(k)bARIMAy
ARIMA
(k)
注:
其中
b
BP
、
b
ARIMA
分别为BP神经网络模型和ARIMA模型在周期波动项预测模型中的系数的系数。
结合最优线性组合模型原理,利用样本期的实际值和各单项预测模型的拟合值进行线性回归,然后利用线性回归模型,以原方案的预测值作为外生变量进行外推预测[3]。
其中,权重bBP、bARIMA的确定可以通过线性规划法,另外还可有遗传算法、量子搜索算法、粒子群算法等其他的寻优算法。
ˆGM(k)是GM灰色预测模型对趋势项的预测值,把趋势项和组合后的周期波y
ˆ(k)为:
动项进行再次组合,则二重趋势时间序列组合预测值y
y(k)y(k)y
s
GM
(k)(k)
2.数据来源
本文选取的GDP季度数据均来自国家统计数据库,为实际GDP季度数据。
笔者共收集了1992年到2019年19年共76期数据,较大的样本量为我们进行时间序列分析提供了基本条件。
本文对1992年至2019年度的76期季度国内生产总值数据进行了分析,只用前68期数据参与建模,再用2019~2019年8期季度的数据检验模型拟合效果(具体数据见附录1)。
本文使用多种经济学软件,如MATLAB,Eviews,SAS软件对数据进行处理建模。
无论是对数据整理、数据平稳性检验还是模型拟合,效果都很好。
二、单一预测模型的介绍及建模过程
(一)
灰色预测模型
1.模型介绍
灰色模型(GreyModel,GM模型)是灰色系统理论的基本模型。
G(1,1)模型,即单变量一阶灰色模型,通过对原始数据作一次累加生成,并建立微分方程模型,求得拟合曲线,用以对序列进行预测,其建模步骤如下:
(1)给定序列在t时刻的观测值:
X={X
(1),X
(2),···,X(n)}
(2)作一阶累加生成1-AGO,得到新的数列:
X={X
(1),X
(2),···,X(n)},其中:
X(3)构造一阶微分方程:
(1)
(1)
(1)
(1)
(0)
(0)
(0)
(0)
(1)
(k)X(0)(i),k1,2,...n。
i1
k
dX
(1)
aX
(1)udt
利用最小二乘法求得参数a,u:
a
ˆ(BTB)1BTYN,a
u
1
(1)
(1)1[X
(1)X
(1)]2X(0)
(2)1
(1)
(1)(0)X(3)1[X
(2)X(3)]
YN其中:
B2。
X(0)(n)1
[X
(1)(n1)X
(1)(n)]1
2求得微分方程,即可得预测模型:
ˆ
(1)(k1)[X(0)
(1)u]eakuX
aa
2.建模过程
(1)数据预处理
对原序列做时序图可以看出该序列明显呈现固定周期性变化,即具有“季节”
效应。
由于灰色G(1,1)模型仅能较好地拟合时间序列的趋势性部分,而对于周期波动性,其预测精度则明显降低。
为了提高模型拟合度,在模型建立前,对数据进行预处理,消除时间序列的“季节”效应。
对于存在“季节”效应的时间序列,可以通过原序列除以相应的季节指数予以消除。
表1.运用按季平均求季节指数
如表1求得各季度季节指数,用原序列除以相应的季节指数即可得到消除季
节影响后的时间序列(详见附录2)
(2)GM(1,1)模型建立及修正
该模型运用SAS8.0软件进行拟合预测操作,代码详见附录。
首先,记原始时间序列为:
X(0)={X(0)
(1),X(0)
(2),X(0)(3),X(0)(4),······,X(0)(68)},上标0表示原始时间序列。
(SAS中记为xt)
a)构造累加生成列(SAS中记为yt)
X
(1)
(1)=X(0)
(1)=12672.85X
(1)
(2)=X
(1)
(1)+X(0)
(2)=27729.05X
(1)(3)=X
(1)
(2)+X(0)(3)=43475.41······
X
(1)(68)=X
(1)(67)+X(0)(68)=4793643.35
b)构造数据矩阵B(SAS中记为zt)和数据向量Yn
12[X
(1)
(1)X
(1)
(2)]11(12672.852772912.05])
(1)
(1)1B[X
(2)X(3)]1(27729.0543475.41)2212[X
(1)(67)X
(1)
(68)]112(4610527.244793643.35)20200.95135602.231
4702085.30115056.20
Yn15746.36
183116.11
c)计算参数矩阵
ˆ
为待估参数,利用最小二乘法求解,可得111
ˆ(BTB)1BTYn
-0.034202
17253.66
即α=-0.034202,μ=17253.66
d)得出预测模型(预测结果记为xp)
dX
(1)
0.034202X
(1)17253.66dt
X(0)
(1)12672.85X(0)
(1)
-504463.4817
517136.3317
X
(1)(k1)517136.3317e0.034202k504463.4817
e)残差检验
表2.GM(1,1)拟合结果残差检验
表2仅截取前10个数据(所以数据详见附录3)。
由表2可以看出,相对误差序列中的相对误差较大,所以要对原模型进行残差修正,以提高精度。
f)利用残差对原模型进行修正
将残差记为:
e(0)={e(0)(1’),e(0)(2’),„,e(0)(67’)}={2936.84,2872.72,„,11146.49}
e(0)的累加生成序列为:
e
(1)={e
(1)(1’),e
(1)(2’),„,e
(1)(67’)}={29336.84,5809.46,„,346283.25}e
(1)可建立相应的GM(1,1)模型,求得参数
e0.016111ˆe2778.27
eˆ
(1)(k1)[e(0)
(1)则e
ekek]e175382.3741e0.016111172445.5341ee
e
(k1)ˆ
(1)(k1)]'2825.585429e0.016111对上述求导,得:
[e
这样得到经过残差修正后的模型:
(k1)ˆ
(1)(k1)517136.3317e0.034202k504463.4817(k1)2825.585429e0.016111X
1,k2
其中:
(k1)
0,k2
表3.GM(1,1)残差模型拟合结果
其中表3为GM(1,1)残差修正模型的预测结果的前10个数据(所有数据详见附录2)。
由表3可见,与GM(1,1)相比,修正模型的精度相对提高。
g)关联度检验
记关联系数为n,分析如表4:
表4.关联系数检验
由表4可得,关联系数的均值,即关联度为0.75。
根据经验,当ρ=0.5时关联度大于0.6便满意。
所以,关联度检验通过。
h)后验差检验
表5.后验差检验
由表5可得,原始序列标准差S1=45773.05,残差标准差S2=4290.74,C=S2/S1=0.093739438S0=0.6745S1=30873.92223
由于残差的取值范围为[14.5879387,25195.58],则
ˆ00,20191.430
ˆ0S1Pp00
所以,P=1,C
i)用模型结果预测2019-2019年的数据,预测结果乘以各季度的季节指数得到GDP预测值。
表6.2019-2019年预测结果
由表6预测结果得,平均相对误差较大,达到7.17%进而通过GM(1,1)残差模型进行修正。
修正结果关联度检验、后验差检验均可通过,但是残差检验中虽降低了相对误差,但是某些季度预测结果仍不容乐观,可见单一的修正后GM(1,1)残差模型仍存在一定局限性。
(二)
BP神经网络
1.模型介绍
目前,在众多神经网络中,误差反向传播(ErrorBackPrpoogration)网络由于其良好的逼近能力和成熟的训练方法而得到了最为广泛的应用[4]。
BP神经网络模型有良好的适应和自学习能力、较强的抗干扰能力。
这使得BP神经网络在时间序列预测中颇受关注。
BP神经网络模型对时间序列预测的求解步骤如下:
(1)网络结构的设计:
BP神经网络结构直接影响到模型的精度,但至今尚无统
一的理论方法,本文主要通过经验和多次尝试建立网络结构。
(2)样本的预处理:
对输入的训练数据进行归一化处理,使输入数据的取值在
(-1,1)或者(0,1)之间。
(3)BP网络的学习规则:
BP网络的学习规则一般包括以下几个步骤:
①初始化
各层间节点i和j之间的权值wij和节点j的阈值θj;②随机选取输入和目标样本提供给网络;③确定传递函数f(x);④对第p样本,计算各层节点的输出;⑤计算各层节点的误差信号;⑥反向传播;⑦计算误差。
经过不断的学习训练,使误差趋向于最小。
(4)反归一化:
学习结束,对输入和输出样本进行反归一化处理,即可得到预测值。
2.建模过程
BP网络的设计主要包括输入层,隐层,输出层及各层之间的传输函数几个方面。
(1)输入层:
a)将数据分为训练样本数据和测试数据
本文采用1992年至2019年各季度全国GDP数据共76期。
取其中前68期作为历史数据样本,将前60期数据分为10行6列矩阵作为网络训练输入向量p,将后60期数据分为10行6列矩阵作为网络训练输出向量t,取68期中的第59到68期这10期分为10行1列矩阵作为网络检验用的输入向量h,取第67到76期数据检验训练好的网络的仿真效果,将这10期分为10行1列矩阵作为网络仿真用的输入向量k。
b)对样本数据进行预处理
数据的预处理和后处理是有效训练神经网络的关键步骤,直接影响到训练后神经网络的性能。
常见的方法是将原始数据进行归一化处理,即通过一定的线性变换将输入和输出数据统一限制在(0,1)或(-1,1)区间内。
本文选取premnmx函数将数据归一化到-1和1之间。
(2)隐层:
a)确定网络层数
多层的神经网络是非常强的。
比方说,一个2层的神经网络,第一层是s型函数,而第2层是线形函数,就可以用来模拟任何函数(必须是连续有界的)[2]。
因此,我们采用2层的神经网络。
b)确定隐层神经元数
神经元数目的确定至关重要,数量太少,网络从样本中获取信息的能力就差,不足以概括和体现样本规律;数量过多,又可能“过度拟合”。
本文采取试凑法,确定网络误差最小时对应的神经元,如表8:
表8.隐层神经元试凑过程
注:
最终确定30为隐层神经元数目。
(3)训练过程:
a)确定传递函数和训练函数
一个2层的神经网络,第一层是s型函数,而第2层是线形函数,就可以用来模拟任何函数(必须是连续有界的)。
在此我们确定隐层传递函数为“logsin”,对于输出层,如果是Sigmoid函数,那么整个网络的输出就限制在一个较小的范围内(0~1之间的连续量);如果是Pureline函数,那么整个网络的输入可以取任意值。
为此我们确定输出层传递函数为“purelin”。
b)训练网络
经过不断训练试验,最终确定神经网络结构为:
其中输入输出层各10个神经元,隐层30个神经元,第一层传递函数为logsin,第二层传递函数为pureline。
(4)输出层
a)网络推广效果检验
经过网络拟合,可以得到经归一化GDP数据拟合结果均方误差(MSE)为0.000101,说明模型预测还是比较精确的,可认为模型具有一定的参考价值,其
实际结果与拟合结果如图3所示,基本拟合了数据的变化趋势:
图3.测试样本拟合情况
b)预测
将训练样本拟合出来的模型加入测试样本进行预测分析,以得出网络的仿真值。
如图所示为仿真结果与目标输出之间的拟合情况,可以看出模型基本拟合了数据的变化趋势:
图4.仿真结果对比图
将预测结果进行反归一化,可以得到模型预测的实际结果值,预测2019到2019年各季度全国GDP数据,将其与真实值进行对比:
表9.单一BP神经网络预测结果对比
可以看出所构建的BP神经网络基本上拟合了原序列的发展趋势,训练样本学习效果比较好,然而利用构建好的网络进行推广测试,却发现效果并不稳定,拟合之后部分数据与原序列的误差相当高,说明单一的BP神
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 全国大学生 统计 建模 大赛 论文 二等奖 第五