王 欢,李 民,焦 宇,余开朝
(昆明理工大学 机电工程学院,云南 昆明 650500)
传统汽车虽然便于人们出行,但带来了严重的环境污染和能源消耗。新能源汽车在保护环境、降低能耗、减少碳排放等方面优势明显,随着人们环保意识日益提高,国家对新能源汽车的补贴政策,使得新能源汽车销量剧增。
为此,制定科学、合理的新能源汽车生产计划和营销策略至关重要。本文基于数据挖掘技术,结合新能源汽车历史销量数据对未来销量进行预测,并对不同模型的预测效果进行比较分析,为预测新能源汽车或其他类型汽车的销量提供参考与借鉴。
在需求预测方面,主要包括定性和定量预测。其中,定性预测仅依靠主观判断预测商品销量,常用方法包括德尔菲法、小组讨论法等[1];定量预测则利用数据建立数学模型进行预测,常用模型包括因果模型、时间序列模型、灰色预测模型、神经网络模型等。
定性预测对专家技能和经验要求较高,主观性较强;定量预测效果则与预测模型相关,不受研究者主观因素影响。目前,研究者们通常构建时间序列模型、回归模型、神经网络等模型预测汽车销量。例如,Chen[2]根据月销售数据建立自回归移动平均模型(Auto-regressive Moving-Average,ARMA)销量预测模型。Hülsmann 等[3]利用时间序列理论和决策树算法预测美、德两国的汽车销量。吴奇等[4]考虑影响汽车销量的汽车价格波动、销售人员的能力、品牌知名度等因素,构建基于混沌支持向量机的汽车销量预测模型。彭友[5]在构建BP 神经网络乘用车销量预测模型时,考虑消费者信息指数、贷款基准利率和汽油价格因素,在一定程度上提高了模型预测精度。
研究表明,关键词百度指数在一定程度也影响着产品销量[6-13]。例如,Dean 等[14]利用谷歌搜索数据建立多变量汽车销量预测模型。谢天保等[15]提取某品牌网络搜索数据的关键特征建立随机森林预测模型,并将该模型与线性回归、支持向量回归等模型进行比较以验证模型的先进性。蒋楷丞等[16]在线性回归模型中考虑汽车评论数据和宏观经济指标的影响因素。结果表明,加入评论数据中包含的消费者感情色彩和宏观经济指标,可有效提升模型预测精度。
然而,网络搜索关键词并未形成统一方法,仅根据研究人员主观确定或依靠统计模型筛选关键词,会因个人主观因素影响模型预测精度[17-20]。此外,搜集关键词数据的工作量较大,使用爬虫技术获取一定信息后会受到网站监控,甚至封停IP。
为此,本文提出一种基于历史销量数据的销量预测模型,既减少数据收集时间,又能提升预测精度,为企业决策提供数据支持。通过基于传统时间序列和LSTM 预测的组合销量预测模型对新能源汽车销量进行预测,实验表明该模型能在减少数据处理时间的同时,提升预测精度。
按照时间先后顺序排列的动态序列数据称为时间序列,现已被广泛应用于计量经济学、智慧交通、天气预报等领域,预测的实质就是研究变量的变化规律[21]。时间序列模型[22]主要包括自回归模型、移动平均模型(Moving-Average,MA)、自回归移动平均模型(ARMA)和自回归单整移动平均模型(ARIMA(p,d,q))。
(1)自回归模型(Auto-regressive,AR)。公式如下:
其中,p为模型阶次,φ1、φ2,…,φp为自回归系数,εt为随机干扰误差项。
为简便运算,引入滞后算子Bp表示p步的滞后算子,AR(p)可记为:
(2)移动平均模型。该模型主要研究时间序列与当期和前期随机干扰项的线性组合,用数学语言可表示为
其中,θ1、θ2,…,θq为滑动平均系数,εt均值为0,方差为的白噪声序列。引入滞后算子可记为:
(3)自回归移动平均模型。将自回归和移动平均两种方法组合构造ARMA(p,q)模型,即将序列值误差、冲击值及序列值线性组合,数学表达式为:
使用滞后算子为:
(4)自回归单整移动平均模型。由于实际时间序列并非全属于平稳数据,因此需要对非平稳的原数据进行差分处理,d表示差分阶数。数学表达式为:
循环神经网络(Recurrent Neural Network,RNN)擅长处理序列数据[23],但存在严重的梯度消失问题,阻止模型深入学习变量间的长期依赖关系。LSTM 网络是RNN 的变体,被广泛用于机器翻译、股票预测等方面[24]。研究表明,LSTM 模型在训练过程中会选择性的丢弃部分记忆,强制更新隐藏状态,以缓解模型梯度消失问题。因此,在大量样本数据情况下,LSTM 模型相较于标准RNN 模型效果更好。
由图1 可见,LSTM 网络主要由输入门(input gate)、遗忘门(forget gate)、输出门(output gate)、单元状态及隐藏状态构成[25]。其中,单元状态指LSTM 单元的内部记忆,隐藏状态指外部隐藏状态,输入门确定送入单元状态的个数,遗忘门确定送入当前单元状态的个数,输出门确定输出到隐藏状态的单元状态。
Fig.1 LSTM model图1 LSTM 模型
遗忘门采用元素乘法(记为⊙)控制先前记忆细胞Ct-1、上一时间步的隐藏状态及当前输入Xt是否传递到当前时间步,输入门通过候选记忆细胞控制Xt进入当前记忆细胞的方式,输出门利用tanh 激活函数控制记忆细胞将记忆传递至隐藏状态(tanh 值趋于1)或保存在记忆细胞(tanh值趋于0)。
在实际研究过程中,研究对象通常会受多种因素影响,每种研究模型的理论知识和侧重点也不同,仅基于一种方法进行预测无法客观、全面了解研究对象的潜在规律。为此,本文将传统时间预测模型和LSTM 网络进行融合,提高模型预测精度。其中,融合模型可分为以下两类:
(1)对组合模型各结构赋值权重。计算公式如下:
其中,ωi为每个模型所赋的权重。
(2)深度学习模型。主要包括随机森林法、Bagging法、Boosting 法、Stacking 法等。由于Stacking 进行模型集成时,强调了学习器间的区别[26],因此本文选取该方法进行实验。具体为,首先基于初始样本集拟合多种预测模型;然后利用各模型的预测结果组成新的数据集;最后基于新数据集构建最终预测模型。
数据来源于中国汽车工业协会(http://www.caam.org.cn/)统计的新能源汽车销量,具体数据见表1。
Table 1 Sales volume of domestic new energy vehicles(2014-2021)表1 2014-2021年国内新能源汽车销量(万辆)
采用平均绝对百分比误差(Mean Absolute Percentage,APE)和平均绝对百分比误差(Mean Absolute Percentage,MAPE)评估模型,具体公式如下:
3.3.1 数据处理
利用Eviews 软件的CensusX-12 算法对数据进行检验,研究销量历史数据是否存在季节周期规律,再对销量数据进行乘法季节分解。由图2 可见,分解后的数据存在明显季节周期规律。
Fig.2 Sequence diagram of seasonal factors图2 季节因素时序图
图3 为对剔除季节因素影响后的数据。同时,记录原数据的季节系数,以便于后期进行数据恢复。
Fig.3 Sequence diagram of sales excluding seasonal factors图3 剔除季节因素销量时序图
在建立ARIMA 模型前,需要对数据进行平稳性检验。首先,对剔除的季节规律影响销量数据(记为Y_sa)进行ADF 检验。然后,对Y_sa 进行差分处理得到差分数据(记为Dy_sa)。最后,对Dy_sa 进行ADF 检验。表2 为两次ADF 检验结果,其中2014 年1 月-2021 年2 月的销量数据为训练集,2021 年3 月-2021 年12 月的销量数据为测试集。
Table 2 ADF test results of Y_sa and Dy_sa表2 Y_sa和Dy_sa ADF检验结果
3.3.2 模型构建
基于Dy_sa 绘制自相关图(ACF)和偏自相关图(PACF)确定模型ARIMA 中p、q的阶数,定阶规则见表3。
由图4 可见,Dy_sa 的ACF、PACF 排名相对较后,根据ARIMA 模型p、q定阶规则可构建ARIMA(p,1,q)模型。通过调整p、q 值进行多次建模,选出系数显著性小于0.05 的模型。由表4可知,当p为0且q为1时,模型效果最好。
Fig.4 ACF and PACF of Dy_sa图4 Dy_sa自相关图和偏自相关图
接下来,对模型的残差序列进行相关性检验,检测结果如图5 所示。由此可知,所有滞后项系数均不显著,说明残差序列属于不相关序列。
Table 3 ARIMA model ordering criteria表3 ARIMA模型定阶方法
Table 4 Comparison of different models表4 不同模型比较
Fig.5 ACF and PACF of ARIMA(0,1,1)model图5 ARIMA(0,1,1)模型自相关图和偏自相关图
3.3.3 销量预测
首先利用ARIMA(0,1,1)模型对测试集进行预测,然后将预测结果与季节调整系数相乘,得到最终预测结果如表5所示。
由表5 可知,ARIMA(0,1,1)模型整体预测效果较好,除7-9 月的APE 达到10%以上,其他月份预测误差较小,整体MAPE 仅为6.22%。
Table 5 ARMA(0,1,1)prediction results表5 ARIMA(0,1,1)模型预测结果
3.4.1 模型构建
为解决神经网络普遍存在的过拟合问题,本文基本LSTM 模型增加3 层Dropout 层避免梯度消失,利用adam 优化器自动优化学习率。同时,为解决历史销量数据跨度较大的问题,利用Batch Normal 先对输入数据进行归一化处理以避免产生极端分布。具体建模流程如图6所示。
首先输入历史销量数据,使用ReLu Activation 函数激活参数特征;然后将Batch Normalization 层和Dropout 层相连接,使用Flatten 层对数据进行平滑处理;最后将数据输入两个堆叠的LSTM 神经网络得出预测数据。经过多次实验,最终确定丢弃率为0.2,变量缩放尺度为(0,1),当月销量基于前3个月的销量数据进行预测的效果最好。
Fig.6 Flow chart of LSTM model图6 LSTM 模型流程图
3.4.2 预测结果
图7 为单特征LSTM 模型损失变化图。由此可见,LSTM 模型损失函数下降速度较快,并逐步趋于平稳状态。
Fig.7 Loss function figure of LSTM model图7 LSTM 模型损失函数图
Fig.8 Comparison between predictive values and actual sales volume of LSTM model图8 LSTM 模型销量实际值与预测值比较
图8(彩图扫OSID 可见,下同)为预测验证集的结果。由此可见,LSTM 相较于传统时间序列模型ARIMA(0,1,1)预测精度更高,MAPE 为4.43%。
图9 为组合模型流程图。首先,基于已构建的ARIMA(0,1,10)模型与LSTM 模型预测2022 年1 月-2023 年12 月的销量数据扩充数据,以便于更好地分析各模型的规律。然后,利用新数据集训练LSTM 模型,得出新的LSTM 模型进行预测,预测结果如图10所示。
Fig.9 Flow chart of Stacking integration model图9 Stacking集成模型流程
Fig.10 Comparison between predictive values and actual sales volume of stacking integration LSTM model图10 Stacking集成LSTM 模型销量实际值与预测值比较
由图10 可见,组合模型相较于传统时间序列模型ARIMA(0,1,1)与LSTM 模型,预测精度更高,MAPE 为3.65%。
表6 为3 种模型的MAPE 比较,可见相较于ARIMA(0,1,1)与LSTM 模型,组合模型的MAPE 更低。
Table 6 Comparison of model prediction errors表6 模型预测误差比较(%)
本文提出一种基于Stacking 方法的组合预测模型。实验结果表明,基于传统时间序列模型ARIMA(0,1,1)和LSTM 模型的组合模型MAPE 为3.65,能在数据样本较少的情况下,保持较高的预测精度。
然而,本文仅利用历史销量数据进行预测,未考虑政策、居民收入等其他因素对汽车销量造成的影响,也未能证实组合模型的长期预测效果。因此,下一步将针对这两个方面对模型进行优化。