APP下载

基于GA-BP模型及时间序列分析的GDP预测
——以四川省为例

2022-05-16尤旭洋

统计理论与实践 2022年4期
关键词:差分个数神经元

尤旭洋

(四川省社会科学院,四川 成都 610072)

一、引言

预测在日常生活中十分常见。采用科学方法预测,可以使人们掌握事物发展趋势,进而规避许多风险。小到衣食住行,大到国家政治经济决策,预测贯穿哲学、经济学、社会学、人口学等多方面,如何做到精确预测是非常重要的工作。GDP作为衡量一个国家或地区经济发展的重要指标,研究其变化规律尤为重要,本文采用时间序列等方法研究GDP增长趋势。经济生活中的大部分时间序列是非平稳的,GDP数据就是典型的非平稳时间序列,它的变化受许多因素的影响,很多因素对GDP有长期性、决定性作用,使时间序列变化呈某种趋势和一定规律性,还有很多因素,则起到短期的非决定性作用,使时间序列变化呈随机的不规则性。GDP预测具有很强的时效性,本文采用最新数据,用多种方法预测四川省GDP的变化趋势。

二、利用ARIMA模型预测四川省GDP

时间序列数据预处理。先从时间序列的平稳性及随机性方面进行预处理。根据四川省历年GDP总量时序图,可以看出GDP有明显的增长趋势,因此判定该时间序列不满足平稳性。对其进行一阶差分预处理,结果如图1所示,仍然不平稳,做进一步的差分处理,结果如图2所示,二阶差分后的序列一直围绕均值波动,于是判定其为二阶差分平稳序列。

图1 四川省GDP一阶差分时序图

图2 四川省GDP二阶差分时序图

白噪声检验。二阶差分之后的序列自相关图和偏自相关图分别如图3、图4所示,自相关系数图显示序列有短期相关性,说明差分后序列隐藏了很多可供提取的数据信息,所以二阶差分后序列为平稳非白噪声序列。通过平稳性及白噪声检验之后,进行ARIMA模型的定阶。

图3 四川省GDP自相关系数

由图3、图4可知,自相关系数图和偏自相关系数图都符合正弦震荡衰减的拖尾形态。接下来进一步确定模型参数,根据BIC准则,BIC函数定义如下:

图4 四川省GDP偏自相关系数

N是时间序列的序列长度,拟合的参数一般不超过N/10,随着不断提升模型的参数p和q,BIC函数中的第一项序列残差平方估计量的自然对数值会减小,第二项会增大,存在某一数值使得BIC值最小,R2更接近1,尽量选取BIC信息量值最小的参数,建立ARIMA模型。可以观察到二阶差分后序列的自相关图表现出自相关系数迅速衰减到零,自相关图表现出典型的一阶截尾性,即q=1,而偏自相关系图表现出非截尾的性质。原序列二阶差分后平稳,差分次数为d=2,因此用 ARIMA(0,2,1)模型拟合原序列。

部分模型效果如表1所示,选择建立 ARIMA(0,2,1)模型。可以看出,模型的参数显著性较高,预测值为40046,真实值为40678,误差百分比为1.6%,预测效果较好。

表1 模型不同参数比较

三、利用BP模型预测四川省GDP

(一)构建BP模型

人工神经网络模仿的是大脑神经元功能,是一种智能仿生模型,可以通过学习和训练掌握大量知识,从而对变量进行预测,得到给定精度下的预测值。神经元的默认激励函数通常如下:

单个神经元的功能非常有限,但是大量神经元相互连接,每一层的神经元状态都会影响下一层的神经元,具有十分强大的功能,并且能够很好地进行预测分析。输入层m个神经元节点到输出层的n个神经元节点,可以形成从m个自变量映射到n个需要预测的因变量的函数。

人工神经网络有很多模型,但应用最广泛、最直观的是多层前馈神经网络和误差反向传播学习算法,即BP网络。输出层用于输出网络训练的结果向量,输出向量的尺寸应根据具体的应用要求进行设计。设计时,应尽量减少系统的规模,以减少系统的复杂性。m个变量就是输入层选定的自变量输入信号,然后通过隐藏层的不停处理反馈,进而得出输出层所需的变量预测值。因此,需要选取多个可能会对预测结果产生影响的自变量指标。

(二)训练数据的选择及预处理

选取训练数据时,必须基于正确的宏观经济学理论,否则选取的自变量也许仅仅有一定的相关关系,但并不适宜用这些变量进行预测。

GDP的核算方法有生产法、支出法、收入法,其中支出法为:

GDP=C+I+G+NX

公式中的I主要与固定资产投资和存货投资有关,而C与各行各业的消费购买金额有关,G代表政府购买,NX代表净出口。

表2 选择的自变量指标含义

首先,对原始数据进行归一化处理:

