1. 引言
近年来,基于深度神经网络的模型在时间序列建模中取得了不错的效果。如长短时记忆(LSTM) [1]、门控递归单元(GRU) [2]等。同时,一些研究将不同的深度学习模型组合成一个更复杂的混合模型,以获得更高的预测精度[3]。然而,对于非线性和高度复杂的时间序列,尽管相关研究的结果显示了人工智能方法的优势,但这些方法仍然存在局限性,包括参数敏感性和过度拟合。它们很容易陷入局部极小值[4]。
因此,为了进一步提高预测性能,有学者开始使用基于分解的组合预测方法来进行预测。如,何凯等[5]利用集成经验模态分解(EEMD)对上证基金指数进行分解,并使用支持向量机(SVM)对各分量分别预测,与直接用SVM相比,混合模型得到了更好的拟合效果。刘铭等[6]对金融股值序列的日收盘价通过经验模态分解(EMD)分解,并对每个子序列应用LSTM模型分别预测,最后对预测结果求和,有效地提升预测的精确度,证明相对于单个模型,复杂混合模型的优越性。后来有学者发现,对分解后的高频子序列进一步分解能够有效提高预测精度。如殷豪等[7]在对电力价格序列一次分解的情况下,对高频子序列进行二次分解,到了比一次分解更高的预测精度。高凯悦等[8]在EMD分解的基础上,运用变分模态分解(VMD)技术将分解后高频的股票数据子序列进一步分解,然后使用神经网络对每个最终的每个子序列进行预测,结果表明基于二次分解的混合预测模型拥有比单分解混合模型更高的预测精度。
尽管组合预测方法已经取得了良好的预测能力,但仍有进一步改进的空间。当原始信号被分解为许多分量时,多个子分量被预测并集成到最终预测结果中,可能会出现误差累积。因此,许多学者采用了重建技术来减少子序列的数量。例如,陈凯杰等[9]通过EEMD对股指序列分解后再使用模糊熵(FE)将序列重构为高频,低频和趋势分量并使用不同的预测模型对各分量进行预测,证实了分解重构后进行预测能有效提高预测的性能。高海翔等[10]使用EEMD方法对油价时序进行分解,并使用fine-to-coarse (FTC)重构技术将子成分重构为三个项目,然后将三个子成分的预测结果进行整合。他们发现,所提出的模型比所有基准模型都表现得更好。然而,单一分解重构的方法可能无法完全提取高频分量的信号。
因此,为了进一步提高时间序列预测的准确性,本文对分解后构建的高频分量进行二次分解重构,进一步降低信号的复杂度,构造了一个二次分解重构模型(ICEEMDAN-EMD-LSTM)。首先,采用了一种更高效、更稳健的改进自适应噪声互补集成经验模态分解(ICEEMDAN)分解算法来分解原始数据,根据模糊熵的值对分量进行重构,然后对重构后的高频分量通过EMD再一次分解重构,最后通过LSTM网络对各重构后的分量预测,且通过线性集成,得到股指最终预测值。
2. 理论方法介绍
2.1. EMD
EMD分解的目的是将信号分解成内在模式函数(intrinsic mode function, IMF)的叠加,它必须满足以下两个条件:一是该函数在整个时间范围内必须有相等数量的局部极值和多余的零点,或最多有一个差值;二是在任何时间点,局部极值的包络(上包络)和局部极值的包络(下包络)的平均值必须为零。EMD的具体分解方法如下:
1) 确定所有的局部极值,包括
的局部最大值和局部最小值。
2) 生成它们的上、下包络
和
。
3) 从上、下包络计算逐点包络平均数
,即:
(1)
4) 提取细节
,验证
是否满足IMF的两个条件,若满足,
则为第一个IMF,否则
做上述同样的处理。以此类推直到
符合IMF的条件或达到停止标准,停止标准的计算值为:
(2)
其中:
为第
个IMF分量;
为第k个IMF分量。当
小于某一特定值即达到停止标准。
2.2. ICEEMDAN
ICEEMDAN方法是Colominas等改进的一种新的分解算法[11],在EMD分解后添加高斯白噪声分量。它计算每个模式分量的噪声和局部均值,分解分量定义为残差信号和局部均值之间的差。实验表明,ICEEMDAN方法克服了残余噪声和模式混合的缺点,有效地提高了降噪效果[12]。其分解的过程如下:
1) 向初始信号
中添加一组白噪声
(均值和协方差均为0),得到一组新信号:
(3)
2) 计算
的局部的最大值和局部的最小值,再求出所有上,下包络线
、
。得出均值:
(4)
3) 重复上述两个过程i次,得到第一个剩余函数
和第一个IMF1分量:
(5)
(6)
4) 重复上述步骤,得到第二个剩余函数
和第二个IMF分量IMF2:
(7)
(8)
5) 重复迭代,得到第k个剩余函数
和第k个IMF分量IMFk为:
(9)
(10)
2.3. 模糊熵
模糊熵[13]是计算时间序列的复杂度与随机性的动力学方法,是对样本熵的改进,用于衡量时间序列随维数变化产生新模式的概率。其具体步骤如下:
1) 将时间序列
,构造成m维向量
,即
(11)
其中,
为重构后的时间序列,
。
2) 计算空间向量
与
之间的切比雪夫距离
:
(12)
其中
。
3) 运用模糊函数
计算向量
与
的相似程度
:
(13)
其中r表示
的相似容限;n表示边界梯度。
4) 计算m维下的关系维度
,并增加到
维,重复上述步骤得到
:
(14)
(15)
5) 计算模糊熵:
(16)
2.4. LSTM
作为一种改进的循环神经网络(RNN),长短时记忆(LSTM)得益于RNN模型的优点,利用门的独特结构,有效地解决了RNN中梯度爆炸和梯度消失的问题[14]。
LSTM由多个循环单元组成,其输入包含当前时刻的输入数据、上一时刻网络单元的状态向量和隐藏层的输出向量。LSTM首先通过遗忘门计算出单元的废弃信息,其数学表达式如下:
(17)
其中,
是“遗忘门”到较长向量中的权重矩阵,
的偏置值,
为sigmod函数。
“遗忘门”读取
和
,其中输出值的大小代表遗忘的程度,并给细胞状态
赋值。
的大小为[0, 1],值越小,遗忘程度就越高。
输入数据
和隐层输出
经过“输入门”,得到待输入的细胞状态
和向量
表达式为:
(18)
(19)
(20)
其中,
、
为“输入门”的权值矩阵,
、
为“输入门”的偏差向量,
为当前输入单元状态。
如图1所示,基于LSTM的结构,“遗忘门”和“输入门”在单元状态更新后进入“输出门”。由于其优化的结构,LSTM可以有选择地记住重要的信息并忘记不重要的信息。因此,RNN的梯度消失问题得到了改善。
Figure 1. LSTM model structure diagram
图1. LSTM模型结构图
2.5. 基于二次分解重构模型的股指预测模型
本文的框架首先利用ICEEMDAN分解方法将股票指数数据分解为简单的IMF成分,然后计算每个IMF成分的FE值,并根据FE值将分解的IMF成分重新构建为高频、低频和趋势项。由于现有的分解方法存在缺陷,如不能完全提取高频信号,本文提出了一种新的二次分解技术,作为单一分解重构方法的补充。在这项技术中,EMD方法被用来进一步分解由单一分解重构产生的高频成分,以减少高频信号的复杂性。构建了一种新的组合预测方法(ICEEMDAN-EMD-LSTM)。模型构建的工作流程如图2所示。
1) 分解数据:使用ICEEMDAN分解方法,将原始股票价格序列分解一系列IMF成分。
2) 重构分量:使用FE算法计算每个IMF分量的熵值,并将这些分量重建为高频、低频和趋势分量。
3) 高频分量分解重构:因为重构后的高频分量的复杂性且信息难以提取,所以使用EMD方法应用于高频分量,并再次使用FE算法将分解后的成分重建为新的高频、低频和趋势成分。
4) 模型预测:将上述分量划分为训练集和测试集,并进行归一化处理。使用LSTM网络模型预测上述分解重构的各个分量,并进行反归一化。
5) 线性集成:对上述五个分量的预测值进行线性求和,得到股票指数数据收盘价的预测值。
Figure 2. Algorithm framework flowchart
图2. 算法框架流程图
3. 实证分析
3.1. 数据分析
为了测试本文ICEEMDAN-EMD-LSTM-组合模型的预测效果,数据集采用中国沪深300指数。数据来源于东方财富旗下Choice金融终端。股票指数数据跨度为2017年1月3日至2023年3月1日,共1519个交易数据。其中训练集占总数据90%,测试集占总数据10%。数据统计信息如表1所示。
Table 1. Descriptive statistics of stock index data
表1. 股指数据描述性统计
序列 |
样本值 |
最大值 |
最小值 |
均值 |
标准差 |
偏度 |
峰度 |
收盘价 |
1519 |
5807.7 |
2964.8 |
4105.8 |
596.78 |
0.525 |
2.4675 |
3.2. 数据归一化处理及预测结果评价指标
为了避免个别极大值对整个模型的预测效果,本文使用最大最小值标准化来对各模态分量子序列数据进行归一化处理,其表达式为:
(21)
其中,
为标准化后的子序列,x为初始值,
分别为各模态分量的最大值和最小值。
本文选取了四种评价指标来检验模型的预测效果,包括相对平均误差绝对值(MAPE)、均方根误差(RMSE)、绝对平均误差(MAE)以及拟合优度(R-squared),其计算公式为:
(22)
(23)
(24)
(25)
其中,
是真实值,
是预测值,n是样本数量。
是真实值的平均值。
3.3. 股指序列分解
首先,本文使用改进自适应噪声互补集成经验模态分解(ICEEMDAN)方法对初始序列进行分解,相较于经验模态分解(EMD),ICEEMDAN分解能够有效较少模态中的残余噪声,解决模态混叠问题,避免伪模态的产生,从而可以有效提高预测的准确性。图3展示了沪深300分解结果。
Figure 3. ICEEMDAN decomposition results
图3. ICEEMDAN分解结果
本文通过模糊熵算法(FE)计算各子序列的频率特征,其参数设定采用嵌入维度
。本文设置了两个阈值,
。当分解后的序列模糊熵的值大于
时,被判断为高频分量,当序列模糊熵的值处于
和
之间时,被判断为低频分量,其余的被判断为趋势分量。表2展现了各子序列的FE值和分类状况。其中,模态分量1~4为高频分量,5~7为低频分量,8~10为趋势分量。
Table 2. Fuzzy entropy values and classification results of each subsequence
表2. 各子序列模糊熵值及分类结果
|
imf1 |
imf2 |
imf3 |
imf4 |
imf5 |
CSI300 |
2.926 |
2.298 |
1.479 |
0.879 |
0.649 |
|
imf6 |
imf7 |
imf8 |
imf9 |
res |
CSI300 |
0.498 |
0.227 |
0.088 |
0.061 |
0.002 |
因为一次分解重构后的股指高频分量的信息可能很难背LSTM模型有效提取,所以本文使用EMD方法对重构后的高频分量进一步分解,以此降低数据的复杂度,沪深300重构后高频分量的分解结果由图4展示。
Figure 4. High frequency component EMD decomposition results
图4. 高频分量EMD分解结果
与第一分解后一样,对EMD分解后的各模态分量计算FE值,并根据阈值
再次对10各分量进行分类重构。表3展现了高频分量分解后各子序列的模糊熵值和分类结果。其中,模态分量1~2为高–高频分量,3~5为高–低频分量,6~10为高–趋势分量。
Table 3. Fuzzy entropy values and classification results of each subsequence of high-frequency components
表3. 高频分量各子序列模糊熵值及分类结果
|
imf1 |
imf2 |
imf3 |
imf4 |
imf5 |
CSI300 |
3.029 |
1.826 |
0.6899 |
0.2456 |
0.051 |
|
imf6 |
imf7 |
imf8 |
imf9 |
res |
CSI300 |
0.011 |
1.7e−3 |
1.0e−4 |
5.4e−5 |
1.6e−6 |
3.4. 模型比较
为了验证本文提出的模型在股票指数预测上的有效性,本文在沪深300股票指数预测上通过多个模型进行实验分析。首先,通过对比单一模型,实验分析发现LSTM模型相对其他单一模型更加适合复杂的股票指数预测。常用于时间序列预测的机器学习方法大多有LSTM、SVM、ELM和BP神经网络,因此本文选择这四种作为单一模型对比,比较出LSTM模型相对其他的单一预测模型在股票指数预测上的效果更好。
不同单一模型的预测曲线图如下:
Figure 5. Curve chart of CSI 300 index forecast by different single models
图5. 不同单一模型沪深300指数预测曲线图
从图5的预测图形中可以看出单一模型在沪深300股票指数序列预测上的效果并不佳,只能够预测出大概的趋势,对于一些极端点的预测偏离很明显。同时随着时间的不断推移,整体预测效果也变得更差,预测误差变得愈发明显。
表4详细列出了总体输出值与期望值之间的误差情况,通过多个评估指标的综合考量,能够更加客观、全面地评价模型的预测结果。从表中数据可以看出,本节选择的LSTM模型MAPE值为1.57%,虽然这个数值相对较低,但仍表明模型在预测精度方面存在一定的问题。同时,RMSE值为58.5921,MAE值为49.4722,这两个指标都较高,进一步反映了模型预测误差较大的情况。此外,R²值为86.19%,拟合效果欠缺。但是相对其他三个单一预测模型,LSTM的性能最优,说明在股票指数数据的时间序列预测方面,LSTM模型更佳适合。
Table 4. Evaluation indicators of single model prediction results
表4. 单一模型预测结果评价指标
预测模型 |
MAPE |
RMSE |
MAE |
R2 |
LSTM |
0.0157 |
58.5921 |
49.4722 |
0.8601 |
BP |
0.0176 |
73.6874 |
60.7766 |
0.7817 |
SVM |
0.0192 |
88.8510 |
73.1969 |
0.7126 |
ELM |
0.0163 |
64.3251 |
52.4690 |
0.8336 |
为了验证分解重构方法在股票指数预测中的有效性以及本文提出的二次分解重构模型(ICEEMDAN- EMD-LSTM)的优越性。选择了一系列的模型作为对比模型。对于分解重构的所有模型,均包含了数据的分解和重构,为了突出二次分解重构比一次分解重构更有效,选择了EMD-LSTM、ICEEMDAN-LSTM一次分解重构模型,EMD-EMD-LSTM、ICEEMDAN-ICEEMDAN-LSTM和IE-LSTM二次分解重构模型来对沪深300指数序列进行预测并作对比分析。各分解重构股指预测模型如下图:
Figure 6. Prediction curves of the Shanghai and Shenzhen 300 Index using different decomposition and reconstruction models
图6. 不同分解重构模型沪深300指数预测曲线图
从图5和图6可以清晰看出相对于单一股票指数预测模型,引入分解技术的混合预测模型的预测效果得到了很大的提升,预测曲线的偏离程度得到改善。说明将股票指数序列通过分解能有效降低其复杂度,提高模型的预测精度。从图6还可以看出经过二次分解的模型预测曲线相对于一次分解也更加贴近真实情况,再次验证对于噪音多,非平稳的股票指数序列进行二次分解是有必要的。
从表5的评价指标可以看出,经过一次分解重构处理过的EMD-LSTM和ICEEMDAN-LSTM模型,其预测精度相对于表4中单一预测模型的精度都是得到提升的。从表5可以看出,一次分解ICEEMDAN- LSTM模型的预测效果较EMD-LSTM模型有所提升,因为ICEEMDAN算法是在EMD算法的基础上添加了高斯白噪音,能够极大降低原始序列的噪音,从而降低模型预测的难度,提升预测效果。同时,所有经过对高频分量再次分解的二次分解重构预测模型的预测效果都是优于一次分解重构模型的,说明高频分量对于LSTM模型来说,是难以提取的,需要进一步处理。
Table 5. Evaluation indicators for decomposition and reconstruction model prediction results
表5. 分解重构模型预测结果评价指标
预测模型 |
MAPE |
RMSE |
MAE |
R2 |
EMD-LSTM |
0.0112 |
53.3180 |
43.6543 |
0.8857 |
ICEEMDAN-LSTM |
0.0105 |
51.1412 |
40.5800 |
0.8948 |
EMD-EMD-LSTM |
0.0099 |
47.5388 |
38.6867 |
0.9091 |
ICEEMDAN-ICEEMDAN-LSTM |
0.0096 |
46.1093 |
37.1870 |
0.9102 |
ICEEMDAN-EMD-LSTM |
0.0086 |
41.8349 |
33.3676 |
0.9296 |
4. 结论
本文以“分而治之”思想为指导,构建了一个基于二次分解重构的混合预测模型(ICEEMDAN-EMD- LSTM)。该模型考虑了股指数据的内在发展规律,采用二次分解重构策略处理非线性非平稳的高频分量数据,并对各分量的预测结果线形集成得到最终预测结果。通过沪深300股指序列的实验结果表明,在处理股指序列时,LSTM网络模型相对其他单一模型预测的效果更好;通过分解重构预处理后再进行预测,预测的精度明显提升;通过对一次分解重构后的高频分量再次分解能有有效降低数据复杂度,提升模型整体预测效果。因此,本文提出的二次分解重构模型预测效果显著,相对于其他对比模型,取得了较优的预测结果。在后续的工作,将考虑其他因素的输入,来进一步提升预测的精准度。
基金项目
国家自然科学基金项目(72174121, 71774111)。
NOTES
*第一作者。
#通讯作者。