趙萌 王倩影



摘? 要:針對目前股價預測模型在隨著網絡層數增加而導致梯度發生極端變化的問題,提出一種并聯殘差神經網絡(ResNet)和門控循環單元(GRU)網絡模型對股票數據的收盤價進行預測。在滬深300股票價格數據上的實驗結果表明,該模型的平均絕對誤差(MAE)為6.714,均方根誤差(RMSE)為60.961,預測誤差均低于其他模型;且決定系數(R2)為99.472%,表明預測值和真實值較為接近。該模型對股票價格預測的效果較好。
關鍵詞:股價預測;股票價格;殘差神經網絡;門控循環單元
中圖分類號:TP183;F832.5? 文獻標識碼:A? 文章編號:2096-4706(2023)04-0113-04
Stock Price Prediction Based on Parallel ResNet-GRU Model
ZHAO Meng, WANG Qianying
(Hebei University of Economics and Business, Shijiazhuang, Hebei? 050061, China)
Abstract: Aiming at the problem that the current stock price prediction model changes the gradient extremely as the number of layers of the network increases, a parallel ResNet and GRU network model are proposed to predict the closing price of stock data. Experimental results on the CSI 300 stock price data show that the Mean Absolute Error (MAE) of the model is 6.714, the Root Mean Square Error (RMSE) is 60.961, and the prediction error is lower than that of other models. And the coefficient of determination (R2) is 99.472%, which indicates that the predicted value and the true value are relatively close. The model has a better effect on stock price prediction.
Keywords: stock price prediction; stock price; ResNet; GRU
0? 引? 言
在股票時間序列數據中存在許多噪聲信息和不確定性因素,是一個具有非線性、非平穩性和長期記憶性等特點的復雜系統,準確預測股票價格可以降低交易風險且對于投資者來說具有重要意義。
股價預測的傳統方法有多元線性回歸法、自回歸移動平均法(ARIMA)等。如李俊豪[1]通過使用因子分析改進的多元線性回歸模型對貴州茅臺股票的收盤價進行預測;劉松等[2]通過建立ARIMA模型對西南證券股票的短期數據收盤價進行研究;齊天鏵[3]建立了灰色模型和ARIMA模型,分析了模型的應用場景并對股票價格進行預測。近年來,伴隨著人工智能網絡技術的飛速發展,機器學習和深度學習等算法在各領域中得到廣泛應用。通過引入支持向量機、神經網絡等方法,進而由線性回歸過渡到非線性模型的擬合,來對股價進行預測研究[4-9]。然而,伴隨著預測周期的加長和網絡層數的增加,容易產生梯度極端變化等問題[10],這樣會使得模型的預測效果較差。殘差神經網絡可以簡化深層網絡的訓練,避免模型梯度的極端變化問題。
綜合以上模型思想,提出一種并聯ResNet-GRU模型方法對股票價格進行預測。該模型通過引入殘差卷積神經網絡和記憶循環神經網絡技術對股票價格數據進行訓練以提取高維特征。利用了并聯殘差神經網絡(Residual Neural Network, ResNet)的簡化深層網絡訓練能力和門控循環單元(Gate Recurrent Unit, GRU)網絡對時間序列數據的記憶能力,將ResNet網絡和GRU網絡的輸出結果進行拼接作為總輸出。這進一步提升了對股票價格的預測精度。
1? 模型構建
1.1? 卷積神經網絡(CNN)
卷積神經網絡是具有局部連接和權重共享等性質的深度神經網絡,其通常是由Conv層、Pooling層和全連接層共同組成。一般來說,在卷積神經網絡中可以有一個或多個Conv層、Pooling層和全連接層。網絡的基本模型結構如圖1所示。具體內容有:
(1)Conv層。其作用是利用特征提取器(卷積核)對局部區域的特征進行提取,特征提取器的選擇可以相同,也可以不同。
(2)Pooling層。也稱采樣層。作用是對區域特征值進行特征選擇,從而降低特征維數,避免過擬合。常用的池化方式有兩種:一種是最大值池化(Max Pooling),最大值池化是選取某個區域所有數值中最大的一個作為該區域的代表值;另一種是平均值池化(Mean Pooling),通常是選取區域內所有數值的平均值作為該區域的代表值。
(3)全連接層。其作用是連接所有特征,將卷積、池化輸出的二維特征數據處理成一維特征向量,用來綜合所有信息。
1.2? 殘差網絡模型(ResNet)
與CNN模型相比,ResNet模型在其中加入了Shortcut直連邊分支結構(也稱殘差連接(Residual Connection)),使其與殘差單元以直連邊拼接的方式實現來提升網絡信息的傳播效率。殘差網絡中的基本模塊結構如圖2所示。模塊中包含兩種映射:一是恒等映射,即圖2中右側的x連線;二是殘差映射F(x),最終輸出目標函數H(x)=F(x)+x。
圖2中,輸入數據通過兩個卷積層得到:
F=W2σ(W1x)? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? (1)
其中Wi代表權重,σ代表非線性函數relu,然后與一個Shortcut連接,再經過非線性函數relu,最終獲得輸出目標函數為:
H=F(x,{Wi})+x? ? ? ? ? ? ? ? ? ? ? ? ? ? ?(2)
當輸入維度與輸出維度不一致時,在Shortcut處對x做線性變換WS,最終輸出目標函數為:
H=F(x,{Wi})+WSx? ? ? ? ? ? ? ? ? ? ? ? ? ?(3)
1.3? 門控循環單元模型(GRU)
GRU是LSTM網絡的進化神經網絡,與LSTM不同,其網絡結構比LSTM網絡更加簡單。GRU網絡通過引入門控機制重置門(Reset Gate)rt與更新門(Update Gate)zt去選擇信息。GRU神經網絡的結構如圖3所示。其門控狀態來源于前一刻的信息狀態ht-1和當前時刻的信息狀態xt。
GRU網絡的具體傳播過程如下:
(1)重置門rt與更新門zt。其作用都是將前一刻的狀態信息ht-1與當前時刻信息xt通過門控狀態進行運算,σ為sigmoid激活函數。計算表達式為:
rt=σ(Wxr xt+Whr ht-1+br)? ? ? ? ? ? ? ? ? ? ? ? (4)
zt=σ(Wxz xt+Whzht-1+bz)? ? ? ? ? ? ? ? ? ? ? ? ?(5)
(2)當前時刻的候選狀態 。在重置門rt對上一時刻的狀態信息ht-1實現信息狀態的重置后,再將其與當前時刻信息xt通過函數tanh激活,具體計算表達式為:
(6)
(3)輸出層為當前狀態ht。表示要從前一時刻信息狀態ht-1中提取多少信息,且從候選狀態? 中保留多少信息,即通過更新門的遺忘和選擇記憶與當前時刻候選狀態共同控制輸出。計算表達式為:
(7)
在式(4)~(7)中:Wxr,Wxz,,Whr,Whz分別為當前時刻與前一時刻中各輸入層之間連接的權重矩陣;br,bz, 分別為重置門、更新門和當前時刻隱藏層的偏置項;“·”表示點乘。
1.4? 并聯ResNet-GRU模型
綜合以上模型思想,為了提高對股票價格的預測精度,提出了如圖4所示的并聯ResNet-GRU神經網絡模型。該模型可分為3個層次,即ResNet通道層、GRU通道層和特征融合層。在搭建ResNet神經網絡時,分別嘗試了4種不同深度的神經網絡模型,分別為8層、10層、14層和18層,通過實驗訓練得出14層網絡模型的預測效果要優于其他3種模型。因此,在上層ResNet通道中,最終選擇由14個Conv層、兩個Pooling層、一個Flatten層和一個全連接層組成。在下層GRU通道中,包含兩個GRU單元和一個全連接層。特征融合層是由上層ResNet神經網絡通道經過逐層卷積提取的股票價格信息在空間維度上的特征和下層GRU神經網絡通道通過重置門和更新門提取的股票價格信息在時間維度上的特征融合而成,最終對預測結果進行輸出。
2? 實證分析
2.1? 數據采集與處理
實驗數據選取滬深300(股票代碼399300)中1991年4月4日至2022年7月6日股票數據進行訓練和測試,具體用到開盤價、最高價、收盤價、最低價、前收盤和成交金額六個指標。通過對原始數據中預測變量缺失值進行刪除得到,有效數據共計4 253條,將數據集劃分為訓練集和測試集兩部分,分別占整個數據集的80%和20%。為消除指標間不同量綱產生的影響,采用Min-Max標準化處理數據,計算公式為:
(8)
其中,xnorm表示標準化得到的結果;xmin(axis=0)表示數據x矩陣中每列的最小值組成的行向量;xmax(axis=0)表示數據x矩陣中每列最大值組成的行向量。
2.2? 模型參數設置
所選數據集中共有六個指標,設置以6個單元為一個窗口大小,分別將數據的訓練集和測試集劃分為6×6的單個樣本結構,并得到訓練集的窗口數據個數為3 396,測試集的窗口數據個數為845。對于ResNet神經網絡,通過Reshape層將每一組數據變換為6×6×1的二維圖像輸入數據形式,即長寬數值為6,通道數為1的圖像。那么在ResNet網絡上股價數據的訓練集結構為3 396×36,測試集結構為845×36;在GRU神經網絡上股價數據的訓練集結構為3 396×6×6,測試集結構為845×6×6。對于ResNet通道層,在Conv卷積層中,卷積核大小為3×3,個數為64,填充padding為3,步長為1,激活函數為relu,池化層采用最大值池化,步長參數為2,填充padding為1,輸出大小為6×6×64;在ResConv1層中,該層包括4個殘差單元層,共有8個卷積層,每層的卷積核大小為3×3,個數為64,填充padding為3,步長為1,激活函數為relu,輸出大小為6×6×64;在ResConv2層中,該層包括2個殘差單元層和一個Shortcut分支結構,共有5個卷積層,殘差單元的卷積層中,每層的卷積核大小為3×3,個數為128,填充padding為1,步長為1,激活函數為relu;為了使數據的輸入和輸出有相同的維度,設置Shortcut分支結構卷積層卷積核大小為3×3,個數為128,填充padding為1,步長為2,激活函數為relu,輸出大小為3×3×128;最后池化層采用平均值池化,輸出大小為1×1×128。通過以上設置參數構成了ResNet神經網絡模型。對于GRU通道層,設置了兩層GRU單元,每層的序列滑動窗口大小為6,步長為1,激活函數為sigmoid。通過以上設置參數構成了GRU神經網絡模型。
2.3? 評價指標
本文將均方根誤差(RMSE)、平均絕對誤差(MAE)和決定系數(R2)作為評價指標,分別對并聯和串聯的CNN-LSTM,CNN-GRU,ResNet-LSTM,ResNet-GRU模型的股票價格預測效果進行評估,其具體計算公式為:
(9)
(10)
(11)
在式(9)~(11)式中,yi表示樣本的真實值, 表示樣本的預測值, 表示樣本均值,N為總樣本量。其中RMSE和MAE反映了股票價格的預測值與真實值之間的誤差信息,RMSE、MAE值越小,表明模型預測的失真率越小;R2反映股票價格的預測值與真實值之間的相似程度,R2值越大表示模型的預測值與真實值越接近,預測效果越好。
2.4? 結果分析
實驗分別在并聯和串聯的CNN-LSTM,CNN-GRU,ResNet-LSTM,ResNet-GRU模型上進行預測。經過多次訓練模型得到,當滬深300股票價格數據訓練的batch_size為68,epochs為50,優化算法為Adam時,模型的擬合效果達到最好。為直觀表達視圖結果,在這里僅將并聯ResNet-LSTM和ResNet-GRU模型的預測結果進行圖例化對比,結果如圖5所示。
由圖5可以看出,模型融合了ResNet神經網絡優化深層神經網絡訓練能力和GRU神經網絡對時間序列數據的記憶能力的特點,使得測試數據集的預測值一直逼近真實值,預測結果較好。
依據評價指標將所有模型通過測試集測試的預測效果進行對比,如表1所示。由表1可以看出,模型在滬深300數據集上的均方根誤差為60.961;平均絕對誤差為6.714;決定系數為99.472%。相比于其他模型,該模型的誤差值降到最低,決定系數達到最大,表明該模型的預測效果最好,精度更高。
3? 結? 論
本文建立了并聯ResNet-GRU模型對股票價格進行預測。模型通過在傳統卷積神經網絡中加入短連接分支結構形成殘差神經網絡,解決了因網絡深化而導致梯度極端變化的問題,同時也對股票價格的高維特征進行有效提取,還融合了GRU神經網絡對時序數據長期歷史信息的記憶能力,并在滬深300的股票數據上進行實證分析。通過模型預測結果發現,與其他模型相比,該模型在評價指標上的效果較好,預測值與實際值的吻合度較高。這證實了殘差神經網絡的引入提高了模型對股價的預測性能。
參考文獻:
[1] 李俊豪.基于改進多元線性回歸的股票價格預測模型 [J].科技經濟市場,2019(8):61-62+64.
[2] 劉松,張帥. 運用ARIMA模型對股價預測的實證研究 [J].經濟研究導刊,2021(25):76-78.
[3] 齊天鏵.基于灰色模型與ARIMA模型的股票價格預測 [J].計算機時代,2021(10):83-85+89.
[4] 徐浩然,許波,徐可文.機器學習在股票預測中的應用綜述 [J].計算機工程與應用,2020,56(12):19-24.
[5] 張青.基于ARIMA-SVM組合模型的創業板股票價格預測分析 [J].廣西質量監督導報,2019(12):131-132.
[6] 黃超斌,程希明.基于LSTM神經網絡的股票價格預測研究 [J].北京信息科技大學學報:自然科學版,2021,36(1):79-83.
[7] 羅鑫,張金林.基于多時間尺度復合深度神經網絡的股票價格預測 [J].武漢金融,2020(9):32-40.
[8] 張倩玉,嚴冬梅,韓佳彤.結合深度學習和分解算法的股票價格預測研究 [J].計算機工程與應用,2021,57(5):56-64.
[9] 趙紅蕊,薛雷.基于LSTM-CNN-CBAM模型的股票預測研究 [J].計算機工程與應用,2021,57(3):203-207.
[10] HE K M,ZHANG X Y,REN S Q,et al. Deep Residual Learning for Image Recognition [C]//Proceedings of 2016 IEEE Conference on Computer Vision and Pattern Recognition.Las Vegas:IEEE,2016:770-778.
作者簡介:趙萌(1997—),男,漢族,河北邯鄲人,碩士研究生在讀,研究方向:調查與大數據分析;王倩影(1984—),女,漢族,河北保定人,副教授,博士研究生,研究方向:深度學習。
收稿日期:2022-08-03