部分数据的归一化处理结果如表3所示:

表3 数据归一化

特别说明本文的创新点之一在于,一般情况下BP网络为了增强映射能力和泛化能力都会采用非线性函数,实际上BP模型就是一种非线性预测的强手段。但是GDP、从业人口增长等实际生活中的经济指标,通常更趋向于线性,而不会呈现为指数形式。从GDP核算公式可以看出两者是符合某种线性关系的。因此输入层和隐藏层的拟合函数本文均选择线性拟合函数purelin,而没有选用普通的默认函数。下文对线性拟合函数purelin与默认函数预测效果进行比较。

图5 预测值与真实值对比

图6 GDP误差变化曲线

表4 神经元节点数为15时的一次B P神经网络GDP预测结果

图7 学习效果曲线图

由结果可知在训练到第8次时,误差表现已经达到训练精度要求,此时停止训练,预测值误差稳定在2%左右,相关度R均大于0.99,非常接近1。

(三)拟合函数变化对预测的影响

图8 BP神经网络训练数据进程图

采用默认函数预测,与上文线性函数预测效果进行比较。可以看出当采用BP模型默认的节点激活函数进行预测时,预测效果很差,不仅预测值与真实值相差极大,预测的误差不降反升,一度达到20.1%,学习次数达到44次,学习效果不佳,所以采用线性函数效果更好。

图9 非线性函数预测值与真实值对比

图10 非线性函数预测误差变化曲线

表5 神经元节点为非线性函数时的一次预测结果

(四)网络结构变化对预测的影响

由于初始输入层和输出层的神经元个数是通过经验公式确定,并不一定是最优的。所以为进一步探究隐含层神经元节点个数以达到学习效果相对最优,接下来保持预测精度、最大迭代次数、学习率等参数不变,改变节点个数,比较学习次数多少和误差大小,结果如表6所示,不同神经元节点个数下的人工神经网络模型学习效果存在一定差别。

表6 不同神经元节点个数的学习结果比较

神经元节点个数为5-10时,学习次数偏多,学习效果不好,误差偏大,处于欠拟合状态。神经元节点个数大于20时,学习次数良好,但误差偏大,处于过拟合状态。在神经元节点个数为15左右时,误差相对最小,学习次数相对较少,能达到预测误差要求。

由此可见,BP预测的效果虽好但是要基于大量多维的数据,需要利用所有的历史数据提高人工神经网络的泛化能力,实际上这种预测方法适合短期预测。

四、利用GA-BP模型预测四川省GDP

(一)构建GA-BP模型

BP模型有一些固有的缺点。首先,BP模型的隐含层神经元数量结构是事先规定好的,仅仅是试出来的最优解。其次,BP模型网络的初始阈值以及权值是随机产生的,没有选择的原理,随着算法不断迭代更新。最后,BP模型采用梯度下降法,容易陷入局部最优解,而找不到全局最优解。为解决这些问题,进一步引入GA-BP模型(遗传-误差反向传播算法Genetic Algorithm-Error Back Propagation)进行预测。遗传算法(GA)是一种从自然界中的进化过程得到启发的算法,是人工智能的一种算法,本质上是一种并行处理的全局搜索算法。搜索过程中不断优化,寻求最优解。通过类似基因遗传、片段交叉、基因突变、自然选择的作用下产生更新迭代,具体操作如下:

选择操作:类似于自然选择过程,更加适应要求的个体特征,被遗传的概率更大。反之,不太适应的个体会逐渐被淘汰。

交叉操作:类似基因交叉,可以产生新的,与之前个体特征都不一样的新个体,产生的新个体通常相对原个体更先进。为了判断构建的染色体进化效果,必须要引入一个评价方式,我们称为适应度函数,它保证了算法向好的方向进行下去,模拟了物竞天择自然选择的过程。不同问题需要专门设计不同的适应度函数,最直接的设定方式是采用问题的目标函数,但这个函数必须基于原来的算法,与原来的误差有关,实际应用时通常取:

分母与神经网络的残差平方和(SSE)相关,误差越大,适应函数值越小,表示该个体适应度越差,反之,适应度良好的个体可以被保留。适应度函数会影响遗传算法的迭代停止条件。现实中,对于遗传算法何时停止迭代的理论研究还不成熟。但是,当采用与原来的误差有关的目标函数作为适应度度量时,可以发现种群中的个体已趋于稳定的状态为算法停止迭代条件。遗传算法迭代的停止条件要视情况而定,何时停止要具体问题具体分析。某种程度上,适应度驱动了遗传算法的进化。但现实中有些求解问题含有约束条件,而适应度缺乏明确表示约束条件的能力。当然,目前为止也有一些解决该问题的办法,但考虑到本文不涉及约束条件,不再深入阐述该问题。

(二)预测结果

