APP下载

XGBoost-ESN组合模型股价预测方法

2022-02-23谷嘉炜,韦慧

关键词:最小二乘法

谷嘉炜,韦慧

摘要:提出XGBoost-ESN组合模型股价预测方法.使用网格搜索法对XGBoost模型和ESN模型进行参数优化并改进模型结构,利用最小二乘法联合XGBoost和ESN进行数据预测.测试结果表明,改进的XGBoost-ESN组合模型能有效减少预测误差,对股票价格预测的精度更高.

关键词:XGBoost;ESN;网格搜索;最小二乘法;股价预测

[中图分类号]TP181[文献标志码]A

XGBoost-ESN Combined Model Stock Price Prediction Method

GU Jiawei*,WEI Hui

(College of Mathematics and Big Data,Anhui University of Science and Technology,Huainan 232000,China)

Abstract:A stock price prediction method of XGBoost-ESN combined model is proposed.The grid search method is used to optimize the parameters of the XGBoost model and the ESN model and improve the model structure.The least square method is used to combine the XGBoost and ESN for data prediction.The test results show that the improved XGBoost-ESN combination model can effectively reduce the prediction error and has higher accuracy in stock price prediction.

Key words:XGBoost;ESN;grid search;least square method;stock price prediction

面對不稳定的股票市场,如何合理、充分地预测股票价格一直是学者研究的重点问题.机器学习方法凭借其强大的网络模型结构和较好的泛化能力,在股票价格预测领域得到了广泛应用.然而单一模型在处理非线性问题时效果并非十分理想.单一预测模型难以全面反映数据信息、充分挖掘数据中隐藏规律.组合模型可以在一定程度上克服这些不足,提升预测精度,预测性能更好、预测精度较高.任君[1]等将支持向量机和长短期记忆网络与Lasso方法相结合,预测股票涨跌.李敬德[2]等基于信息熵和BP神经网络对信号奇异点进行智能识别和定位.熊景华[3]等组合随机森林算法和模糊信息粒化,提升汇率预测精度.王徐凯[4]等组合长短期记忆网络和随机森林,精准预测武汉市PM2.5浓度.

XGBoost (eXtreme gradient boosting)算法有优化速度快、时间复杂度低、预测精度高等优点.[5]ESN(echo state network)[6]是一种改进的RNN模型,解决了RNN的梯度消失和爆炸问题,很好地克服了传统神经网络带来的不足.该模型具有的短期记忆能力可应用于股票价格预测中,使预测误差明显低于其他方法,极大地提升了股票价格预测精度.[7]黄卿[8]将XGBoost模型应用于股票价格的预测,其预测精度显著高于神经网络和支持向量机.胡郁葱[9]等将XGBoost算法应用于共享单车短时需求量预测,预测结果对比BP神经网络、ARMA、KNN算法具有更优的预测能力.王燕[10]等将改进的XGBoost算法应用于短期股价预测中,预测结果相比梯度增强决策树和支持向量机具有更高的预测精度.庄仲[11]等提出一种包含两个储备池的回声状态网络预测广州市的每日电量,预测精度较高.李莉[12]等提出ESNGTP模型并用于个股每日收盘价预测,表明该模型具有较优的预测能力.陈明扬[13]等提出AFOA-ESN模型用于旅游需求预测,预测结果对比自回归移动平均、支持向量机、BP神经网络算法具有更高的预测精度.鉴于XGBoost及ESN在股票价格预测上表现出的良好性能,本文融合XGBoost与ESN模型,引入网格搜索法[14],对两种模型的参数进行优化,给出XGBoost-ESN组合模型,用于股票价格预测.

1XGBoost-ESN组合模型

1.1XGBoost模型

XGBoost集成弱分类器为一个强分类器[5],算法训练过程核心在于不断地进行迭代,生成一棵新树拟合前一棵树的残差,以此来达到更高的精度.利用XGBoost算法较好拟合股票价格数据的优势,以达到降低预测误差的目的,提升预测精度.

使用CART回归树模型,XGBoost模型表达式为:

y︿i=∑Kk=1fk(xi),fk∈F.(1)

式中,y︿i为预测值,fk是第k棵决策树,K为树的数目,xi为输入的第i个数据,F为所有可能的CART集合.

模型的目标函数为:

O bj=∑i=1l(y︿,yi)+∑kΩ (fk)+c,

Ω (fk)=γT+12λ‖ω‖2=γT+12λ∑Tj=1ω2j.(2)

其中,l(yi,y︿i)为损失函数,Ω (fk)表示正则项,γ和λ是对模型的惩罚系数,T和ω表示第k棵树的叶子树目和叶子权重;c是常数项.

为了简化损失函数,使用加法模型,即迭代不影响原模型,每一次添加一个新函数到模型里,化简后得公式(3):

O bj(t)≈∑ni=1gift(xi)+12hif2t(xi)+Ω (ft).(3)

