1. 引言
股票市场是宏观经济的“晴雨表”,反映当前的市场经济状况。投资者希望通过预测方法能够准确的预测股票价格的波动趋势,为投资者提供参考,做出最佳决策,避免较大的投资风险和损失的出现。但股票数据具有非线性、不平稳的特点,影响因素众多,且影响机制复杂,使得股票价格的预测更加困难。
目前,股票预测方法主要分两类:一类是传统的统计学方法,通过数学模型对股票价格进行预测;另一类是机器学习预测模型。传统时间序列预测方法通过线性模型的拟合对股票价格进行预测,如隐马尔可夫模型 [1] 、自回归滑动平均模型混合模型(ARMA) [2] 、ARIMA [3] 等方法。随着大数据和人工智能技术的发展,机器学习模型逐步运用在股票预测之中,如随机森林(RF) [4] 、支持向量机(SVM) [5] 、神经网络 [6] [7] )等模型,相较于传统的统计学模型,机器学习模型在股票预测方面有着更好的预测精度与泛化性能 [8] 。极限学习机(ELM)算法是以神经网络为基础的一种机器学习方法,其学习速度快,训练时间短,泛化能力强的优点,在交通预测 [9] 、卫星导航 [10] 、疾病预测 [11] 等许多方面预测效果较好。张文煜等 [12] 通过灰狼算法和ELM构建风速多步预测模型,对复杂的风速序列进行预测取得较好的预测结果。武博 [13] 构建基于LSTM神经网络的股票价格预测模型,与传统时间序列预测模型ARIMA相对比,LSTM对非线性问题的预测性能更好,预测结果也是最优。同时学者对单一预测模型进行组合研究,韩莹等 [14] 针对LSTM易陷入局部最优问题,提出宽度学习与深度学习进行组合建立新预测模型,通过实验证明了该模型在多个精度指标有明显提升。朱菊香等 [15] 利用卷积神经网络(CNN)提取数据特征输入到LSTM网络,CEEMDAN分解PM2.5序列,其模型能够准确预测PM2.5的浓度。通过实验表明,选择合适的模型进行组合,组合模型有着更好的预测精度和准确性 [16] [17] [18] 。
通过智能优化算法优化机器学习模型的参数可以提升模型性能。灰狼优化算法(GWO) [19] 是基于自然界中灰狼群的一种仿生智能优化算法,通过狼群的等级制度、群体协作捕食的特性,模拟灰狼追踪、包围,攻击猎物等行为达到优化求解的目的。陈颖等 [20] 提出灰狼优化算法(GWO)优化支持向量机(SVR)校正预测模型,与其他模型对比,GWO-SVR收敛速度更快,预测误差更小。zhang等 [21] 通过SSA确定LSTM模型参数。试验结果表明SSA-LSTM具有更高的预测精度。罗聪等 [22] 利用反向初始化、非线性收敛因子、权重更新策略改进GWO对最小二乘支持向量机(LSSVM)参数惩罚因子和和函数宽度进行寻优,实验结果验证该模型的优越性与稳定性。
一些学者针对灰狼算法的收敛速度慢、容易陷入局部最优解等问题,结合其他优化算法的优势进行算法改。Daniel Ocran等 [23] 在2022年提出一种融合HGWO与PSO的鲁棒混合启发式算法,结合PSO与GWO的优势,在性能测试中表现出优良的勘探和开发能力,其算法性能优于PSO、GWO和传统遗传算法(GA)。Bikash Kumar Saw等 [24] 采用混合灰狼粒子群算法(GWO-PSO)对多个可重构性分布式电源进行并行规划,在IEEE33和69节点RDN上进行算例分析对比自适应粒子群算法(APSO)取得更优的性能。MasumeKhodsuz等 [25] 研究针对棒状和对极状电极对避雷器(SA)动态模型的影响,采用PSO-GWO混合算法调整SA动态模型参数,实验表明PSO-GWO混合算法的优化性能优于其他优化算法,提供更加准确的实验结果。
CEEMDAN算法能够解决模态混叠和噪声残留问题,结合改进GWO收敛速度快、搜索能力强以及ELM方法,本文提出一种基于误差修正和CEEMDAN-IGWO-ELM股票价格预测模型,引入Halton Sequence搜索算法、莱维飞行与等级制度策略对GWO进行改进。首先对中国石油股票交易数据进行归一化处理,利用ELM对股票价格进行预测得到初始预测结果,与真实股票价格作差得到误差序列,然后利用PE自适应地确定CEEMDAN的参数,再对误差序列进行分解,运用IGWO优化ELM的参数预测误差子序列,将各子序列的预测结果叠加后对初始预测结果进行修正,最终得到股票预测结果。仿真实验结果和DM检验结果表明,与其他模型相对比,本文所建立的模型在股票预测方面有着较高的预测精度和一定的优越性。
2. 研究方法
2.1. 自适应噪声完备集合经验模态分解(CEEMDAN)
经验模态分解(Empirical Mode Decomposition, EMD) [26] 是一种针对非线性、非平稳复杂时间序列的分解算法,但存在模态混叠问题。针对此问题,不少学者在EMD算法基础上提出几种不同的改进,WU [27] 等提出集成经验模态分解(EEMD),引入多个高斯白噪声对原始序列叠加进行EMD分解,对并行IMF分量求平均最终得到IMF分量,EEMD在一定程度上抑制了模态混叠问题的发生,但加入的白噪声影响不能消除达到忽略不计的程度。互补集成经验模态分解(Complete Ensemble Empirical Mode Decomposition with Adaptive Noise, CEEMD)引入互为相反数的正负白噪声 [28] ,与EEMD分解达到相同精度的迭代次数大大减少,但在重构信号中仍然存在添加的白噪声的影响。Torres等人提出自适应噪声完备集合经验模态分解(CEEMDAN) [29] ,通过加入自适应高斯白噪声,解决EMD和EEMD算法存在的模态混叠和噪声残留问题。CEEMDAN具体分解步骤如下。
步骤1:在原始信号
添加N次满足正态分布的白噪声
,得到N个预处理序列
。
(1)
式中
是高斯白噪声的权值系数。
步骤2:对N个预处理序列
进行EMD分解得到的第一模态分量求均值,得到第一个IMF分量,
为
序列进行EMD分解得到的第一模态分量。
(2)
(3)
步骤3:定义
为对序列进行EMD分解得到的第k个模态分量,对残余分量
添加白噪声,得到N个新序列
,再次进行EMD分解,求均值得到第二个IMF分量。
(4)
(5)
步骤4:重复步骤3,得到k个IMF模态分量和第k个残余分量。
(6)
(7)
直到残余分量为单调函数,则停止分解。即原信号
可以表示为:
(8)
式中:
表示第i个模态分量,
是最终的残差分量。
2.2. 灰狼优化算法(GWO)
灰狼在自然界中是一种群居性动物,在狼群中有着严格的等级制度,不同等级的灰狼在群体中分工明确。自上到下:第一层α狼,属于狼群的头狼,主要负责狼群的狩猎、休息等决策;第二层是β狼,与α狼是从属关系,帮助α狼制定决策或其他活动,当α狼空缺时,β狼代替狼成为新的狼;第三层是δ狼,听从α狼和β狼以及管理着δ狼;第四层狼是ω狼,处于狼群社会的最底层,主要负责执行以上三层狼的决策及保持狼群内部的平衡。
在GWO算法中,我们将其α狼比作是最优解,β狼是次优解,第三优是狼δ,ω狼是候选解,在迭代过程中,通过α狼,β狼和δ狼的位置引导ω狼的位置进行更新,使得狼群追踪、靠近并围捕猎物完成狩猎行为。
灰狼在追踪行为过程中位置利用以下公式进行更新
(9)
(10)
式中:
表示灰狼个体与猎物之间的距离;t表示当前迭代次数;
表示为猎物的位置向量;
表示为灰狼当前的位置向量;A与C是协同系数向量,其计算公式如下:
(11)
(12)
式中:a为收敛因子,伴随着迭代次数增加从2到0线性减小,t和T分别是当前迭代次数和最大迭代次数;r1与r2是两个每一维的取值都在[0, 1]中的随机向量。
灰狼围捕目标猎物行为的公式如下:
(13)
式中:
、
、
分别代表的是灰狼
与其他灰狼个体的距离;
、
、
分别是
狼各自的位置;
、
、
都为随机向量;
表示灰狼的位置
(14)
(15)
式中:
表示的是ω狼向α狼靠近的步长与方向;
表示的是ω狼向β狼靠近的步长与方向;
表示的是ω狼向δ狼靠近的步长与方向,由此最终确定ω狼的位置。
2.3. 极限学习机(ELM)
极限学习机与传统神经网络算法不同,采用随机生成输入层权值与隐藏层的阈值,确定隐藏层神经元个数即可建立极限学习机模型,具有训练参数少、学习速度快等优点。训练样本为:
,则一个隐藏层的极限学习机算法表示为:
(16)
式中:
为输出权值;
为输入权值;
为隐藏层神经元阈值;
为隐藏层的激活函数;
为输入值,N为样本数,L为隐藏层神经元个数。
可用矩阵形式表示为:
(17)
H为隐藏层的输出矩阵;β为输出权值矩阵。
通过将样本数据训练集代入,计算得到输出权值矩阵:
(18)
输出层权值β计算公式如下:
(19)
求解到的β是最小且唯一。
H*是H的Moore-Penrose广义逆。
再将样本测试集数据代入ELM模型计算预测结果,即为:
(20)
2.4. 排列熵
排列熵(Permutation Entropy, PE)用来衡量时间序列的复杂程度,PE越大,说明该时间序列越复杂;PE越小,说明该时间序列越规律。通过分解得到的子序列分量,计算子序列的排列熵反映分量的复杂程度,排列熵计算原理如下所述。
对于一维时间序列
进行相空间重构,得到重构矩阵
(21)
式中:K表示重构向量个数;m为嵌入维数;τ为延迟时间。重构矩阵中每一行
代表一个重构分量,然后按照升序方式对每个重构分量中每个元素进行重排可得:
,式中
表示重构元素所在的列。对于每一个时间序列
进行重构得到重构矩阵的每一行都可以用一组符号序列。
(22)
式中
,且
,m维相空间映射可得到
不同的符号序列
,
只是其中一种。若k种不同的符号序列出现的概率分别为
,则排列熵表示为:
(23)
将其进行归一化处理,得:
,式中
为归一化后的排列熵。
3. 改进灰狼优化算法
为了增强优化算法的效果,使得模型的预测效果更好,提高预测精度,提出改进灰狼优化算法(Improve GreyWorf Optimization, IGWO),增强算法的全局搜索能力,主要对以下三方面进行改进。
3.1. Halton Sequence搜索算法
灰狼优化算法是采用随机初始化的方式构建种群初始位置信息,这样所得到的种群位置随机性较高,有可能无法均匀分布在整个解空间,导致算法陷入局部最优解和重复运算。针对上述问题,本文引入Halton Sequence搜索算法产生随机数进行对狼群的位置初始化,步骤如下:
首先设定一个质数p为基数,则对于任意整数
,其都可以表示以质数p为基的形式,其表示形式为:
(24)
基于公式(24),得到基本反序函数
,其表示形式为:
(25)
则对于任意整数m和维度
,选择质数表中的质数
,可得到Halton Sequence初始化灰狼群,其如下公式表示为:
(26)
分别对Halton Sequence初始化和随机初始化进行仿真实验,设定灰狼种群数为400,解的维度为二维,得到图1灰狼种群分布散点图,通过观察两个种群分布图,可以得知Halton Sequence初始化灰狼群种群分布在空间中更加均匀,且没有出现灰狼个体位置重叠现象;随机灰狼群初始化种群分布会出现灰狼位置重叠显现,相较Halton Sequence初始化会出现位置空缺现象,导致算法重复计算或搜索不全。
![](//html.hanspub.org/file/35-2623885x89_hanspub.png?20240606085933770)
(a) Halton Sequence 灰狼种群分布图(b) 随机灰狼种群分布图
Figure 1. Comparison of Random Population Distribution and Halton Sequence Initialized Population Distribution
图1. 随机种群分布与Halton Sequence初始化种群分布对比
3.2. 莱维飞行
为了提高优化精度,利用Levy飞行对灰狼算法的寻优过程进行优化 [30] [31] ,其更新公式如下:
(27)
式中:
表示是迭代第t次的第i个解;
表示点乘;l表示是控制步长的权重,
,其中
表示是当前迭代次数灰狼位置中的最优解;
表示是服从莱维分布的路径,且满足:
,
。由于莱维分布较为复杂,通常使用Mantengna算法进行模拟计算,步长计算公式为:
(28)
式中,u和v服从正态分布,
,
,
,
,式中γ取值范围为[0, 2],这里实验取值为1.5。
对Levy飞行进行仿真实验,仿真实验步长为1000,图2为Levy飞行仿真实验结果,Levy飞行特殊的行走方式,偶尔飞行步长较大,具有更大的搜索范围,有利于提高优化算法的全局搜索能力。
![](//html.hanspub.org/file/35-2623885x103_hanspub.png?20240606085933770)
Figure 2. Simulation experiment results of Levy flight
图2. 莱维飞行仿真实验结果
基于此仿真实验,对灰狼优化算法的种群更新方式进行改进,公式(3)为改进后α狼位置更新策略,β狼与δ狼更新策略不变。
(29)
(30)
(31)
3.3. 等级制度
灰狼群中有着等级制度,但是在算法过程中并没有很好的体现这一方面,为了更好的彰显出灰狼群中三只头狼的等级制度,提出灰狼算法的等级制度改进,其本质是在灰狼群更新位置时,在三只头狼的位置前赋予一个等级权重,分别为:
,其权重占比为:
。
3.4. 改进GWO算法流程
通过上述对灰狼优化算法进行改进,改进后灰狼优化算法具体步骤如下:
1) 采用Halton Sequence搜索算法初始化灰狼种群位置。
2) 计算灰狼群中每只灰狼个体的适应度值。通过计算灰狼群的适应度值,选择表现好的三只灰狼记做
,指引其余灰狼个体更新搜索位置,其中α狼位置通过公式(29)进行更新。
3) 计算更新后灰狼群个体适应度值,比较新最优灰狼个体适应度值与上一代灰狼群最优灰狼个体的适应度值,若新最优个体适应度值优于上一代个体最优适应度值则替换最优个体适应度值,反之保持不变。
4) 若迭代次数达到最大迭代次数,进行步骤5,反则返回步骤2。
5) 将最优灰狼个体位置信息和适应度值输出。
4. IGWO性能测试
4.1. 测试函数及参数设置
为验证IGWO算法的有效性,本文选取了4个标准测试函数进行仿真实验,通过与灰狼优化算法(GWO)、粒子群算法(PSO)进行对比。算法实验平台均为Windows10、24 GB内存、64 bit系统中,采用软件python 3.10 (64-bit)进行。表1为标准测试函数的名称、表达式、维度、搜索范围和极值,其中测试函数1为标准单峰测试函数,可用于测试算法的收敛能力与求解精度;测试函数2~3为标准多峰测试函数,用于测试算法是否能够跳出局部极值搜索到全局极值;测试函数4为固定维数的多峰测试函数。实验设置算法种群规模为20,最大迭代次数设为300。
![](Images/Table_Tmp.jpg)
Table 1. Standard unimodal test function
表1. 标准测试函数
4.2. 实验结果对比分析
为了避免实验结果的偶然性,提高实验的准确性,将三种算法分别对每个基准测试函数独立运行30次,最后得到实验结果数据:平均值、标准差、最优值。其中最优结果用粗体标出,实验结果数据如表2所示。其中标准差对比算法的稳定性;平均值衡量算法的求解精度;最优值体现算法的寻优效果。
由表2可知,在单峰测试函数F1,IGWO算法对比GWO和PSO,寻优效果较好,PSO寻优结果较
![](Images/Table_Tmp.jpg)
Table 2. Algorithm optimization results
表2. 算法寻优结果
![](//html.hanspub.org/file/35-2623885x115_hanspub.png?20240606085933770)
F1F2![](//html.hanspub.org/file/35-2623885x117_hanspub.png?20240606085933770)
F3F 4
Figure 3. Benchmark function iteration curve
图3. 准测试函数迭代曲线
差,且IGWO对比GWO算法搜索精度更高;在多峰测试函数F2、F3中,GWO、IGWO均能寻优到最优值,且IGWO和GWO对比PSO更加稳定;在固定维数的多峰测试函数F4中,GWO算法搜索精度较差,PSO与IGWO寻优效果优于GWO。
为更好的体现算法的效果,图3展示标准测试函数的迭代曲线,从图3中可以看出,IGWO算法具有较好的收敛精度和较好的收敛速度,在单峰测试函数F1中,IGWO、GWO收敛速度要快于PSO,结合表2,IGWO算法的收敛精度要高于GWO,表明改进后GWO算法提高了收敛精度;在多峰测试函数F2、F3中,PSO算法的寻优效果明显要差于GWO、IGWO,且在函数F2中PSO算法陷入局部最优值;在固定维数的多峰测试函数F4中,IGWO、PSO,GWO均陷入局部最优值,最终IGWO跳出局部最优值,寻优到全局最优值,表明IGWO具有更好的全局搜索能力。
综上所述,通过表2和图3的寻优效果可知,本文所建立了IGWO算法在收敛速度和收敛精度均要优于其他对比算法,改进后的IGWO全局搜索能力更强,寻优效果更好。
5. 模型建立
5.1. 实验数据
本文选用中国石油股票2010年11月1日至2021年1月29日作为股票数据对象,其中包含收盘价、最高价、最低价、开盘价、成交金额,次日收盘价股票数据,共2493条股票样本数据,具体数据来源于文献 [32] 。
5.2. 实验模型
建立Error-CEEMDAN-IGWO-ELM模型,首先对中国石油股票交易数据进行归一化处理后通过极限学习机(ELM)对次日股票收盘价进行预测,得到初始预测结果,与真实值作差得到误差序列,PE自适应确定CEEMDAN参数,对误差序列进行分解,通过IGWO对ELM参数寻优后对误差子序列进行预测,再对预测后子序列相加重构即为误差预测值,对初始预测结果进行修正,得到最终股票预测结果。具体建模步骤如下:
1) 对中国石油股票交易数据进行归一化处理后作为变量输入ELM模型,次日收盘价作为输出,得到初始预测序列。其中BP神经网络、ELM模型实验均将前1993条股票数据样本作为训练集,后500条股票数据样本作为测试集。
2) 将ELM模型预测结果与真实次日收盘价数据作差得到误差序列。
3) 利用CEEMDAN对误差序列进行分解得到若干个模态分量和一个残余分量,CEEMDAN参数由PE自适应确定,然后进行交叉分组,逐一对分组后的误差子序列作为IGWO-ELM模型的输入进行预测,其中交叉分组是指一个模态分量中500个样本数据均分为5组,每组100个样本数据,依次将这100个样本数据作为样本数据测试集,其余为样本数据训练集。经过交叉分组预测后的预测分量进行相加重构即为误差预测序列。
4)将得到的误差预测序列用于对ELM初始预测结果进行修正,得到最终股票预测结果。图4为误差修正和CEEMDAN-IGWO-ELM预测模型流程图。
5.3. 数据预处理
5.3.1. 归一化
中国石油股票数据中收盘价、最高价、最低价、开盘价、成交金额五种数据的单位与数量级有差别,对股票数据进行归一化处理。
![](//html.hanspub.org/file/35-2623885x118_hanspub.png?20240606085933770)
Figure 4. Flow chart of prediction model based on error correction and CEEMDAN-IGWO-ELM
图4. 基于误差修正和CEEMDAN-IGWO-ELM预测模型流程图
(32)
式中:x为输入数据,
为输入数据的最大值与最小值。
5.3.2. PE确定CEEMDAN参数
本文选用CEEMDAN分解算法对误差序列进行分解,在CEEMDAN分解算法中,白噪声标准差与总集合次数的范围分别为(0.01~0.5)和(100~300),分解效果较好。实验中CEEMADN加入的总集合次数为100,利用排列熵对CEEMDAN分解的模态分量个数K与白噪声进行择优选择,首先固定δ = 0.1,设
![](//html.hanspub.org/file/35-2623885x122_hanspub.png?20240606085933770)
(a) 模态分量K的排列熵(b) 白噪声δ对应的排列熵
Figure 5. Permutation entropy of modal component K and white noise δ
图5. 模态分量K和白噪声δ的排列熵
置K的寻优范围为(2~6),步长:1,由图5(a)可知,当K = 6时排列熵最小,则最优模态分量K = 6,其次,固定模态分量K = 6,设置δ的寻优范围为(0.1~0.5),步长为0.05,由图5(b)可知,当δ = 0.25时,排列熵最小,则最优白噪声标准差δ = 0.25。
通过PE自适应确定CEEMDAN分解模态分量个数与白噪声标准差后对误差序列进行CEEMNDAN分解,得到6个IMF分量和1个残差序列,CEEMDAN分解结果如图6所示。经过CEEMDAN分解后的子序列更加简单,更有利于模型的预测。
![](//html.hanspub.org/file/35-2623885x123_hanspub.png?20240606085933770)
Figure 6. CEEMDAN decomposition results
图6. CEEMDAN分解结果
5.4. 评价指标标准
为了评价模型预测性能的效果,本文采用平均绝对误差(MAE)、平均绝对百分比误差(MAPE)、均方误差(MSE)、均方根误差(RMSE)和拟合优度决定系数(R2)这4个指标作为评价的标准,其具体计算公式如下:
(32)
(34)
(35)
(36)
式中:N为样本个数;
为真实值;
为预测值;
为平均真实值;
为平均预测值。
6. 实验结果与对比分析
6.1. 基于误差修正和CEEMDAN-IGWO-ELM模型的股票预测结果分析
在Windows 10 Version 22H2 (x64版)环境中,运用软件python 3.10 (64-bit),基于中国石油股票数据,对股票次日收盘价进行预测,并对比其他模型分析预测结果。其中ELM模型与BP神经网络的隐藏神经元个数均为5,隐藏层的权值与阈值取值范围均为[−1, 1],隐藏层激活函数选用sigmoid函数,BP神经网络更新次数为100,学习率为0.3。GWO与PSO部分参数设置如下:种群大小为20,最大迭代次数为300,PSO学习因子
,PSO惯性权重计算方式:
,其中
,
,t,T分别是当前迭代次数和最大迭代次数,两种优化算法以均方根误差(RMSE)作为种群的适应度函数。
(a) 整体预测结果 (b) 部分样本点(100~200)预测结果
Figure 7. Error CEEMDAN-IGWO-ELM prediction results
图7. Error-CEEMDAN-IGWO-ELM预测结果
将IGWO-ELM预测得到的误差预测子序列进行相加重构,得到的误差预测序列对ELM初始预测结果进行修正,最终得到股票价格的预测结果(图7)。图7中基于误差修正和CEEMDAN-IGWO-ELM模型的股票预测曲线与真实股票价格曲线拟合程度较高,预测值与真实值较为接近,表明Error-CEEMDNAN-IGWO-ELM模型在股票预测较高的预测精度。
6.2. 模型对比分析
为了更好验证基于误差修正和CEEMDAN-IGWO-ELM模型的预测效果,将该模型与BP神经网络、ELM、基于误差修正的CEEMDAN-ELM (Error-CEEMDAN-ELM)、基于误差修正和CEEMDAN-GWO-ELM (Error-CEEMDAN-GWO-ELM)、基于误差修正和CEEMDAN-PSO-ELM (Error-CEEMDAN-PSO-ELM)模型预测结果进行对比,预测结果如下图所示。
由图8可知,相较于BP神经网络,ELM模型的预测结果更加接近股票真实值,误差相较BP神经网络小,预测趋势拟合程度较好。Error-CEEMDAN-ELM模型与ELM模型预测结果对比如图9所示,相较于ELM预测结果,Error-CEEMDAN-ELM模型的预测结果有着不错的提升,证明误差修正与CEEMDAN分解对ELM模型在股票预测方面可以提升模型的预测性能,提高预测精度。
![](//html.hanspub.org/file/35-2623885x139_hanspub.png?20240606085933770)
(a) 整体预测结果(b) 部分样本点(100~200)预测结果
Figure 8. ELM and BP prediction results
图8. ELM、BP预测结果
![](//html.hanspub.org/file/35-2623885x141_hanspub.png?20240606085933770)
(a) 整体预测结果(b) 部分样本点(100~200)预测结果
Figure 9. ELM and Error CEEMDAN-ELM prediction results
图9. ELM与Error-CEEMDAN-ELM预测结果
误差序列通过CEEMDAN分解后,采用PSO、GWO优化算法对ELM模型参数寻优预测,如图10所示。通过优化算法优化后的模型预测效果上相较于Error-CEEMDAN-ELM模型与真实值更加接近,表明优化算法可以提升预测模型的性能,更加准确的预测股票价格,与真实价格曲线趋势更加吻合,预测精度更高。
由图11可知,通过IGWO优化预测模型参数和GWO优化预测模型在股票预测结果上有着相似的预测效果,整体上预测曲线与真实价格曲线比较吻合,在局部的预测结果上,IGWO优化模型的预测结果要优于GWO优化模型的预测结果,与真实股票价格更加接近,误差更小,说明IGWO相比GWO在模型优化上效果较好。
6.3. 各模型预测结果误差分析
各模型的预测结果进行误差分析,模型评价指标如表3所示。
![](//html.hanspub.org/file/35-2623885x143_hanspub.png?20240606085933770)
(a) 整体预测结果 (b) 部分样本点(100~200)预测结果
Figure 10. Prediction results of optimization algorithm
图10. 优化算法预测结果
![](//html.hanspub.org/file/35-2623885x145_hanspub.png?20240606085933770)
(a) 整体预测结果 (b) 部分样本点(100~200)预测结果
Figure 11. Optimization of prediction results using IGWO and GWO algorithms
图11. IGWO与GWO算法优化预测结果
![](Images/Table_Tmp.jpg)
Table 3. Evaluation Index Values for Each Model
表3. 各模型评价指标值
由表3可知,Error-CEEMDAN-IGWO-ELM模型的MAE、MAPE、MSE、R2评价指标值分别为:0.0437、0.0045、0.0033、0.9965,对比其他模型的评价指标值,均是最优,由此说明基于误差修正和CEEMDAN-IGWO-ELM模型在股票预测方面有着较高的预测精度。与基础的ELM模型相比较,三种误差分别降低了0.0752、0.0104和0.032,R2也从0.9702提升到0.9965,表明误差修正和IGWO优化ELM模型参数具有较好的效果;经过IGWO、GWO与PSO优化算法对模型参数进行寻优后,相较于未寻优模型的MAE分别降低了0.0264、0.0119和0.0015,说明寻优算法对模型参数进行寻优有一定效果,GWO算法与PSO算法优化效果相比优化效果较好。Error-CEEMDAN-IGWO-ELM模型的各项指标值与Error-CEEMDAN-GWO-ELM模型对比具有一定的优化,表明IGWO算法具有一定的改进效果。文献 [32] 对中国石油股票价格预测,PSO-ELM模型的MAPE为0.0095,对比本文提出的Error-CEEMDAN-IGWO-ELM模型对中国石油股票价格预测有着更小的预测误差。因此,总体来说本文提出的Error-CEEMDAN-IGWO-ELM模型对于股票预测有着更高的预测精度。
6.4. DM检验
为了进一步验证所建立的预测模型的优越性,引入一种假设检验方法:DM检验,通过DM检验进行验证两个预测模型的性能是否在一定的显著性水平下存在显著性差异,验证所建立的Error-CEEMDAN-IGWO-ELM预测模型与其他预测模型对比其模型预测性能,表4给出基于MAE为损失函数的各模型DM检验结果,DM检验结果显示,Error-CEEMDAN-IGWO-ELM模型与其他模型具有显著性差异,验证了所建立的Error-CEEMDAN-IGWO-ELM模型的优越性。
![](Images/Table_Tmp.jpg)
Table 4. Diebold-Marianotestresults
表4. DM检验结果
注:*表示10%的显著性水平;**表示5%的显著性水平;***表示1%的显著性水平。
7. 结论
股票价格的波动趋势和未来的走势预测一直是投资者关心的重点之一,有效的预测股票未来的波动趋势对于投资者具备有一定的参考价值。本文提出一种基于误差修正和CEEMDAN-IGWO-ELM的股票预测模型,为提高股票预测精度,引入Halton Sequence搜索算法、莱维飞行、等级制度对灰狼优化算法(GWO)进行改进,提高优化算法的效果,通过CEEMDAN分解算法,IGWO算法对ELM模型参数寻优以及误差修正,通过仿真实验及对比分析,得出以下结论:
1) 针对股票价格数据的非线性,选取多个股票影响因子归一化后作为ELM模型的输入对次日股票收盘价进行预测,其中股票数据包含收盘价、成交金额等数据,为股票价格预测提供基础。
2) 利用PE-CEEMDAN对误差序列进行分解,得到的多个模态分量和残差分量更能反映误差序列的变化特征,解决模态混叠和噪声残留问题,提高预测效果。
3) 通过寻优算法对ELM模型的参数进行寻优,仿真实验表明寻优算法对ELM模型参数有着一定的效果,且改进后的GWO算法的全局寻优能力要优于GWO、PSO。
4) 通过仿真实验及对各模型的对比分析和DM检验,验证本文提出的基于误差修正和CEEMDAN-IGWO-ELM的股票预测模型的可行性与优越性,且预测效果较好,预测曲线也与真实价格曲线更加吻合。
基金项目
国家自然科学基金项目(71961001)。