用matlab实现GA-BP神经网络预测算法结果如图11、图12所示。

图11 GA-BP预测值与真实值对比

图12 GA-BP预测误差变化曲线

表7 神经元节点数为15时的一次GA-BP神经网络GDP预测结果

训练到第8次时,误差表现达到训练精度要求,此时停止训练,预测值误差稳定在2%左右,相关度R均大于0.99,非常接近1。与原来的BP模型相比,GA-BP模型误差更小,最为明显的是误差下降速度更快。

(三)GA-BP算法与BP算法对比

为了进一步比较GA-BP算法与BP算法的预测效果,改变神经元个数,对比两种神经网络的预测误差是否达到要求的精度,比如要求均方误差MSE小于0.01。

由表8可知,设置目标MSE为最大0.01,最大迭代次数参数均为1000次,但神经元个数分别为5和10时,BP模型并不能在规定次数内达到要求精度,此时对应的GA-BP模型的预测达标次数已经分别达到21次和24次,达标率分别为72%和80%。可以得出结论:在神经元个数低于经过试验检验的最优个数15时,GA-BP模型的预测效果好于BP模型。设定神经元个数为20时,也就是高于经过试验检验的最优个数15时,GA-BP模型的达标率为90%,也高于BP模型75%。综上所述,在规定误差精度时,用GA-BP模型进行预测可以比BP模型更快速地达到目标,迭代次数更少。除此之外,在隐藏层神经元个数增加时,两种人工神经网络模型的预测效果都在变好,但此时是否已经处于过拟合状态还有待考察。

表8 两种算法预测效果对比

采用Wilcoxon秩和检验比较两种算法的性能,结果如表9所示,隐藏层神经元个数相同时,GA-BP算法的调整R2的中位数比BP算法的调整后R2要高,说明前者的拟合效果更好。还可以观察到神经元个数不是经验最优15时,通常是GA-BP算法更优,但是在神经元个数是15时,调整R2的中位数差距很小,且在0.9以上,非常接近1,即两者的效果已经没有统计学上的差异,因此更推荐GA-BP模型。

表9 两种算法预测R2对比

五、利用灰色预测模型预测四川省GDP

为了进一步比较其他方法的预测效果,引入灰色算法预测模型GM(Gray Model)。灰色算法是在数据比较简单、结构比较单一且不完备的情况下,数据的不确定性很强、约束条件很弱,此时需要在原来的基础上,按照实际属性和特征进行灰色预测。灰色问题在现实生活中有很广泛的应用。

解决实际问题时,一维的灰色预测通常用GM(1,1),它的灰色微分方程的解是在初始条件基础上求得的,拟合曲线在坐标平面上必然通过[1,x(1)]也就是第一个数据点。但由最小二乘法原理可知的,拟合曲线不一定通过第一个点,所以基于初始条件的预测结果不一定是精确的。

图13 灰色算法预测GDP值

后验差比值为0.1097,系统预测精度更好。但2015年的预测值误差百分比为8.2%,传统灰色算法预测GDP的误差相对传统的BP算法预测误差还是偏大。但灰色算法预测结果简单明了,且相对BP算法更为简单,适用于相对要求不太精确的预测过程。

表10 灰色算法预测GDP结果

六、结论

本文在之前研究的基础上,利用时间序列分析方法、BP人工神经网络模型,对四川省GDP进行预测。分析各种方法的优越性和不足,探究结构对预测的影响。时间序列分析预测方法软件功能成熟、操作简单、结果直观,有严密的数理逻辑基础,相对传统方法预测误差较小,现实中应用广泛。时间序列预测需要大量的历史数据,且预测基于数据惯性,很难对拐点变化进行预测,ARIMA模型很难实现自序列匹配。BP人工神经网络模型预测相对时间序列分析方法更加精确,但算法相对复杂,容易陷入局部极小值,不具有较强的全局搜索能力。GA-BP算法在BP算法的基础上,在权值和阈值的更新迭代上加入遗传算法,更加优化,且算法稳定性相对BP算法更高。灰色预测算法虽然较为容易,对数据要求较低,但精度不如BP神经网络模型,可以应用于较为粗略的预测。尽管很多统计软件都有自带的建模预测方法,但都不可能是完美的,预测过程中需要不断测试和调整,甚至建立多个模型加以比较,从而选出最佳参数和模型。

猜你喜欢

差分个数神经元
RLW-KdV方程的紧致有限差分格式
符合差分隐私的流数据统计直方图发布
怎样数出小正方体的个数
数列与差分
等腰三角形个数探索
怎样数出小木块的个数
怎样数出小正方体的个数
跃动的神经元——波兰Brain Embassy联合办公
ERK1/2介导姜黄素抑制STS诱导神经元毒性损伤的作用
毫米波导引头预定回路改进单神经元控制