?

基于ACO優化的ARIMA-ES-RF布倫特原油價格預測研究

2024-03-27 02:40任蘇靈
科技和產業 2024年5期
關鍵詞:布倫特原油價格螞蟻

黃 玲, 任蘇靈

(蘭州財經大學統計與數據科學學院, 蘭州 730000)

在全球資源驟減、國際環境局勢緊張的背景下,國際原油市場動蕩不安,原油作為經濟社會中工業發展的“大動脈”,決定工業發展的存亡。據2022年2月17日標準普爾全球普氏能源資訊發布的數據:布倫特原油價格突破100美元/桶,升至100.80美元/桶,是自2014年首次突破100美元/桶的關口以來的第二次突破。隨著國際原油價格波動頻率加快, 其價格變動具有較大的不確定性。海關總署數據顯示,2016年4月,中國原油進口量超過美國,位居全球原油進口榜榜首。原油廣泛用于工業生產、航空航天等領域,是保障國家經濟和社會安全發展的重要資源。所以石油價格的波動值得人們重視。已有學者研究表明石油價格的波動會導致一個國家的國內經濟運行不穩定[1-2]。因此預測原油價格的變化趨勢對提前制備政策、穩固國家工業發展、維持經濟穩定、社會正常運作具有舉足輕重的作用。

基于原油價格在國際社會的重要地位及其時間序列的特征,早期弋小晶[3]使用自回歸積分滑動平均(autoregressive integrated moving average,ARIMA)時間序列模型以預測原油價格走勢,雖然對于短期序列,ARIMA具有較好的預測性能,但僅靠ARIMA模型難以捕捉長期序列的非線性特征。為提高預測精度,Theerthagiri和Ruby[4]提出了一種基于季節性學習的ARIMA算法,使用加權平均和等精度估計方法以及反饋誤差分析來預測布倫特原油價格,預測精度提高了30%到59%。即使目前已有大量方法可改進ARIMA的預測性能,但Mati等[5]研究發現,針對同一序列,時間序列模型ARIMA和時間自回歸移動平均模型(TARMA)的預測精度相較于機器學習算法還有待提升。因此,近幾年興起了利用機器學習算法對時間序列的預測研究。Amir等[6]采用了遞歸神經網絡長短期記憶(long short term memory,LSTM)和雙向長短時記憶網絡(Bi-LSTM)研究了深度神經網絡架構,對布倫特原油價格進行了預測,并通過添加層數和更改求解器,對不同誤差進行了比較,結果證明具有兩層LSTM和隨機梯度下降法(SGDM)求解器的模型誤差更小,精度更高(均方根誤差RMSE為1.53)。Liang等[7]使用深度強化學習算法DRL預測Brent等世界三大原油價格,提出了基于近似優化理論的網絡參數動態更新策略,提高了網絡的學習效率,證明了深度強化學習算法DRL的普適性。K臨近(K-nearest neighbors,KNN)等機器學習算法雖在原油價格預測中也有較好的成效,但是在原油價格以天為單位的高頻更新條件下,單一的機器學習算法仍存在一定的局限性,如BP神經網絡對超參數和初始權重敏感,極易陷入局部最小值[8]。KNN需要儲備所有訓練樣本,占用內存大,預測速度較慢[8]。為得到更高精度的原價格預測模型,近兩年興起了利用機器學習算法與傳統ARIMA模型結合的預測研究。楊李甜和王聰[9]使用支持向量機和GA(遺傳算法)改進ARIMA模型;趙興等[10]利用集合經驗模態分解(CEEMD)結合廣義自回歸條件異方差模型(GARCH)對ARIMA預測殘差進行優化,均得到了能規避較大預測誤差的組合ARIMA模型。牛東曉和崔曦文[11]利用門循環(gate recurrent unit,GRU)和LSTM結合串行經驗模態分解-變分模態分解(CEEMD-VMD)二次分解模型促進了預測結果,得到了更高預測精度的長短時記憶網絡-門控循環單元-卷積神經網絡-長短時記憶網絡(CEEMD-VMD-LSTM-GRU-CNN-LSTM)混合預測模型,在預測精度上有所提升。以上研究結果均表明,通過對比不同模型的預測精度,遺傳算法支持向量機-自回歸滑動平均模型(GA-SVM-ARIMA)、經驗模態分解-支持向量機(EMD-SVMs)等改進的組合模型預測精度遠高于單模型。不同于前述研究,Iftikhar等[12]使用Hodrick-Prescott濾波器對原序列進行特殊處理,將原始原油價格時間序列分解為兩個新的子序列,建立了預測精度較高的非線性自回歸神經網絡和自回歸移動平均混合模型。

