摘要:居民消费价格指数(CPI)是反映一定时期内居民所购买的商品和服务价格变动趋势和程度的相对数。本文将RBF神经网络模型引入到CPI预测领域,根据2001年1月至2017年6月国家统计局台州调查队的调查数据,通过SPSS中的神经网络预测模块建立预测模型,预测结果表明,RBF神经网络模型应用于CPI预测具有较高的精度和良好的泛化能力。
关键词:RBF神经网络
一、研究问题的提出
居民消费价格指数(Consumer Price Index,CPI),是一个反映居民家庭一般所购买的商品和服务价格水平变动情况的宏观经济指标。它衡量的是生活成本的变动,虽然是一个滞后性指标,但是却影响着政府关于财政、货币、消费、工资、社会保障等政策的制定,是研究人民生活水平、检测社会稳定性、国民经济核算、进行宏观经济分析和调控的重要依据。所以,运用现代技术对CPI进行预测具有一定的现实意义。
长期以来,很多学者对CPI的定量预测做了大量颇有成效的研究。研究中应用较多的预测方法归纳起来有时间序列预测法、回归预测法、灰度预测、IS-LM-BP曲线理论预测、神经网络预测等。而影响CPI的因素既有横向因素,也有诸如时间等一些纵向因素,因此这些预测方法在CPI的预测中有建模复杂的缺陷。又鉴于CPI具有较强的非线性特征,要对其进行较为准确的预测,就应该采用能捕捉非线性变化规律的方法。
二、RBF神经网络简述
神经网络源于人脑神经网络,是对人脑的抽象、简化和模拟。作为近年来兴起的一种新的预测方法,它已成功应用于预测、图像、数据分类、股价分析等多领域。它可以无限逼近任何非线性映射关系,也不需要精确的数学模型,擅长从输入输出数据中学习有用知识,非常适用无规则、多约束或残缺数据问题的研究。
径向基函数(Radial Basis Function, RBF)的神经网络是一种前馈网络,不仅具有生理学基础,又能够逼近任意的非线性函数,网络规模小、学习速度快,适合于多变量函数逼近,还具有唯一最佳逼近点,它独有的容错性和高泛化能力使得它的研究和应用越来越得到重视,且广泛应用于数据分类和时间序列预测等方面。本文将RBF神经网络引入到 CPI预测之中,利用历史数据预测未来CPI相对增长率,弥补传统预测方法的不足。
三、RBF神经网络工作原理
RBF神经网络定义为:以径向基函数作为隐含层神经元激活函数的三层前向型神经网络。它学习的基本思想为:学习过程由信号的正向传播与误差的逆向传播两个过程组成,正向传播时,模式作用于输入层,经隐含层处理后,传向输出层。若输出层未能得到期望的输出,则转入误差的逆向传播阶段,将输出误差按某种形式通过隐含层向输入层返回,并分摊给各层的所有单元,从而获得各层单元的误差信号,以作为修改各单元权值的依据,这种信号正向传播与误差逆向传播的修改过程是周而复始地进行的。权值不断修改的过程,也就是网络的学习过程。此过程一直进行到网络输出的误差逐渐减少到可接受的程度或达到设定的学习次数为止。RBF神经网络在进行设计时,主要考虑以下因素:
(一)网络层数。
一般RBF网络由一个输入层,、一个输出层,及若干隐含层构成。实际应用中,通常利用一个隐含层就基本上能满足大部分应用问题的需求,因为两层的神经网络可以逼近任何非线性函数。而盲目地增加隐含层层数,往往会使学习速度变慢,同时增加了结构的复杂性。
(二)输入层节点数。
输入层节点数由变量个数来决定,一般来说有几个变量对输出变量的结果有影响就选择几个输入层节点。输入网络的节点过少,会使得网络不能很好地获得输入与输出数据的非线性关系,如果过多,就会增加过度适应的危险和增大了训练集的大小。
(三)输出层节点数。
输出层节点数取决于输出数据类型和表示该类型所需的具体数据。
(四)隐层节点数。
一个具有无限隐层节点的两层RBF网络可以逼近任何非线性函数,但对于输入与输出均为有限个的网络,并不需要无限个隐层节点,这就涉及到如何选择隐层节点数的问题,而这一问题的复杂性,使得至今为止,尚未找到一个很好的解析式,隐层节点数往往根据前人设计所得的经验和自己进行试验来确定,也可从1个、2个、3个开始逐步探索。
四、实证
(一)数据读取。
我国CPI的编制在2015年之前主要由食品、烟酒及用品、衣着、家庭设备用品及服务、医疗保健及个人用品、交通和通信、娱乐教育文化用品及服务、居住八大类商品和服务指标构成。2016年新一轮基期开始后八大类作了一次全面调整,所以在变量的选择上,我们分两部分来进行,第一次测算使用2011年1月至2015年12月的数据,共计60组,第二次测算使用2016年1月至2017年6月的数据,共计18组。
本实例选择八大类商品和服务指标作为模型的输入变量,下月的CPI作为输出变量。采用国家统计局台州调查队2011年1月至2017年6月的台州市区居民消费价格分类同比指数数据,分两次进行分析。
在进行数据预处理之前,用SPSS软件对以上数据做显著性分析,以下月CPI为自变量,八大类商品和服务为应变量,部分结果见表1:
表1
|
Beta |
标准误差 |
t |
Sig. |
下月CPI |
24.865 |
15.379 |
1.617 |
0.0004 |
一、食品 |
0.271 |
0.034 |
7.944 |
0.0001 |
二、烟酒 |
0.033 |
0.060 |
0.558 |
0.0053 |
三、衣着 |
0.023 |
0.061 |
0.372 |
0.0256 |
四、家庭设备用品及维修服务 |
0.045 |
0.104 |
0.435 |
0.0481 |
五、医疗保健和个人用品 |
0.051 |
0.063 |
0.820 |
0.0192 |
六、交通和通信 |
0.067 |
0.100 |
0.666 |
0.0257 |
七、娱乐教育文化用品及服务 |
0.069 |
0.073 |
0.937 |
0.0285 |
八、居住 |
0.194 |
0.097 |
2.000 |
0.0009 |
R2=0.961
从表1可以看出,在95%的置信区间内,八大类商品和服务指数的sig均小于0.05,我们认为系数检验显著,说明八大类商品和服务的指数能够可以有效预测下月CPI。
(二)数据预处理。
数据预处理对数据分析是一个重要的前提,因为现实中的数据多半是不完整或者是有噪声的,采用归一化的处理方法可以将数据进行无量纲的表达,是简化计算、缩小量值最有效的方法。利用公式: 对数据进行max-min归一化预处理,从而将数值限定在[0,1]区间内。其中,xk为原始数据,xk’为处理后的数据,Xmax和Xmin分别是原始数据序列中的最大和最小值,处理后的部分数据如表2所示:
表2
(以上年同月为100)
时间 |
下月CPI |
食品 |
烟酒 |
衣着 |
家庭设备用品及维修服务 |
医疗保健和个人用品 |
交通和通信 |
娱乐教育文化用品及服务 |
居住 |
2011.1 |
1.00 |
0.91 |
0.54 |
0.00 |
0.59 |
0.60 |
0.62 |
0.46 |
0.96 |
2011.2 |
0.90 |
0.89 |
0.47 |
0.46 |
0.45 |
0.87 |
0.64 |
0.46 |
0.93 |
2011.3 |
0.78 |
0.78 |
0.66 |
0.21 |
0.49 |
1.00 |
0.59 |
0.37 |
1.00 |
2011.4 |
0.87 |
0.68 |
0.55 |
0.31 |
0.85 |
0.96 |
0.61 |
0.47 |
0.58 |
2011.5 |
0.99 |
0.88 |
0.48 |
0.39 |
0.87 |
0.91 |
0.60 |
0.38 |
0.54 |
2011.6 |
0.96 |
1.00 |
0.49 |
0.46 |
0.87 |
0.90 |
0.62 |
0.40 |
0.62 |
2011.7 |
0.95 |
0.92 |
0.60 |
0.50 |
0.75 |
0.89 |
0.59 |
0.55 |
0.54 |
2011.8 |
0.97 |
0.93 |
0.60 |
0.40 |
0.48 |
0.91 |
0.60 |
0.63 |
0.56 |
2011.9 |
0.90 |
0.99 |
0.70 |
0.31 |
0.76 |
0.91 |
0.58 |
0.77 |
0.42 |
2011.10 |
0.64 |
0.89 |
0.71 |
0.60 |
0.93 |
0.80 |
0.54 |
0.77 |
0.29 |
2011.11 |
0.69 |
0.57 |
0.63 |
0.82 |
0.82 |
0.88 |
0.47 |
0.53 |
0.11 |
2011.12 |
0.75 |
0.72 |
0.43 |
0.95 |
0.43 |
0.88 |
0.36 |
0.50 |
0.07 |
…… |
|
|
|
|
|
|
|
|
|
(三)模型构建与分析。
本文以2011年1月至2015年12月归一化后的台州市区居民消费价格分类指数作为第一次分析对象(表2),共计60组数据。借助于SPSS17.0中的RBF神经网络模型进行分析处理。
从2011年1月至2015年10月共58组数据中随机抽取52组作为训练样本,将余下的6组数据与2015年11月共7组数据作为测试样本,分别进行神经网络模型的训练和测试,同时可以借助2015年11月份数据的测试效果检验RBF网络模型的预测能力。
网络输入层的节点数由输入向量的维数决定,输入向量分别为某个月的8大类商品和服务项目价格的相对增长率,故输入层节点数确定为8个。输出层节点数为下个月的居民消费价格指数的相对增长率,故输出节点数为确定为1。
隐层节点个数较难把握,目前多数文献中提出的确定隐层节点数的计算公式都具有针对性,不宜直接采用。根据文献经验,节点数一般为输入变量个数的2倍以上。现将隐层节点在20-60之间进行设定,对模型进行反复训练和测试,测试对比结果如表3所示:
表3
隐层节点 均方误差 |
20 |
30 |
35 |
40 |
48 |
50 |
51 |
55 |
60 |
训练 |
0.033 |
0.028 |
0.012 |
0.007 |
0.004 |
0.002 |
0.002 |
0.003 |
0.04 |
测试 |
1.566 |
0.986 |
0.289 |
0.846 |
0.526 |
0.196 |
0.235 |
0.431 |
1.63 |
通过对比表3中训练样本目标值的均方误差与测试样本目标值的均方误差,当隐节点数选为50时,两者分别为0.002和0.196,RBF网络训练和测试效果均十分理想,部分训练结果如表4所示:
表4
记录号 |
预测值 |
实际值 |
绝对误差 |
相对误差 |
1 |
0.9956 |
0.9985 |
0.0029 |
0.0029 |
2 |
0.8992 |
0.8995 |
0.0003 |
0.0003 |
3 |
0.7786 |
0.7768 |
-0.0018 |
-0.0023 |
4 |
0.8745 |
0.8756 |
0.0011 |
0.0013 |
5 |
0.9988 |
0.9986 |
-0.0002 |
-0.0002 |
… |
|
|
|
|
50 |
0.2412 |
0.2400 |
-0.0012 |
-0.0050 |
51 |
0.2410 |
0.2389 |
-0.0021 |
-0.0087 |
52 |
0.2230 |
0.2221 |
-0.0009 |
-0.0041 |
通过对表4每项训练样本的预测值与实际值的比较发现,相对误差基本保持在1%以下,说明网络结构训练效果较好。
另由训练拟合图(图1)可以看到,当隐含层节点数设为50的时候,预测值和目标值几乎重合在一起,同样表明训练效果十分理想。
将训练网络保存为RBF:8-50-1结构,输入测试样本测试结果如表5所示:通过对表5每项测试样本的预测值与实际值的比较可以看出,相对误差保持在10%以下,说明目前的RBF网络结构参数对计算效果比较稳定,即网络具有较好的泛化能力。这些在图2中同样得到体现。
表5
记录号 |
预测值 |
实际值 |
绝对误差 |
相对误差 |
1 |
0.2210 |
0.2249 |
0.0039 |
0.0172 |
2 |
0.2653 |
0.2808 |
0.0155 |
0.0552 |
3 |
0.2810 |
0.2661 |
-0.0149 |
-0.0560 |
4 |
0.2660 |
0.2564 |
-0.0096 |
-0.0375 |
5 |
0.2985 |
0.3125 |
0.0140 |
0.0449 |
6 |
0.3456 |
0.3631 |
0.0175 |
0.0483 |
7 |
0.3630 |
0.3716 |
0.0086 |
0.0232 |
特别值得注意的是,表5中的最后一行预测值是利用2015年11月的八大类指标对12月份CPI归一化值的预测,即2015年12月预测的CPI归一化值为0.3630,通过归一化公式可以逆推出12月的CPI预测值为101.7,而实际上12月份
同样的方法对2016年1月至2017年6月数据进行测算,将2016年1月至2017年5月的17组数据中随机抽取12组进行训练,余下的5组和2017年6月共计6组数据进行测试,结果见表6,图3为测试结果拟合图:2017年6月预测的CPI归一化值为0.4512,通过归一化公式可以逆推出7月的CPI预测值为102.5,而实际上7月份
表6
记录号 |
预测值 |
实际值 |
绝对误差 |
相对误差 |
1 |
0.2986 |
0.2998 |
0.0012 |
0.0040 |
2 |
0.3449 |
0.3381 |
-0.0068 |
-0.0201 |
3 |
0.3391 |
0.3441 |
0.005 |
0.0145 |
4 |
0.4925 |
0.4896 |
-0.0029 |
-0.0059 |
5 |
0.5049 |
0.5362 |
0.0313 |
0.0584 |
6 |
0.4512 |
0.4659 |
0.0147 |
0.0316 |
结合网络结构的训练结果和测试结果看,虽然两次测试均方误差都大于训练均方误差,测试拟合图也不如训练拟合图拟合的效果好。这些是可以理解的,毕竟训练的时候是对训练集的学习,因此训练得到的网络结构对训练集的效果最好。总的来看,该RBF网络模型的性能良好,可以达到对CPI进行预测的目的。所以将该模型用于后来月份的CPI预测是切实可行的。
五、结论
通过以上分析我们看到,RBF神经网络在CPI预测中具有较高的精度,在已知当月八大类指数的情况下,通过该模型能够很快地计算出较准确的下月CPI指数,但也存在一些不足之处。一是现有训练数据量不足。由于现行的CPI统计标准在2016年新一轮基期时进行了大规模调整,八大类指标以及权数和历史数据无法衔接,所以此次测算分为了两部分,2016年以后的数据量不足,训练结果不够精密。二是不可控因素对CPI的影响较大。在CPI的预测过程中,不能不考虑政策性影响因素、突发状况和极端气候以及其他不可控因素造成的数据偏差,所以在应用该模型进行预测时可能会出现一些误差,但总体来说,该模型基本能够对CPI进行预测。当然,在应用该模型时,应随着新数据的进一步加入调整模型的各项参数,以使模型训练及预测能够达到理想的效果。