其中,gi=y︿(t-1)lyi,y︿(t-1)i,hi=2y︿(t-1)lyi,y︿(t-1)i.公式(3)与正则项合并同类项后得到公式(4):

O bj(t)≈∑Tj=1∑i∈Ijgiωj+12∑i∈Ijhi+λω2j+γT

=-12∑Tj=1G2jHj+λ+γT.(4)

其中,Gj=∑i∈I,Hj=∑i∈Ihi.

1.2回声状态网络ESN

回声状态网络由三部分组成[15]:一个随机生成的输入层,一个高维稀疏的储备池,以及一个唯一需要学习的输出层.其中,输入层权重和储备池权重都是从特定分布中随机采样生成并在训练阶段固定,无需学习,而唯一需要学习的输出层权重可以通过回归方法简单求解.回声状态网络的核心结构储备池类似于传统神经网络的隐含层,包含大量稀疏连接的神经元,可以通过调整网络内部权值达到短期训练记忆功能.模型的拓扑结构如图1所示.

图1中,ESN具有K个输入节点、N个隐层节点和L个输出节点.其中,Win是输入层到储备池的反馈,Wres为储备池内部的反馈矩阵,Wout是储备池到输出层的反馈,Wback表示输出层到储备池的反馈.在t时刻输入层的输入为u(t)=u1(t),u2(t),…,uK(t)T,储备池内部状态为x(t)=x1(t),x2(t),…,xN(t)T.回声状态网络从特定的初始回声状态x(0)开始进行前向传播计算,其回声状态更新公式以及输出更新公式为:

x(t+1)=gWin×u(t+1)+Wres×x(t)+Wback×y(t).(5)

y(t+1)=goutWoutx(t+1),u(t+1),y(t).(6)

其中g和gout为对应的激活函数.

在ESN训练过程中,Win,Wback和Wres随机初始化生成后保持固定不变,Wout需要训练生成.

1.3XGBoost-ESN组合模型

采用网格搜索法对XGBoost和ESN模型进行参数优化.网格搜索法[14]排列组合各个参数的可能取值,划分网格,逐一训练参数取各网格点时的模型,最后返回一个最佳参数组合,将模型调整至最优.由于每个参数组合相互独立,网格搜索法有着可并行高且搜索更加全面的优点.

为解决选择默认参数影响模型性能的问题,构建改进的XGBoost和改进的ESN预测模型.基于XGBoost与ESN加权融合的组合模型进行股价预测,利用模型结构的差异性提升融合预测结果的准确性.首先由XGBoost和ESN模型分别对股价进行预测,然后根据最小二乘法赋予权重,最后给出模型最终预测结果.

设XGBoost和ESN在t时刻的预测值分别为P1(t),P2(t),假设XGBoost和ESN的权重分别为α1,α2,最终的预测结果为:

P(t)=α1P1(t)+α2P2(t),α1+α2=1.(7)

其中,α1,α2的值由最小二乘法确定.改进的XGBoost-ESN组合模型构建流程如图2所示.

1.4评价指标

为了评价模型的预测精度,使用均方根误差(RMSE)和平均百分比误差(MAPE)作为衡量指标.

RMSE=1n∑ni=1(yi-y︿i)2.(8)

MAPE=100%n∑ni=1y︿i-yiyi.(9)

式中,yi表示第i天调整后的股票收盘价真实值,y︿i表示预测值,n为样本个数.

2实验及其结果分析

2.1数据选取及预处理选取苹果(AAPL)、CRSP美国总市场指数(VTI)、比亚迪(002594)、格力电器(000651)四组包含国內外公司和市场指数的股票价格作为预测目标.选取从2018年1月1日到2020年12月31日的日交易数据(下载自Python中pandas-datareader包下的Yahoo财经),包括每天的开盘价、最高价、最低价、收盘价、交易量和调整后的收盘价,目标变量为调整后的收盘价,验证融合模型方法对股市预测的有效性.

处理后的数据分为80%的训练集和20%测试集,分别用来训练模型以及评估模型预测效果.为了拓展模型的预测范围,缩放序列集合的特征值均值为0,方差为1.利用这些缩放的特征值做预测,得到的预测值也做同样的缩放处理.

2.2参数优化

对训练集数据,结合网格搜索算法的思想优化XGBoost模型和ESN模型参数,选择最优参数组合.以苹果公司股票为例讨论XGBoost模型参数优化.

XGBoost算法参数有三类:通用参数,由宏观函数控制;Booster参数,调控每次迭代的模型;学习目标参数,控制训练目标和度量方法.Booster参数是对模型效果影响较大的部分,也是调参的重点.本文依次调节模型中的各参数,结果见表1.