即使不同的組合改進模型在預測精度上有一定提升,但基學習器的組合改進卻遠不如集成學習能獲得更準確和穩健的預測,這是因為基學習器容易造成過擬合。而集成學習在集合以上優點的情況下,通常對噪聲和異常值也具有較強的魯棒性。在多種集成學習中,隨機森林(random forest,RF)是Bagging基于決策樹而生成的集成學習器。隨機森林的最終預測通過平均每棵樹的預測得到,可用于處理分類問題,也可用于回歸問題,是集成學習算法中最好的算法之一。隨機森林算法不容易造成過擬合,在訓練時每個基決策樹并行訓練使得整體的模型訓練速度很快。自2001年Breiman[13]提出隨機森林算法至今,因為該算法性能優良,被廣泛應用于各個領域的分類問題[14-16]和回歸問題[17-19],是當下用集成學習算法領域的研究熱點。Gupta等[20]利用隨機森林和Lasso估計對比分析了石油價格的不確定性對英國失業率變化的作用,研究結果表明石油價格的不確定性可以預測失業率的樣本外變化,且隨機森林的預測精度更高,即使隨機森林的應用廣泛。但隨機森林在某些噪聲較大的分類、回歸上仍會出現過擬合。除此之外,還可利用貝葉斯優化[21-22]、進化優化算法[23-25]等來調整模型參數(樹的數量、樹的根度)或通過調整特征采樣比,只保留最重要的特征[26-27]等手段來提高隨機森林的訓練速度和泛化性能。

2023年國際原油價格中樞回落,市場供需偏緊,地緣政治因素持續擾動[28]。國際原油價格的預測研究對維護我國石油市場的穩定、減輕價格波動帶來的財務風險具有舉足輕重的作用。ARIMA作為常用于序列預測的方法只能反映序列的線性趨勢,無法捕獲復雜的非線性關系。指數平滑模型在處理大規模數據的計算速度很快,但不當的參數會直接影響模型的精度。因此,本文提出一種在不損失ARIAM和指數平滑(exponential smoothing,ES)模型的信息下,解決單項模型在長時間序列預測問題上的局限性,提高模型的預測精度和穩健性的ARIMA-ES-RF組合非線性型模型。并在此基礎上考慮到隨機森林超參數(樹的數量、樹的深度等)組合的復雜多樣性,難以主觀確定最適用于原油價格預測的參數,引入具有全局最優性,且用于解決組合優化問題的蟻群算法(ant colony optimization,ACO),優化組合預測模型參數,并用于預測布倫特原油價格。蟻群算法可以根據群體實時信息構建問題解空間,然后通過信息素的實時更新尋找最優解。

1 ARIMA-ES-RF組合模型

1.1 ARIMA模型

自回歸移動平均模型(ARIMA)是常被用于時間序列的線性模型[29],ARIMA(p,d,q)一般結構為

(1)

式中:xt、xs分別為平穩時間序列第t期和s期的值;εt、εs分別為與其對應的獨立的誤差項;σε為誤差項的方差;?d=(1-B)d為d階差分;Φ(B)=1-φ1B-…-φpBp為平穩可逆ARMA(p,q)模型的自回歸系數多項式;Θ(B)=1-θ1B-…-θpBp為平穩可逆ARMA(p,q)模型的移動平均系數多項式。

表1 ARIMA模型定階原則

圖1 ARIMA模型建立過程

1.2 指數平滑模型

相較于ARIMA模型只能抓取數據的線性特征,指數平滑模型可融入數據的非線性特征,亦是一種時間序列預測方法,常用于時間序列分析和預測,特別適用于處理平穩或具有一定趨勢和季節性的數據,可分為以下幾種主要類型。

