










文章編號:2096-1472(2024)03-0058-05
DOI:10.19644/j.cnki.issn2096-1472.2024.003.012
摘"要:針對金融時間序列數據的高噪聲、時間依賴性等問題,提出了一種人工蜂群算法-長短期記憶-門控單元(ABC-LSTM-GRU)混合模型。該模型綜合利用長短期記憶網絡(LSTM)和門控循環單元(GRU)循環神經網絡,更 全面地捕捉時間序列中的長期和短期關系。在特征處理階段,通過相關性分析對特征進行篩選,同時采用奇異譜分析(SSA)對數據進行分解,得到高頻、中頻和低頻三個部分。在模型的超參數優化中,采用了改進后的人工蜂群算法(ABC),以提高模型的性能。為驗證ABC-LSTM-GRU混合模型的有效性,選擇NIFTY-50股票指數進行實證分析。實驗結果對比顯示,ABC-LSTM-GRU混合模型在時間序列預測方面的表現更佳,相較于LSTM與GRU模型,其在均方根誤差(RMSE)指標上分別降低了28.3%與21.5%,顯示出更為準確的預測性能。
關鍵詞:GRU;LSTM;ABC;SSA;股市預測
中圖分類號:TP391""文獻標志碼:A
Time Series Decomposition and Prediction Model Based on ABC-LSTM-GRU
ZHU Zijing, HE Liwen
(School of Internet of Things, Nanjing University of Posts and Telecommunications, Nanjing 210003, China)
zhon0713@qq.com; helw@njupt.edu.cn
Abstract: This paper proposes a hybrid model of Artificial Bee Colony-Long Short Term Memory-Gated Recurrent Unit (ABC-LSTM-GRU) to address the issues of high noise and time dependence of financial time series data. This model integrates LSTM and GRU networks to comprehensively capture the long and short term relationships in time series. In the feature processing stage, features are screened by correlation analysis, and the data is decomposed by Singular Spectrum Analysis (SSA) into three parts, high frequency, medium frequency and low frequency. In the hyperparameter optimization of the model, an improved Artificial Bee Colony (ABC) algorithm is used to improve the performance of the model. In order to verify the effectiveness of ABC-LSTM-GRU model, NIFTY-50 stock index is selected for empirical analysis. The comparison of experimental results shows that ABC-LSTM-GRU hybrid model has better performance in time series prediction, and compared with LSTM and GRU model, it reduces the Root Mean Square Error (RMSE) index by 28.3% and 21.5%, respectively, demonstrating more excellent prediction performance.
Key words: GRU; LSTM; ABC; SSA; stock market forecast
0""引言(Introduction)
股市作為經濟體系的核心,對全球經濟具有重要意義。在股票市場中,準確預測股票價格一直是投資者和金融機構極為關注且極具挑戰性的問題。然而,由于股票市場具有高度復雜性和不確定性,所以股票價格的準確預測一直是一項充滿挑戰的任務。
近年來,深度學習在各領域的預測任務中展現出卓越性能,其在金融時間序列預測任務中同樣表現優異。不同的深度學習方法,如卷積神經網絡(CNN)[1]、長短期記憶網絡(LSTM)[2-3]、雙向長短期記憶網絡(BI-LSTM)[4]、門控循環單元(GRU)[5-6]等,在股票價格預測中取得了顯著成果。
此外,降維[7]、超參數優化[8]、時間序列分解[9]等方法在一定程度上提高了股價預測的準確率。研究人員還提出各種混合深度學習模型[10],通過融合不同的技術和方法提升預測性能,即降低均方根誤差(RMSE)等誤差指標。例如,林勇[11]應用MF-DCCA方法分析了百度指數對人民幣匯率的可預測性,結合鯨魚優化算法-季節性趨勢殘差-長短期記憶(WOA-STL-LSTM)混合模型,證明其在人民幣匯率預測中,相比傳統模型具有更好的表現。這些混合模型在實驗中取得了顯著的進展,為研究如何提高股票價格預測性能提供了新的思路。
本文選取NIFTY-50股票指數進行預測,首先對輸入數據進行特征處理,其次對預測數據進行分解,通過構建LSTM-GRU模型對分解后的數據進行預測,同時使用改進后的人工蜂群算法(ABC)獲取最佳的超參數,以此獲取更加精確的預測效果。
1""理論基礎(Theoretical basis)
1.1""LSTM
LSTM是一種專為解決傳統循環神經網絡(RNN)難以處理長期依賴關系的問題而設計的架構,其核心在于引入了輸入門、遺忘門和輸出門等關鍵組件,通過巧妙的門控制機制實現對信息流動的精準調控,其網絡結構圖如圖1所示。
首先,輸入門決定了當前時刻有多少新信息應該被納入模型。通過考慮當前輸入和前一個時間步的隱藏狀態,輸入門生成一個0~1的值,指示新信息的重要性。
其次,遺忘門決定了前一個時刻的記憶狀態中有多少信息需要被遺忘。類似于輸入門,遺忘門通過當前輸入和前一個時間步的隱藏狀態進行計算,生成一個0~1的值。
再次,細胞狀態(Cell State)通過輸入門和遺忘門的輸出進行更新。這一細胞狀態允許LSTM有效地保留并更新長期信息。
最后,輸出門決定了當前時刻隱藏狀態中有多少信息應該被輸出。通過考慮當前輸入和前一個時間步的隱藏狀態,輸出門生成一個0~1的值,控制信息的輸出。
1.2""GRU
門控循環單元(Gated Recurrent Unit,GRU)相比于LSTM采用了更簡化的結構,包含更新門(Update Gate)和重置門(Reset Gate)兩個關鍵組件,其結構圖如圖2所示。
GRU的主要計算公式如下:
首先,重置門決定了模型在當前時間步應該“忘記”多少過去的信息。通過考慮當前輸入和前一個時間步的隱藏狀態,重置門生成一個0~1的值,控制前一個時間步的隱藏狀態的遺忘程度。
其次,更新門決定了模型在當前時間步應該保留多少當前的信息。類似于重置門,更新門通過考慮當前輸入和前一個時間步的隱藏狀態生成一個0~1的值。
最后,通過這兩個門的協同作用,GRU實現了隱藏狀態的靈活更新,既可以捕捉序列中的短期依賴關系,又能在一定程度上處理長期依賴關系。
1.3""ABC算法
ABC算法是一種啟發式優化算法,該算法受到了蜜蜂覓食行為的啟發,模擬了蜜蜂群體中蜜蜂的搜索行為,通過不斷地在搜索空間中探索和利用潛在解決方案,尋找最優解。ABC算法主要包括三種蜜蜂的角色,即工蜂、觀察蜂和偵查蜂。
工蜂負責在搜索空間中生成候選解,并通過評估目標函數的值度量解的質量。觀察蜂通過相鄰解的信息交流,選擇其中較優的解進行跟隨和進一步探索。偵查蜂負責在搜索空間中進行隨機的探索,引入多樣性,防止陷入局部最優解。ABC算法的關鍵在于蜜蜂群體之間的信息傳遞和協作,以及對搜索空間的全局搜索和局部搜索之間的平衡。
2"nbsp;ABC-LSTM-GRU混合模型構建(Construction of ABC-LSTM-GRU hybrid model)
本文設計的ABC-LSTM-GRU混合模型總體架構如圖3所示。
步驟1:對輸入數據進行相關性分析。通過相關性分析的結果,篩選出對后續分解和預測具有重要影響的數據。利用奇異譜分解(SSA)將數據分解為三個部分,分別對應低頻、中頻和高頻成分。
步驟2:對于高頻、中頻、低頻三個部分的數據,首先進行MinMax歸一化,確保它們具有相似的數值范圍;其次對每個頻率部分分別應用小波降噪通過設定適當的閾值去除高頻噪聲,同時保留信號中的重要特征;最后將處理后的數據轉化為PyTorch張量,這樣可以更方便地應用深度學習模型進行時間序列預測。
步驟3:使用ABC-LSTM-GRU混合模型對不同頻率的數據分別進行預測。模型的層次結構采用LSTM-GRU,其層次結構如圖4所示。為了優化模型性能,針對每個頻率的數據分別應用ABC算法獲取最佳的超參數組合。通過對不同頻率的預測結果進行重構,得到綜合考慮各頻率信息的最終預測值。
3""實證研究(Empirical research)
3.1""特征選取與預處理
金融序列數據選取NIFTY-50股票指數,數據源來自開源數據集網站,數據的時間跨度為2016年5月2日至2021年4月30日,總計1 263個交易日。獲取的股票數據包含股票代碼、交易日期、開盤價(Open)、最高價(High)、最低價(Low)、最后成交價(Last)、收盤價(Close)、成交量(Volume)、交易額(Turnover)、交易次數(Trades)、交割量(Deliverable Volume)、交割量占比(%Deliverble)、加權平均價格(VWAP)。
步驟1:獲取數據后對所有字段使用斯皮爾曼秩相關系數進行相關性分析,結果如表1所示。斯皮爾曼秩相關系數是一種非參數統計量,用于度量兩個變量之間的單調關系,其值范圍為-1~1。值為1,表示完全正相關關系;值為-1,表示完全負相關關系;值為0,表示無相關關系。
Last、VWAP、Low、High、Open的相關系數接近1,表明它們與目標變量Close之間存在很強的正相關關系,即它們的值通常會一起升高或下降。
Deliverable Volume的相關系數較低,說明其與Close之間的相關性不強。
Turnover、Trades、Volume的相關系數為0.5~0.7,表示與Close之間存在一定的正相關關系。
%Deliverble的相關系數為-0.6,表明其與Close之間存在反相關性,即當特征值升高時,Close的值可能會下降。
綜上所述,根據斯皮爾曼秩相關系數進行篩選,選擇保留與Close最接近的特征,即Open、High、Low、Last、VWAP。
步驟2:首先對目標數據進行SSA,將其分解為三種頻率的數據,即高頻、中頻和低頻。其次按照股市數據的劃分比例(8∶2),對分割后的數據進行兩個關鍵的處理步驟:一是歸一化處理,確保不同特征之間的數值范圍一致,避免模型偏向某些特征的情況;二是進行小波降噪,旨在去除數據中的噪聲,提取潛在趨勢信息,以及降低數據的復雜性。最后將處理后的數據轉化為PyTorch張量,便于后續的模型預測。
3.2""超參數優化
LSTM-GRU模型的超參數優化采用改進后的ABC算法,流程如圖5所示,具體步驟如下。
步驟1:隨機生成初始參數集。在算法開始時,隨機生成一個初始的參數集,包括學習率(learning_rate)、隱藏層維度(hidden_dim)、丟棄率(dropout)、訓練輪數(num_epochs)。
步驟2:計算初始性能。通過目標函數計算初始性能,即RMSE的值,這實際上是為了得到初始的性能基準,為整個算法的迭代過程做準備。
步驟3:雇傭蜂選擇參數集。雇傭蜂選擇初始的參數集,該參數集將用于后續的計算。在雇傭蜂階段,根據初始的參數集生成新的參數集,評估性能,若RMSE值降低,則保存新的參數。
步驟4:概率計算和觀察蜂的選擇。概率計算用于決定哪些蜜蜂將被選擇進入下一階段,即觀察蜂階段。這種機制引入隨機性,能幫助算法更全面地探索搜索空間,提高優化效果。
步驟5:觀察蜂階段。觀察蜂選擇雇傭蜂,生成新的參數集,評估性能。若RMSE值降低,則保存新的參數。未被選中的雇傭蜂仍然可以保留原參數集,并在下一輪迭代中繼續參與。
步驟6:選擇精英蜂。根據觀察蜂的參數性能選擇精英蜂。若達到了設定的迭代次數,則結束算法,輸出精英蜂的結果。
步驟7:繼續迭代。若迭代次數未達到設定值,則繼續迭代。精英蜂的參數集將成為新一輪的雇傭蜂進入下一輪的優化過程,繼續重復“步驟3”至“步驟6”。
對于當前模型的超參數優化,專注于調整learning_rate、hidden_dim、dropout和 num_epochs四個參數。針對低頻、中頻和高頻的數據分別進行了優化,優化的結果列于表2中。值得注意的是,其他模型預測中的超參數保持固定,learning_rate設置為0.02,hidden_dim設置為64,dropout設置為0.02,num_epochs設置為200。這樣的設定有助于在超參數優化中突出目標參數的變化對模型性能的影響。
3.3""實驗結果與分析
預測數據分為兩個主要類別:一是基礎股市數據(Raw Data,RD),包含Open、High、Low、Volume等原始信息;二是經過特征選取后的數據(Feature-Selected Data,FSD),包含Open、High、Low、Last、VWAP等精選特征。
為了評估模型的預測效果,采用了三個主要指標:RMSE、平均絕對誤差(MAE)和平均絕對百分比誤差(MAPE),這些指標的計算公式如下:
表3呈現了LSTM-GRU模型對不同頻率數據的多指標評估結果,涵蓋了在固定和優化超參數下的低頻、中頻、高頻預測表現。高頻分項的RMSE、MAE和MAPE指標均表現最佳,預測效果最出色。其次是中頻分項,而低頻分項的預測效果相對較差。此外,使用經過優化的參數進行的預測表現優于采用固定參數的預測,表明改進后的ABC算法在提升預測效果方面發揮了積極作用。
高頻成分通常包含市場波動劇烈、瞬時變化顯著的信息,這可能與市場的瞬時波動和快速變化有關。相比之下,低頻成分可能包含趨勢和長期變化,而中頻成分則介于兩者之間。由于低頻成分受到噪聲干擾較多,其預測效果相對較差,中頻成分可能存在中期周期性波動,因此預測效果一般,而高頻成分可能捕捉了市場中的短期波動,這些波動相對容易捕獲。
表4展示了各模型的預測結果。從表4中可以明顯觀察到,在LSTM和GRU模型中,對于FSD(Feature-Selected Data)的預測效果均優于RD(Raw Data),體現在RMSE、MAE、MAPE等指標均有明顯提升,表明使用斯皮爾曼秩相關系數進行特征數據選取能夠顯著提升模型的預測性能。
此外,通過比較各個模型的預測值可以看出,構建的ABC-LSTM-GRU混合模型相較于獨立使用GRU或LSTM模型,以及未經參數優化的LSTM-GRU模型,在股市預測中的表現更為優越。在未進行參數優化的情況下,LSTM-GRU模型表現最優,GRU次之,而LSTM表現相對較差。總體而言,通過ABC算法進行參數優化,不僅有助于提升模型的泛化性能,使其更好地適應未見過的數據,而且通過綜合利用LSTM和GRU循環神經網絡,并進行專門的超參數優化,顯著提升了模型的整體性能。以上結果表明,通過巧妙地調整模型的超參數,可以使模型更有效地捕捉數據的特征,從而提高其泛化性能,模型能更準確地預測目標。
4""結論(Conclusion)
本文充分展示了在金融時間序列中,ABC-LSTM-GRU混合模型表現出卓越的性能,它充分發揮了LSTM和GRU擅長捕捉長期依賴性和高效處理短期變化的特點。特征選取方法在模型預測中取得顯著效果,通過相關分析篩選特征有效地降低了數據維度、去除了冗余信息及提高了模型的訓練和預測效率。ABC算法能自動搜索最佳的超參數配置,使得模型更好地適應數據,降低了過擬合風險,提高了模型預測的準確性,為其實際應用提供了更有效和可靠的方案。綜合而言,ABC-LSTM-GRU混合模型在金融時間序列預測中展現出出色的綜合性能。
在未來的研究中,可以考慮引入金融文本信息或消費者情緒作為模型的額外輸入特征,以進一步提高模型對市場變化的適應性和預測精度。此外,對時間序列進行更深入的分解也是一個可行的方向。通過將時間序列數據分解為趨勢、季節性和殘差三個部分,有望更全面地理解數據的內在結構,從而改善模型在不同時間尺度上的預測效果。這些方法的綜合應用可以為股市預測模型性能的進一步提升提供有益的參考和改進方向。
參考文獻(References)
[1] NOURBAKHSH Z,HABIBI N. Combining LSTM and CNN methods and fundamental analysis for stock price trend prediction[J]. Multimedia tools and applications,2023,82:17769-17799.
[2] 李麗萍,曾麗芳,江紹萍,等. 基于LSTM神經網絡的股票價格預測[J]. 云南民族大學學報(自然科學版),2023,32(4):528-532.
[3] ZHU T L,LIAO Y X,TAO Z. Predicting Google’s stock price with LSTM model[J]. Proceedings of business and economic studies,2022,5(5):82-87.
[4] MANISH C,MANISH D. Financial models for Indian stock prices prediction using LSTM and bi-directional LSTM model[J]. IITM journal of management and IT,2023,12(2):10-14.
[5] HU J C,CHANG Q Q,YAN S Y. A GRU-based hybrid global stock price index forecasting model with group decision-making[J]. International journal of computational science and engineering,2023,26(1):12-19.
[6] 毛增立. 基于SSA-GRU循環神經網絡的地產股價指數預測研究[D]. 哈爾濱:哈爾濱工業大學,2021.
[7] 劉子豪. 基于降維方法的信用風險評估模型研究及其應用[D]. 蚌埠:安徽財經大學,2021.
[8] 李曉寒,賈華丁,程雪,等. 基于改進遺傳算法和圖神經網絡的股市波動預測方法[J]. 計算機應用,2022,42(5):1624-1633.
[9] 叢敬奇,成鵬飛,趙振軍. 基于CEEMD-CNN-LSTM的股票指數集成預測模型[J]. 系統工程,2023,41(4):104-116.
[10] RANJAN P G,NARAYAN M M. An LSTM-GRU based hybrid framework for secured stock price prediction[J]. Journal of statistics and management systems,2022,25(6):1491-1499.
[11] 林勇. 基于深度學習和網絡大數據的金融時間序列分析及預測[D]. 成都:四川師范大學,2022.
作者簡介:
朱子敬(1999-),男,碩士生。研究領域:云計算與大數據,深度學習。
何利文(1968-),男,博士,教授。研究領域:網絡與信息安全,云計算與大數據,圖像處理。
收稿日期:2023-06-16