□薛 洁 冯 楠
居民消费价格指数(CPI)能够衡量居民所购买日用品以及服务的价格水平变化,既是国民经济核算的重要基础,也是衡量通货膨胀程度的关键指标,是宏观经济分析与决策的科学依据。准确预测CPI 在评价居民生活水平、把握宏观经济运行状况、制定货币和财政政策等方面均发挥着积极作用。
迄今为止,已有众多学者对宏观经济进行预测研究,预测方法可概括为三类:统计预测方法[1](包括时间序列模型、回归模型等)、机器学习方法[2](包括人工神经网络、支持向量机、随机森林等)和组合模型预测方法[3]。传统的统计预测方法大多为线性模型,很难准确描述经济系统中复杂的非线性关系。而神经网络能够表示任意非线性关系,具有自适应性、容错性等优越特性。陈梦根和任桃萍(2020)分别使用最小二乘回归、LASSO 回归、岭回归、时间序列方法ARMA、BP 神经网络、随机森林和支持向量回归进行CPI 预测,结果表明BP神经网络的预测结果优于其他方法[4]。尽管传统的人工神经网络具有上述优势,但它无法体现样本之间的时序关系。相比之下,长短期记忆网络(LSTM)能够捕捉时间序列的长短信息,更适合预测宏观经济数据。同时,LSTM 网络也常与其他方法结合建立组合模型,以提升预测效果。赵军豪等(2018)将微博情感分析与LSTM 网络相结合对宏观经济进行预测,发现组合模型与ARIMA、线性回归、BP 神经网络和LSTM 网络相比具有更好的准确性和泛化能力[5]。
而LSTM 模型的预测性能受数据特征和建模框架影响。一方面,冗余特征变量可能会降低预测精度和计算效率。CPI 的影响因素较多,彼此可能存在多重共线性,故建模之前需要去除冗余变量,选择与CPI 相关性强的变量进行建模;另一方面,精确的建模框架依赖于选择合适的超参数。超参数的选择方法包括随机搜索、网格搜索、粒子群优化算法,前两种方法费时费力,而PSO 算法简单、对被优化函数的要求少、能够快速收敛。因此,为了降低依赖经验选取超参数的随机性和计算复杂度,可以运用PSO 算法对LSTM 网络的超参数进行寻优。
综上,本文采用LASSO 方法对CPI 影响因素进行筛选,并利用改进PSO 算法优化LSTM 网络中的超参数,从而建立组合模型对我国CPI 月度数据进行预测。
LASSO 方法由统计学家Tibshirani 于1996 年提出,在回归系数的绝对值之和小于一个常数的约束条件下,使得一些变量的系数压缩为零,从而获得精练模型。
假设有线性模型y=β0+β1x1+β2x2+…+βpxp+ε,其中β0为常数项,β1,β2,…,βp为回归系数,ε为随机扰动项,因变量和自变量数据分别经中心化、标准化处理。
LASSO 方法通过求解如下最小化问题对回归系数β进行估计:
LSTM 是一种改进的时间循环神经网络,主要由一个记忆单元和三个控制记忆单元状态的门结构组成,三个门结构分别是遗忘门、输入门和输出门。遗忘门控制单元遗忘或保留历史状态,输入门控制传入信息更新单元状态,输出门控制单元状态传输到下一个单元。图1展示了LSTM 记忆单元的内部结构。
图1 LSTM 记忆单元结构
图中,xt为当前时刻的输入;hi-1、Ct-1为上一时刻的输出和单元状态;ht、Ct为当前时刻的输出和单元状态;ft、it、ot分别为遗忘门、输入门和输出门的状态计算结果;为单元状态的更新向量;tanh(·)、σ (·) 分别为tanh 和sigmoid 激活函数。
PSO 算法是一种模拟鸟群觅食时迁移和群集行为的群体智能优化算法。每个粒子代表搜索空间中的个体,其所在位置代表优化问题的一个解,依据粒子自身及群体的经验不断调整运动速度,从而实现最优解的搜寻。粒子移动的方向和距离由速度控制,在每一次迭代过程中,粒子通过跟踪个体极值和群体极值更新自身的速度和位置。
假定D 维搜索空间中,存在粒子群X=(X1,X2,…,Xn),第i个粒子的当前位置为Xi=(xi1,xi2,…,xid),移动速度为Vi=(vi1,vi2,…,vid),个体极值为Pi=(pi1,pi2,…,pid),群体极值为Pg=(pg1,pg2,…,pgd)。
粒子速度和位置更新公式为:
式中,k为迭代次数;粒子数i=1,2,…,n;维度d=1,2,…,D;ω 为惯性权重;c1、c2分别为个体加速因子和社会加速因子;r1、r2为[0,1] 范围内的随机数。
虽然标准PSO 算法在解决复杂优化问题上有显著效果,但仍存在收敛速度慢、易陷入局部最优等问题。为了提升算法的性能,本文从以下两个方面进行了改进:
1.惯性权重改进。惯性权重ω决定了粒子当前速度的保留程度。本文对标准PSO 算法中的线性递减权重策略进行改进,提出了一种非线性递减权重策略。粒子在迭代前期因较大的ω 而快速进行全局探索,之后ω 非线性递减,粒子逐渐缩小搜索范围并不断向最优值靠近。具体改进公式如下:
式中,t为当前迭代次数;Tmax为最大迭代次数;ωstart、ωend为ω的初始值和最终值。
2.加速因子改进。加速因子c1和c2决定了粒子向个体极值和全局极值移动的步长大小。在迭代初期,c1需要大于c2,以加快搜索速度,提高全局搜索能力;在迭代后期,c2需要大于c1,以提升局部搜索能力,加速收敛到全局最优解。本文对标准PSO 算法中固定的加速因子进行线性调整,公式如下:
式中,t为当前迭代次数;Tmax为最大迭代次数;为c1的初始值和最终值。
本文将LASSO 变量选择方法、改进PSO 算法和LSTM 网络相融合,构建LASSO-IPSO-LSTM 模型用于CPI 预测,具体建模流程如图2 所示。
图2 LASSO-IPSO-LSTM 模型
1.数据预处理。运用LASSO 方法对CPI 序列及各影响因素进行选择,对筛选后的数据进行标准化处理,并按8∶2 的比例划分为训练集和测试集。
2.初始化种群。设置种群规模、粒子维数、最大迭代次数、惯性权重、加速因子。将LSTM 神经网络的隐藏层单元个数和学习率作为种群粒子,随机初始化粒子群位置。
3.计算适应度值。根据粒子位置对LSTM 模型的超参数赋值,使用训练集数据进行模型训练,以训练结果的均方误差作为粒子的适应度值。
4.确定个体极值和群体极值。计算并比较各粒子位置的适应度值,确定单个粒子所经历最优适应度值位置为个体极值,粒子群所经历最优适应度值位置为群体极值。
5.更新速度和位置。依据式(2)、(3)的粒子速度和位置更新公式,以及式(4)、(5)的惯性权重和加速因子改进公式,由个体极值和全局极值对粒子的速度与位置进行更新。
6.判断是否满足终止条件。当迭代次数达到最大时,满足终止条件,即得到LSTM 网络最优超参数取值;否则,返回步骤3,不断迭代,直至满足终止条件。
7.建模预测分析。根据改进的PSO 算法优化获得的最优超参数值,构建LASSO-IPSO-LSTM 预测模型,输入测试集数据进行预测,并对预测结果进行分析。
由于CPI 的变动与经济活动密切相关,且受多方面因素的影响。本文综合考虑经济活动所涉及的多个领域,从消费、生产、财政、贸易、投资、消费环境和消费心理这七个层面,选取社会消费品零售总额、工业生产者出厂价格指数、外汇储备、进出口总值、固定资产投资额、邮电业务总量、消费者信心指数等20 个指标,作为同比CPI 序列的影响因素。具体衡量指标如表1 所示。
表1 同比CPI 序列影响因素的衡量指标
考虑到数据的可得性与科学性,本文选取数据的样本期为2011 年1月至2020 年12 月,数据来源于国家统计局网站、中国人民银行网站以及东方财富网站,所有价格指数均为同比价格指数(上年同期值为100)。对于个别缺失数据,采用邻近两期线性插值法进行补全。
由于各指标数据具有不同量纲,数据差异大,不能直接进行比较,需要对数据进行规范化处理以消除数据量纲,本文采用最大最小值法对数据进行归一化处理。
为验证本文提出的LASSOIPSO-LSTM 预测模型的有效性,以我国CPI 数据为例,构建5 个预测模型进行实验对比,分别是经LASSO 指标筛选的BP、LSTM、PSO-LSTM、IPSO-LSTM 模型和未经LASSO 指标筛选的IPSO-LSTM模型。实验中,将2011 年1 月至2018 年12 月的96 组数据作为训练集,将2019 年1 月至2020 年12 月的24 组数据作为测试集。
本文通过10 折交叉验证方法进行模型选择,经过模型计算最终保留10 个指标(结果如表2 所示)。其中,因消费环境和消费心理所对应指标对CPI 的影响不大,故被筛选剔除。由回归系数可知,商品零售价格指数、货币和准货币供应量同比增长、人民币对美元汇率、国房景气指数和新增信贷对CPI 起正向作用,且商品零售价格指数对CPI 的影响最大。
表2 LASSO 指标筛选结果
为准确验证模型的预测性能,选取均方误差(MSE)、均方根误差(RMSE)、平均绝对误差(MAE)和平均绝对百分比误差(MAPE)作为评价指标对模型预测效果进行定量评价,其中,平均绝对百分比误差的公式如下:
式中,n为样本数;yi为样本i的观测值;为样本i的预测值。
LSTM 网络模型由输入层、一个隐藏层和输出层组成。由于输入为CPI 的10 个影响因素,输出为CPI 序列,故LSTM 模型输入层的神经元个数为10 个,输出层的神经元个数为1 个;模型采用均方差函数作为损失值函数,并采用自适应矩估计(Adam)算法作为优化算法,对LSTM 网络的内部参数进行训练,训练次数为100 次,训练目标为0.0001;同时,为了防止网络在训练过程中过拟合,使用丢弃法进行正则化,设置dropout 为0.1。随后,将LSTM 网络的隐藏层单元个数h 和学习率η 作为种群粒子,取值范围分别为[1,20] 和[0.001,0.01];最后,将改进的PSO 算法设置如下:种群规模为30,最大迭代次数为100,惯性权重的初始值和最终值分别为ωstart=0.9、ωend=0.4,加速因子c1的初始值和最终值分别为
利用本文提出的LASSO-IPSOLSTM 预测模型和其他四个并行预测模型进行CPI 预测,预测结果如图3 所示,各预测模型的评价指标计算结果如表3 所示。分析可知:与其他四种并行预测模型相比,本文提出的LASSO-IPSO-LSTM 模型的预测曲线更接近真实值曲线,且更符合实际的变动趋势,模型预测误差在各评价标准下都低于其他模型,说明融合LASSO 变量选择方法、改进的粒子群优化算法和LSTM 网络的组合模型具有更好的预测性能。
表3 各预测模型评价指标比较
图3 各模型预测结果比较
接下来,对两两预测模型进行具体的对比分析:(1)相较于LASSO-BP 模型,LASSO-LSTM 模型的预测误差更小,且能够更好地捕捉数据随时间变化的趋势,表明LSTM 模型更适合处理复杂的非线性时间序列问题;(2)将LASSOIPSO-LSTM 模型和LASSO-LSTM 模型对比,MAE、MAPE、RMSE 下降了约50%,MSE 下降了65.5%,说明改进的粒子群优化算法能够解决依据经验选取超参数而造成的模型拟合能力不足的问题;(3)将LASSO-IPSO-LSTM 模型与LASSOPSO -LSTM 模型对比,MAE、MAPE、RMSE 略有下降,MSE 下降了52.65%,说明利用改进的PSO 算法优化LSTM 网络能够弥补标准PSO 算法的缺陷,有效提高模型预测准确率;(4)从IPSO-LSTM 模型和LASSO-IPSO-LSTM 模型的实验结果可以发现,使用LASSO 方法后模型预测精度显著提升,RMSE、MAPE、MAE 下降了几近一半,MSE 下降了63.85%,验证了使用LASSO 方法筛选指标的重要性,同时说明应用LASSO 方法选取的指标是影响CPI 的最显著因素。
由于CPI 的影响因素较多,具有复杂的非线性特征,传统的统计预测方法难以建立准确的预测模型,而传统的人工神经网络不能充分利用时间序列的长短信息,并且网络模型的预测性能受数据特征和建模框架的影响较大。综合考虑以上局限性,本文利用CPI 的影响因素指标,构建了基于LASSO-IPSOLSTM 网络的CPI 预测模型,并通过实验测试模型的预测性能。得到如下结论:
(1)应用LASSO 变量选择方法选取的指标进行预测可以减少冗余信息,显著降低预测误差,筛选后的商品零售价格指数、货币和准货币供应量同比增长、人民币对美元汇率、国房景气指数等10 个指标是影响CPI 的最显著因素。(2)将具有记忆功能的LSTM 网络运用到CPI 预测中,能够更好地捕捉数据随时间变化的趋势,提高中长期预测精度。(3)采用PSO 算法对LSTM 网络中的超参数进行优化,克服了人为确定超参数的缺点;同时,利用非线性递减的惯性权重和线性变化的加速因子改进PSO 算法,增强了算法的全局寻优能力,从而有效提高模型预测精度。(4)将LASSO 方法、IPSO 算法和LSTM网络相结合,构建了LASSO-IPSOLSTM 组合预测模型,与其他模型相比,提出的组合预测模型具有更好的预测性能。
实证结果显示,本文所提组合预测模型可为建立良好的CPI 预测机制提供建模思路,有利于及时掌握宏观经济发展趋势。