(1)簡單指數平滑模型。適用于沒有明顯趨勢和季節性的時間序列數據?;灸P蜑?/p>

(2)

(3)

下一期的預測值為

(4)

(2)霍爾特線性趨勢模型。適用于具有線性趨勢但沒有季節性的數據。其線性模型表示為

(5)

(6)

(7)

(3)霍爾特-溫特斯季節性模型。適用于具有季節性和趨勢的時間序列數據。其非線性模型為

(8)

(9)

(10)

(11)

(12)

(13)

1.3 隨機森林組合模型

隨機森林(RF)是一種強大的集成機器學習方法,常用于回歸預測和分類任務,最早由統計學家Breiman[13]于2001年提出。隨機森林是樹預測器的組合,它使得每棵樹取決于獨立采樣的隨機向量的值,并且對于森林中的所有樹具有相同的分布。隨機森林通過構建多個決策樹,并通過集成基決策樹的結果來提高模型準確性和穩健性。算法流程如下。

輸入:訓練數據集D={(x1,y1),(x2,y2),…,(xn,yn)},xi∈X?Rn,yi∈Y,Y為輸出空間;隨機特征數為k;訓練輪數為T。

輸出:隨機森林模型G。

算法過程:①對數據集D自主采樣,生成T個樣本集;②對T個樣本集,生成T個決策樹f1,f2,…,fT;③返回隨機森林學習器G=g(f1,f2,…,fn)。

圖2 隨機森林組合模型算法流程

2 基于蟻群算法的ARIMA-ES-RF組合模型參數優化

蟻群算法最早在1992年由意大利計算機科學家Dorigo[30]首次提出。最早的蟻群優化算法是螞蟻系統,在蟻群優化的仿真中,每只螞蟻從一個地點移動到另一地點,仿真將信息素留在螞蟻經過的路徑上,但隨著時間流逝,信息素逐漸揮發。

蟻群系統是螞蟻系統的擴展,主要的兩個擴展如下。

擴展1: 每只螞蟻在構造解時會更新局部信息素,一旦螞蟻從地點i移動到地點j,會沿路更新沿路的信息素:

τij←(1-φ)τij+φτ0

(14)

式中:φ∈[0,1]為局部信息素衰減率;τ0為初始信息素量。式(14)表示當螞蟻經過地點i和地點j,這段路徑上的信息素τij會衰減。若φ=0則τij不變,此時回到最初的螞蟻系統。在所有螞蟻都構造了候選解后,實施更新方式

(15)

中的標準全局信息素更新規則。式(15)中ρ為信息素的蒸發率;best表示最優候選解。

擴展2:構造候選解時,使用偽隨機比例規則,用(ak→j)表示事件第k只螞蟻在構造候選解時去地點j。用Pr(ak→j)表示(ak→j)的概率。在構造候選解時,標準螞蟻系統與蟻群系統的差別如下。

(16)

式中:r隨機均勻分布于區間[0,1],可調參數q0∈[0,1]。標準螞蟻系統用信息素的量推導出概率,螞蟻k基于這些概率決定去到哪個地點。但在蟻群系統中,螞蟻k有概率q0去往概率最大的地點,即從當前地點去信息素量最大的地點。

在已建立的ARIMA-ES-RF組合模型的基礎上,利用蟻群算法優化隨機森林參數。蟻群算法是一種元啟發式算法,來源于觀察螞蟻尋找食物的行為。ACO算法模擬了螞蟻在尋找食物時釋放信息素和選擇路徑的過程,以解決各種組合優化問題。蟻群優化算法尋找全局最優的基本步驟如下。

步驟1:初始化信息素和螞蟻的位置。在問題空間中,隨機放置一定數量的螞蟻,并初始化路徑上的信息素值;

步驟2:螞蟻選擇路徑。每只螞蟻根據一定的概率規則選擇下一個要訪問的節點。通常,螞蟻會傾向于選擇未訪問過的節點。并且信息素濃度較高的節點有更大的概率被選擇。

步驟3:螞蟻移動。螞蟻按照選擇的路徑移動,記錄所經過的節點和路徑的成本。