ESN储存池一般都是随机初始化的,这样的模型结构很难达到最优.因此本文主要用网格搜索法优化对ESN性能影响较大的两个关键参数、储存池谱半径和储备池缩放因子.步骤:(1)构建评价指标函数;(2)对储备池谱半径和稀疏性参数执行网格搜索(设置变化范围:谱半径[0.5,1.5]、稀疏性[0.001,0.01]);(3)对于每一组(谱半径、稀疏性),训练RC并进行预测;(4)对于每个验证集,计算RMSE并存储它;(5)显示谱半径和稀疏性不同值时的均方根误差并给出模型最优参数.

2.3实验结果分析

对数据集后20%的数据进行预测,并与移动平均、线性回归、XGBoost和ESN模型预测的值进行对比,预测结果见表2.由表2可知,改进的XGBoost-ESN组合模型表现出良好的预测性能,改进算法提高了预测的精度.

图3-图6为测试集的预测结果,显示改进的XGBoost-ESN组合模型股价预测值与实际值拟合度较高,表明对XGBoost模型和ESN模型分别使用网格搜索法进行参数优化后,可以有效改进模型结构提升模型性能,使股票价格的预测精度较高.

3结论

本文提出XGBoost-ESN组合模型股价预测方法.使用网格搜索法对XGBoost模型和ESN模型进行参数优化并改进模型结构,利用最小二乘法联合XGBoost和ESN进行数据预测.对苹果、CRSP美国总市场指数、格力电器、比亚迪四支股票进行分析预测的结果表明,改进的XGBoost-ESN组合模型性能明显优于传统预测模型和单一模型方法,具有更高的预测精度.

模型还存在选择的输入特征参数不够全面等问题,后期考虑增加影响股票行情变化的新闻舆论、公司状况、国家政策、股民情绪等特征来训练模型,进一步提升模型的预测精度.

参考文献

[1]任君,王建华,王传美,等.基于ELSTM-L模型的股票预测系统[J].统计与决策,2019,35(21):160-164.

[2]李敬德,康维新.基于信息熵和BP神经网络的信号奇异点智能检测[J].牡丹江师范学院学报:自然科学版,2017(4): 1-5+43.

[3]熊景华,茹璟.基于随机森林算法和模糊信息粒化的汇率预测组合模型研究[J].数量经济技术经济研究,2021,38(1):135-156.

[4]王徐凯,余华银,杨桂元,等.基于多层组合模型的武汉市月平均PM2.5浓度预测[J].牡丹江师范学院学报:自然科学版,2021(1):7-11.

[5]Chen T,Guestrin C.XGBoost:A scalable tree boosting system[C]//ACM SIGKDD International Conference on Knowledge Discovery & Data Mining.San Francisco,USA:ACM,2016:785-794.

[6]Jaeger,H.Harnessing Nonlinearity:Predicting chaotic systems and saving energy in wireless communication[J].Science,2004,304(5667):78-80.

[7]Lee M C.Using support vector machine with a hybrid feature selection method to the stock trend prediction[J].Expert Systems with Applications,2009,36(8):10896-10904.

[8]黄卿,谢合亮.机器学习方法在股指期货预测中的应用研究—基于BP神经网络、SVM和XGBoost的比较分析[J].数学的实践与认识,2018,48(8):297-307.

[9]胡郁蔥,张筑杰,王晓晴.基于Xgboost算法的共享自行车短时需求预测研究[J].武汉理工大学学报:交通科学与工程版,2019,43(2):231-235+241.

[10]王燕,郭元凯.改进的XGBoost模型在股票预测中的应用[J].计算机工程与应用,2019,50(20):202-207.

[11]庄仲,伍铭妍,刘冲.基于双储备池回声状态网络的电力负荷预测[J].控制工程,2020,27(6):1032-1036.

[12]李莉,程露.基于改进回声状态神经网络的个股股价预测[J].计算机系统应用,2020,29(2):212-218.

[13]陈明扬,王林,余晓晓.改进果蝇算法优化回声状态网络的旅游需求预测研究[J].计算机工程与科学,2020,42(2):307-316.

[14] Hokamp C,Liu Q.Lexically constrained decoding for sequence generation using grid beam search[J].Association for Computational Linguistics,2017,55(1):1535-1546.

[15]Jaeger H."echo state" approach to analyzing and training recurrent neural networks[R].Berlin:German National Research Center for Information Technology,2011.

编辑:琳莉

猜你喜欢

最小二乘法
基于压电陶瓷的纳米定位与扫描平台模型辨识算法研究
基于惯导角度量测的轨道平面最佳线形参数估计算法
马尔科夫链在市场预测中的应用
一种改进的基于RSSI最小二乘法和拟牛顿法的WSN节点定位算法
最小二乘法基本思想及其应用
全国各省份经济发展影响因素的实证分析
全国主要市辖区的房价收入比影响因素研究
手动求解线性回归方程的方法和技巧
一种基于最小二乘法的影子定位技术
基于最小二乘拟合的太阳影子定位模型