本发明专利技术涉及一种基于LSTM‑BOOST算法的股指预测系统。是一种适用于处理序列数据的神经网络模型,它以时间序列展开的模型架构如图1所示。在每个时间步t,模型的输入为x^((t)),状态信息为〖h〗^((t))。模型整体的算法流程为处理来自输入x的信息,将其合并到沿着时间向前传播的状态h,并通过最终的状态预测结果。而由于决策树是概率模型,所以无需对数据进行标准化的处理。将LSTM神经网络作为基学习器的Boosting策略中,每次迭代计算后的预测残差需要进行标准化处理。
【技术实现步骤摘要】
一种基于LSTM-BOOST算法的股指预测系统
本专利技术涉及一种基于LSTM-BOOST算法的股指预测系统。
技术介绍
为了进一步提高股指预测的精度,本案基于LSTM神经网络和Boosting策略提出LSTM-BOOST算法。该算法将当前组合模型预测残差经标准化处理后作为下次迭代LSTM神经网络的预测目标,并且使用了训练速率以控制Boosting策略的更新幅度。在实验论证中,应用LSTM-BOOST算法和LSTM神经网络对纳斯达克股指和标普500股指进行预测。实验结果表明LSTM-BOOST算法能稳定提升预测精度,且预测效果受随机性影响显著降低。根据两种算法在不同时段的纳斯达克股指预测表现,本案分析了算法预测偏差与股票市场波动率的关系。
技术实现思路
本专利技术的目的是提供一种基于LSTM-BOOST算法的股指预测系统。本专利技术解决其上述的技术问题所采用以下的技术方案:是一种适用于处理序列数据的神经网络模型,它以时间序列展开的模型架构如计算式1所示。在每个时间步t,模型的输入为x^((t)),状态信息为〖h〗^((t))。模型整体的算法流程为处理来自输入x的信息,将其合并到沿着时间向前传播的状态h,并通过最终的状态预测结果。其中模型的预测输出为〖o〗^((τ)),目标真实值为〖y〗^((τ)),预测损失度量为〖L〗^((τ)),U、W、V为参数矩阵。其在长序列数据上的学习效果不佳。因为在神经网络的反向传播阶段,梯度经过多阶段的反向传播后趋向于消失。梯度消失是神经网络训练中最常遇到的问题,一般采用特殊的激活函数进行改善。而LSTM神经网络通过改进网络结构的方式缓解了这一问题。LSTM神经网络除了外部的状态循环外,在每个时间步的单元内存在内循环。LSTM神经网络的单元除了有输入和输出外,还有更多的参数和控制信息流动的门控单元系统。门控单元系统可以控制记忆单元中的信息以及新的状态信息的存留问题,从而学习跨度相对较长的依赖关系。Boosting策略是机器学习中构建高级模型的重要方法。作为集成学习两大方向之一,Boosting策略通过迭代训练的方式生成多个基学习器,并将这些基学习器通过线性组合的方式提高预测性能。Boosting策略学习的是加法模型,对于初始基学习器f_0(x)=0。在神经网络与Boosting策略结合的领域中,HolgerSchwenk和YoshuaBengio尝试将神经网络与AdaBoost策略结合在一起。结果证明了结合的有效性,并且还发现了AdaBoost策略对于神经网络的过度训练也不敏感,这简化了神经网络参数的设计与选择。从另一方面而言,时间序列的预测残差之间可能也有一定关联性,例如MA模型[21]就是针对时序的预测残差进行线性回归拟合,基于灰色傅里叶残差修正[22]也证明了时间序列的预测残差序列依旧有一定的内部规律。本案从上面的两个理论出发,提出将LSTM神经网络作为Boosting策略的基学习器用于时间序列的预测。Boosting策略多以决策树模型作为基学习器,但是决策树模型并非一种适用于序列数据的建模方法。所以对于序列数据,LSTM神经网络更适用于作为Boosting策略的基学习器。由于决策树算法和神经网络在数据预处理上有一定的差异,所以需要对Boosting策略的算法流程进行修正。神经网络需要对训练数据进行标准化(亦可以采用归一化)处理,因为使用标准化后的数据进行训练可以优化数值计算以及提高收敛速度。由于决策树是概率模型,所以无需对数据进行标准化的处理。将LSTM神经网络作为基学习器的Boosting策略中,每次迭代计算后的预测残差需要进行标准化处理。对于样本容量为N的训练数据集D={(x_1,y_1),(x_2,y_2),⋯,(x_N,y_N)},第m次迭代的算法步骤如下所示:1、计算第m-1次迭代的组合学习器的预测残差,构成数据集D_m={(x_1,R_1),(x_2,R_2),⋯,(x_N,R_N)};2、将数据集D_m的标签值经过标准化,构成新的数据集〖D_m〗^std={(x_1,R_1^std),(x_2,R_2^std),⋯,(x_N,R_N^std)};3、使用数据集〖D_m〗^std训练LSTM神经网络,得出最优基学习器f̂_m(x);4、使用最优基学习器f̂_m(x)对数据集〖D_m〗^'进行预测,构成预测标签集〖Y_m〗^(std-pre)={R_1^(std-pre),R_2^(std-pre),⋯,R_N^(std-pre)};5、对数据集〖Y_m〗^(std-pre)进行还原,得出原始的残差预测标签集Y_m^prd={R_1^pre,R_2^pre,⋯,R_N^pre};所以LSTM-BOOST算法每次迭代的目标不仅仅是拟合残差,而是拟合标准化后的残差,并将拟合值还原作为对原残差的拟合值。为了防止算法过拟合,LSTM-BOOST算法使用类似于梯度下降法的学习方式以达到防止过拟合的目的。梯度下降法中使用步长ε(0<ε≤1)控制梯度下降的幅度,LSTM-BOOST算法中也可以设置训练速率控制模型学习的幅度。具体的实现方式是将组合学习器的每个基学习器乘以训练速率:训练速率的设置可以对算法的函数空间进行更加精密的搜索,一般情况下较高的训练速率会使组合学习器的损失快速下降并达到收敛的状态。而较低的训练速率会减缓组合学习器的收敛速度,不过其最佳学习器的预测性能一般优于高学习速率的最佳学习器。本系统两个阶段,一阶段是确定训练速率对于模型性能的影响,所以此阶段会固定除训练速率外的所有参数,然后选择多组训练速率进行模型训练。二阶段是对比组合模型与单模型的预测效果以证明Boosting策略的有效性,此部分选取一阶段中预测效果最优的训练速率,选取多组随机种子进行实验对比以排除随机性的影响。考虑到时间间隔过长的数据之间的相关性会减弱,本实验采用的方式是以前30个交易日的数据预测第31个交易日的收盘价。LSTM-BOOST算法每次迭代的LSTM神经网络以及训练均使用相同的超参数,每次迭代中,LSTM神经网络训练的最大迭代次数为1000次,并且使用提前停止的方式选择最优迭代次数。由于数据的预处理和模型的训练过程中均会使用大量的随机数,所以整个一阶段实验使用固定的随机种子。为了充分展示LSTM-BOOST算法中训练速率的影响,本案设置了0.1-1共10个训练速率进行对照实验。LSTM-BOOST算法中另一个重要的超参数是迭代次数,本案实验采取的是次迭代。并且采用提前停止的策略,具体的方法为:如果下一次迭代的预测效果变差,那么停止迭代。由于不同时期的股票指数相差较大,所以本案实验对于模型在测试数据集上的预测损失度量采用的是平均相对误差MAPE(Meanabsolutepercentageerror),具体的计算方式如下式所示:其中表示样本的真实值。表示模型对样本的预测值,为数据集样本容量。为了排除随机性对结论的影响,本案选取相对最优本文档来自技高网...
【技术保护点】
1.一种基于LSTM-BOOST算法的股指预测系统,其特征在于:将LSTM神经网络作为基学习器的Boosting策略中,每次迭代计算后的预测残差需要进行标准化处理;/n对于样本容量为
【技术特征摘要】
1.一种基于LSTM-BOOST算法的股指预测系统,其特征在于:将LSTM神经网络作为基学习器的Boosting策略中,每次迭代计算后的预测残差需要进行标准化处理;
对于样本容量为的训练数据集,第次迭代的算法步骤如下所示:
1、计算第次迭代的组合学习器的预测残差,构成数据集;
2、将数据集的标签值经过标准化,构成新的数据集;
3、使用数据集训练LSTM神经网络,得出最优基学习器;
4、使用最优基学习器对数据集进行预测,构成预测标签集;
5、对数据集进行还原,得出原始的残差预测标签集
所以LSTM-BOOST算法每次迭代的目标不仅仅是拟合残差,而是拟合标准化后的残差,并将拟合值还原作为对原残差的拟合值;
为了防止算法过拟合,LSTM-BOOST算法使用类似于梯度下降法的学习方式以达到防止过拟合的目的;
梯度下降法中使用步长控制梯度下降的幅度,LSTM-BOOST算法中也可以设置训练速率控制模型学习的幅度;
具体的实现方式是将组合学习器的每个基学习器乘以训练速率:
。
2.根据权利要求1所述的一种基于LSTM-BOOST算法的股指预测系统,其特征在于所述的训练速率的设置可以对算法的函数空间进行更加精密的搜索,较高的训练速率会使组合学习器的损失快速下降并达到收敛的状态;
而较低的训练速率会减缓组合学习器的收敛速度,预测性能一般优于高学习速率的最佳学习器。
3.根据权利要求1所述的一种基于LSTM-BOOST算法的股指预测系统,其特征在于所述的抽取每个月随机的4...
【专利技术属性】
技术研发人员:万珊红,
申请(专利权)人:武汉大学,
类型:发明
国别省市:湖北;42
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。