步驟4:更新信息素。當所有螞蟻完成移動后,更新路徑上的信息素值。信息素的更新包括信息素濃度減少和螞蟻經過的路徑上添加新的信息素,更新公式為

(17)

式中:Lk為第k只螞蟻的路徑長度。

步驟5:重復步驟2~步驟4,設置最大的迭代次數,直至達到預測誤差最小的停止條件。

3 實例分析

3.1 數據來源與處理

合理且有意義的預測結果需要建立在大量的歷史數據上。為有效預測石油價格走勢,選取新浪財經網2022年1月1日至2023年7月30日的布倫特原油每日收盤價格作為研究對象,數據源自一個變量的時間序列,故無須進行標準化處理。針對所得布倫特時間序列中的缺失值,根據原油價格變動的特點,用缺失前一項數據替代缺失值,如缺失項為6月24—25日的油價,6月23日的布倫特油價為74.39,則24日和25日的布倫特油價為74.39。所用的數據分析軟件為Visual Studio Code?;赑ython3.11.5內核,得到布倫特原油價格的時間序列變化趨勢圖(圖3)。以均方根誤差(RMSE)和平均相對誤差(RME)作為衡量模型優劣的主要評價標準,當模型RME值不便于計算時選RMSE作為首要評價標準。

圖3 布倫特原油每日價格序列圖

(18)

(19)

由圖3可知,國際布倫特原油價格于2022年初陡增,在較長一段時間內保持著較高的價格水平。很大原因是2022年1月17日國際社會爆發了俄烏沖突,引發了地緣政治緊張局勢,這可能導致原油價格出現劇烈波動。國際石油市場參與者通常會對這種不確定性作出反應,導致價格的快速上漲或下跌。此外還可能引發國際社會對能源供應的擔憂,因為俄羅斯是世界上最大的石油和天然氣出口國之一。對供應的不確定性亦會推高價格。雖然地緣政治風險可能導致投資者對原油市場加大風險溢價,但這種風險溢價通常是短期的。待局勢稍微穩定,風險溢價將會減少,表現為圖3中2022年7月后布倫特原油價格逐漸降低,后續保持在較為穩定的水平,較為穩定的數據在一定程度上將奠定未來預測結果的穩定性。

3.2 建立ARIMA預測模型

為計算模型擬合精度并與不同模型進行對比,對2022年1月1日至2023年7月30日的數據以8∶2的比例劃分訓練集和測試集,針對訓練集建立ARIMA模型、指數平滑模型,利用測試集檢驗模型擬合效果。在建立ARIAM模型前,調用Python3.11.4中adfuller()函數對序列進行平穩性檢驗(表2),發現原序列非平穩,對原數據進行一階差分處理并繪制自相關圖和偏自相關圖(圖4)確定階數。

表2 平穩性檢驗結果

結合表2、圖4(a),一階差分處理后的序列平穩不具有季節效應,根據圖4(b)、圖4(c)設定不同參數p、q對布倫特原油價格序列的訓練集建立ARIMA模型,以測試集作為對照組計算各模型的RMSE確定最優的布倫特原油價格序列的預測模型為ARIMA(1,1,2)。

Var(εt)=4.74

(20)

3.3 建立指數平滑模型

指數平滑模型按平滑的次數可分為簡單指數平滑(一次平滑)、霍爾特線性指數平滑(二次平滑)、霍爾特-溫特斯季節性指數平滑(三次平滑)。為選擇性能最優的指數平滑模型,分別對目標序列訓練集建立一次、二次、三次指數平滑,得到不同模型的預測精度指標值(表3)。

表3 不同指數平滑模型預測精度指標值

根據表3最終選擇三次指數平滑模型,以RMSE和RME最小為目標在[0.01,0.99]間搜索的最優平滑系數α為0.97,RMSE值為4.77。最終預測結果見表4(表中示例為2023年8月21—31日的數據)。

表4 單項模型2023年8月21—31日預測結果

3.4 建立ARIMA-HW-RF模型并優化

在以上模型結果量綱相同的基礎上,結合隨機森林模型模擬組合函數中輸入、輸出特征的量綱無差異的特點,訓練隨機森林模型時可不對輸入特征標準化。

設置隨機森林初始參數樹的數量為100,樹的最大深度為5,最大迭代次數為100。以ARIMA(1,1,2)和三次指數平滑模型在2023年8月1—20日的預測值作為輸入特征,實際值為輸出特征訓練隨機森林,對未來11天(8月21—31日)的布倫特原油進行預測(表5)。

表5 組合模型2023年8月21—31日預測結果

基于已經訓練好的ARIMA-ES-RF模型,引入進化算法對其參數調優。

第1步:設置隨機森林初始參數樹的數量為100,樹的最大深度為5,樹的數量迭代范圍為(1,150),最大深度迭代范圍(1,20),最大迭代次數為200。

第2步:利用Python中確定性全局優化算法函數dual_annealing來優化隨機森林模型的參數。dual_annealing 函數使用了一種雙重模擬退火算法,其中參數的搜索過程是通過漸變優化來完成的,而不涉及螞蟻數量或信息揮發率。因此,在dual_annealing中,不需要設置螞蟻數量或信息揮發率。

第3步:以最小的RMSE、RME值為終止條件,得到最優的隨機森林參數,樹的數量為11,最大深度為1。

第4步:以ARIMA(1,1,2)和三次指數平滑模型在2023年8月1—20日的預測值作為輸入特征,實際值為輸出特征訓練隨機森林,對未來8月21—31日共11 d的布倫特原油進行預測(表5)。

通過比較表4和表5發現,單項模型都沒有組合模型的預測精度高。ARIMA-ES-RF組合模型的平均相對誤差RME為1.10%,均方根誤差RMSE為1.15;蟻群優化參數后的ARIMA-ES-RFAOC模型的平均相對誤差為0.86%,均方根誤差RMSE為0.88。蟻群優化參數后的模型RMSE降低了0.27,RME降低了0.24%,說明經過蟻群優化算法優化后的隨機森林模型具有很好的可預測性,驗證了蟻群優化仿生算法對隨機森林超參數優化的可行性、優良性。

4 結論與建議

基于2022年1月至2023年7月的布倫特原油價格數據集,利用集成學習算法隨機森林(RF)結合ARIMA模型和ES模型的預測結果,構建了ARIMA-ES-RF非線性組合模型,考慮到隨機森林模型中超參數隨機組合的復雜性,利用進化遺傳算法ACO優化了非線性組合模型ARIMA-ES-RF的超參數。結果表明蟻群優化參數后的ARIMA-ES-RF模型的預測誤差顯著降低,且明顯低于已有文獻提出的組合預測模型。

由實驗結果可觀察到,隨機森林算法相比于單一學習器已有較高的精度,但利用遺傳算法ACO進行全局優化后的模型精度更高,預測誤差更小。通過對國際布倫特原油價格的預測,證實了本文提出的基于ACO算法優化的ARIMA-ES-RF非線性組合模型的可行性和優良性。較低的預測誤差意味著本文提出的原油價格預測模型合理有效。

但該模型還有需要繼續改進的地方:①單項模型的選擇及優化處理;②隨機森林的初始參數設定;③蟻群優化算法的算法改進等。未來可嘗試進一步優化該組合模型并驗證其適用領域。

合理有效的原油價格預測模型可用于支持政府、公司和投資者在能源領域的決策。這些決策可以涉及資源分配、投資戰略、政策制定和市場參與等方面。另外,能源公司、金融機構和投資者可以使用原油價格預測模型來管理風險。通過了解未來價格的可能波動,可以采取相應的措施,以減輕價格波動帶來的財務風險。再者,原油價格的波動會影響整個供應鏈,從生產商到消費者。通過合理的價格預測模型,公司可以更好地規劃原材料采購、生產計劃和定價策略,以確保供應鏈的穩定性。預測結果表明2023年8月初的布倫特油價大約維持在83美元/桶,今后可收集更多相關歷史數據以獲得更準確的預測模型。

猜你喜歡
布倫特原油價格螞蟻
前美國國家安全顧問布倫特·斯考克羅夫特逝世,享年95歲
自由的想象——布倫特·布朗
我們會“隱身”讓螞蟻來保護自己
螞蟻
原油價格降到何處是終點?
圖表
螞蟻找吃的等
世界原油價格
2009—2030年原油價格預測
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合