中圖分類號:F323.7 文獻標志碼:A 文章編號:2096-9902(2025)13-0001-05
Abstract:Accuratelypredictingpigpricefluctuationsisof greatsignificance tomaintaining thebalanceofmarket supply anddemand,optimizingproductiondecisionsandensuringthestableoperationoftheindustrialchain.Aimingattheshortcoming oftraditionalpredictionmethodsininsuffcientgeneralizationabilityinsmallsamplescenarios,thispaperconstructsahybrid predictionframeworkbasedonSeasonal-TrendDecompositionusingLOESS(STL)andModel-AgnosticMeta-Learning(MAML). Specificall:First,STLdecompositionisusedtodecouplethetimeseriesdataofpigpricesintothreecomponents:trendterms, seasontermsandresidualterms,whichefectivelyenhances featureinterpretabilityandsuppresesnoiseinterference;thena dual-stagemeta-learningmechanismisdesigned-inthebasictrainingstage,LSTMandGRUnetworkarchitecturesareusedto conductmuti-taskpre-trainingonpigandporkpricestolearnsharedfeaturerepresentationsofpricefluctuationsacrossbreds; Intherapidadaptationstage,therapidmigrationofthemodelinsmallsampletargetscenariosisachievedthroughcolaborative optimizationofMAMLsinternalloopparameterfine-tuningandexterallopmeta-parameterupdate.Empiricalresultsshowthat thismethodhassignificantimprovementoverthebenchmarkmodelintermsofroot-mean-squareeror(RMSE)andmeanabsolute eror(MAE)indicators,providinganinterpretableandtransferabledecisionanalysistolfortheconstructionofagricultural economic early warning systems.
Keywords: pig price prediction; meta-learning; MAML; STL; LSTM和機器學習方法。其中,傳統統計學方法通常通過歷史數據建模,如自回歸差分移動平均(ARIMA)灰色雙指數平滑模型[及灰色廣義Verhulst模型(GGVM)等,但這些方法研究預測的尺度比較粗糙,且這些線性模型,在處理非線性數據時表現不佳,尤其在突發事件影響時局限性更為明顯。
在農業經濟領域,生豬價格的波動對農民收入、養殖企業盈利以及消費者購買力都有深遠的影響。因此,對生豬價格進行準確預測,對于制定合理的產業政策、優化資源配置、穩定市場供應和調節價格波動具有重要意義。然而,生豬價格受多種因素影響,如供需關系、季節性因素、經濟周期、政策變化和突發情況等,這些因素的復雜性和不確定性給價格預測帶來了挑戰。
近年來,機器學習方法研究在豬價預測領域大量涌現。例如,集成梯度提升回歸支持向量機(SVM)隨機森林模型及循環神經網絡(RNN)[]等方法都被目前,生豬價格預測方法主要有傳統統計學方法用于生豬價格預測。其中,RNN能夠捕獲先前和后續輸入數據之間的復雜聯系,特別適合價格預測[。長短期記憶(LSTM)[2和門控循環單元(GRU)[3是RNN變種中效果最好的2個方法,文獻[14]以在線論壇異構圖增強LSTM預測漲跌趨勢精度最好;文獻[15]以螢火蟲搜索算法優化LSTM超參數找到了比手工尋參更好的預測模型;文獻[16]使用加入了注意力機制的LSTM,使模型能夠對輸人數據不同部分自動施加權重,有效提升傳統LSTM模型的預測能力;文獻[17]以變分模態分解(VMD)聯合GRU搭建的深度模型預測國際原油價格針對不同數據的魯棒性更優。同時在豬價預測等場合廣泛通過各種分解技術加以輔助,二者結合能夠增強特征提取能力,增強抗噪與穩定性[8],提高建模精度[19-20],提升模型泛化能力[17,21]。
盡管各類深度模型具備強大的表示能力和學習能力,但由于其參數量極為龐大,在訓練過程中需要大量的數據支持。當數據量相對匱乏時,模型訓練極易出現過擬合現象,且在優化過程中極易陷人局部最優解。為應對上述挑戰,一種可行的方法是使用MAML2算法,它能夠在跨任務訓練過程中,對先驗知識進行學習,并通過對相關任務的學習解決數據匱乏問題[23]。
本文提出了一種改進LSTM和GRU生豬價格預測方法。為了減少噪聲干擾,提高模型穩定性,我們引入了STL分解技術。首先,將生豬價格的歷史價格數據解耦為趨勢、季節和殘差3個部分。通過STL分離殘差噪聲后,數據將更加平穩和清晰,能夠為LSTM和GRU模型提供更加可靠的輸人數據,從而提升模型預測的穩定性和準確性。然后,利用MAML算法進行跨任務學習,把在生豬價格上訓練過的LSTM和GRU模型作為MAML的基礎模型,將生豬和豬肉價格的訓練數據放人支持集,使用生豬的測試數據作為查詢集[23],通過內循環外循環的迭代產生出一套適合的模型參數。最后,通過微調模型使其在生豬價格預測的目標任務上更加適應。
1 理論與方法
1.1 STL分解
STL分解是一種時間序列分解方法,它用于將時間序列數據分解為3個主要成分:趨勢(Trend)、季節(Season)和殘差(Resid)。STL分解能夠有效地處理具有季節性波動的時間序列,尤其適用于非線性、非加性或季節性變化較復雜的數據。STL分解思想依據以下假設
yt=Tt+St+Rt
假定數據序列是具有加法特征的(具有乘法特征的數據可以通過對數和指數變換后進行),其中 yt 表示原始數值序列, Tt 表示較平滑的趨勢成分, St 表示季節性成分, Rt 表示剩余殘差部分。STL分解由一系列平滑運算組成。所用局部加權散點平滑(Loess)是一種非參數的回歸方法,廣泛應用于數據平滑、趨勢分析和時間序列建模。Loess定義了一個平滑函數 g(x) ,每個點的數據值 y 都可以通過數據點的位置 x 和殘差 ε 進行表示,即
y=g(x)+ε
定義 q 為鄰域的大小,將各點 x 的 q 個最近鄰居乘上權重后擬合 g(x) ,再使用其預測該點,權重的設計使距離 x 點越近的點權重越大,距離遠則權重小。令 W 為3次權值函數
式(3)的 u 值通過式(4)的定義給出,任意 xi 的鄰域權重 vi(x) 為
式中: xi 是 x 的鄰域內點的位置,分母是 x 的鄰域最遠點到 x 的距離。如此距離 x 最近的 xi 的權重就最大,隨xi 與 x 的距離增加相應的權重減小,在第 q 個最遠點上相應權值為0,然后利用 (xi,yi) 和權值 vi(x) 擬合一個多項式。因為不需要對回歸曲面的參數形式做出任何假設,健壯性和靈活性是這種分解方法的主要優點。
1.2 模型無關元學習算法
元學習即讓機器學會如何學習,MAML算法具有只需要相對較少的數據即可學到處理相關任務的能力。該類元學習的基本思想是通過任務的概念利用內循環、外循環迭代搜索出一個更好的深度模型初始參數,在合適的初始參數下模型可以通過相對較少的優化步驟快速學習新任務,快速適應新的數據。在給定的任務上,算法通過跨任務訓練學到不同任務的知識,再通過對目標任務微調提高模型預測能力。
本文的生豬價格預測研究引入模型無關元學習MAML算法,核心流程如圖1所示。
MAML基本思想假設模型 fθ 的參數 θ (這里 θ 表示模型的權值矩陣和偏置向量),任務的分布為: P(T) 從支持集分布抽取一批任務,記做 Ti,Ti~P(T) ,對每個任務 Ti 抽取 k 個數據點訓練模型,計算損失 LTi(fθ) 使用梯度下降使損失最小化,記錄此時的最優參數集
式中: θ 是初始元參數,這里的 θ 可從訓練過的基礎模型獲取(本文實驗中分別選取了以生豬價格數據和豬肉價格訓練過的普通深度模型), θi′ 是經過梯度下降的具體某任務的最優參數, α 是更新步長超參數, ablaθLTi (fθ )是任務 Ti 的梯度。在豬價預測任務的MAML算法中,通過內循環在支持集的相關數據上推理并計算誤差和梯度,利用式(4)更新對應各支持任務的參數。
這樣經過梯度下降的更新,得到一組較優參數:θi′={θ1′,θ2′,θ3′,…}c
再通過元更新得到元參數。
式中: ;β 是更新步長超參數, 是每個新任務相對于參數 θi′ 的梯度。在外循環對查詢集任務計算整體損失執行梯度更新得到優化后的元參數 θ′ 。
MAML訓練出的初始權值對模型的微調適應性更好,通常只需要對表層網絡的權值重新調整就可以適應新任務的學習。實驗中支持集調取了生豬和豬肉價格預測2個任務的訓練數據,查詢集分別調取生豬價格數據和豬肉價格測試數據。經過元學習算法更新優化得到的 θi′ 產生一個模型 fθ 用于具體任務的學習。元參數的更新也是通過梯度更新,因此MAML實現了“用梯度下降來進行梯度下降”的思想。
1.3基于STL分解和MAML算法預測生豬價格
本文將STL分解和MAML算法在深度模型上有機結合,構造出一種新型模型預測生豬價格,模型主要有4部分。模塊1對數據進行預處理,包括STL分解、數據歸一化、滑動窗口切片生成特征與標簽,按比例分割訓練驗證測試數據;模塊2利用深度模型擬合訓練數據;模塊3利用MAML算法進行跨任務訓練;模塊4在目標任務上做最終微調。本文選用了2種深度神經網絡基礎模型作為展示,分別是LSTM和GRU。LSTM通過對RNN的改進解決了“長期依賴”的問題,通過“門”機制的引入改進了標準RNN單元的記憶能力。GRU是對LSTM的一種簡化,結構上相對LSTM更加簡單,在大部分場合能夠達到幾乎相同的性能。
1.4 數據預處理
本文使用的數據來自布瑞克農業數據終端,生豬價格數據從2000年1月至2024年10月,豬肉價格數據自2008年1月至2024年10月。采集到的數據統一處理為周度數據,缺失值用缺失日期附近日期的價格取平均后加以填充。
數據的統計信息見表1,歷史變化如圖2所示,圖中實線表示生豬價格的變化趨勢,虛線表示豬肉價格的變化趨勢。
表1展示了2列統計信息,左邊是生豬價格數據統計,右邊是豬肉價格數據統計。count表示數據包含條目數,mean表示被統計部分數據均值, std 表示標準偏差, min 和max表示最小最大值,3個百分比分位數反映序列數值大小的總體分布。假設序列 df 令 p 分別取 0.25,0.5,0.75,n 表示序列的長度,先對序列從小到大排序,計算序列索引 i=(n+1)×p-1 ,此時 dfi 即為對應的分位數。
我國2000年開始大部分年份的生豬價格趨勢大體呈現出先降低后上升的基本走勢,反映出我國生豬價格隨傳統節日如中秋、春節,以及國慶,豬肉消費相對增加而規律波動。但是2019—2022年間豬價最高沖到41元人民幣/kg左右。這是由于當時的非洲豬瘟等疫情對生豬正常供應造成的突發影響,因疫情和后疫情期生豬供應秩序紊亂,新的平衡還在形成,生豬價格明顯背離正常區間,各種因素復雜作用對現有的預測方法構成了巨大的挑戰。
通過對生豬價格數據運用STL分解,得到3個成分,分別是Trend,Season,Resid,如圖3所示。分解后的數據序列趨勢成分變化平緩,季節性成分波動規律性強,而殘差部分近似一種無規律的隨機波動。
預處理過程將分解出的3個成分與原價格序列合并擴展成具有4個特征維度的新表。再經過歸一化處理后成為模型輸入需要的特征和標簽對的形式。提取過程如圖4所示,本文使用滑動窗口的方式抽取輸入數據,使其成為特征標簽對。窗口長度為 m+n ,前面m×4 的數據矩陣作為特征,后續的 n×1 數據作為標簽,每次滑動向后移動一個單位,直至所有數據抽取完成。
抽取好的窗口從尾部分出 10% 作為測試數據,其余部分再隨機抽取 10% 作為驗證數據,剩余部分作為訓練數據。
2 實驗
本研究通過一系列實驗檢查驗證新模型的性能以及參數設置。本節首先介紹使用的各主要參數設置,然后簡要介紹評價指標,最后對實驗結果進行簡要的分析討論。
2.1 參數設置
實驗平臺使用Python版本3.8,硬件加速使用了NvidiaRTX3090顯卡和CUDA運行庫,STL分解period設置13,歸一化使用來自sklearn包的Min-MaxScaler,基礎模型參數初始化方式為glorot_uni-form,參數優化方式adam,訓練過程啟用早停和Re-duceLROnPlateau,patience分別設1OO和5,batch_size設置32,網絡結構與隨機丟棄率和初始學習率根據val_loss在不同的基礎模型下表現不同,做了不同的定義。LSTM采用2層隱藏層結構,隱藏層節點數分別為80、20,隨機丟棄率0.001,初始學習率0.003,激活函數設置relu;GRU采用3層隱藏層結構,隱藏層節點數分別為120、80、30,隨機丟棄率0.2,初始學習率0.0O1,激活函數設置sigmoid。MAML算法epoch設置100,train_step設置100,內外循環優化器設為adam, α 設置 0.01,β 設置 0.001 。跨任務訓練的相關任務選取了生豬數據、豬肉數據。微調操作僅對最外3層全連接進行優化,其他設置同基礎模型訓練設置。
2.2 評估標準
為了對不同方法模型進行量化比較,且由于我們的測試部分固定在目標任務的尾端相同數據進行,故采用2種常用統計指標:均方根誤差RMSE,平均絕對誤差MAE,實驗的評估指標全部由預測結果反歸一化后計算得出。
2.3 消融實驗
表2給出了生豬和豬肉價格預測任務誤差情況,實驗結果中也可以觀察到LSTM和GRU模型在沒有STL分解工具幫助下,預測能力并不明顯,表明分解技術確實能夠提升模型對趨勢的預測準確性。對比沒有使用MAML擴展的模型評價指標表現,在不同的基礎模型上使用MAML擴展后的預測方法其RMSE和MAE誤差指標都有下降。在生豬價格預測任務上,LSTM、GRU、2個基礎模型上使用MAML算法擴展后RMSE指標分別下降1.12、0.85,MAE指標分別下降0.88、3.67。在豬肉價格預測任務上RMSE指標分別降低0.37、0.47,MAE指標分別下降0.25、0.37(所有指標計算時保留到小數點后兩位數字)。綜合各組實驗,STL分解通過MAML算法擴展LSTM模型在生豬和豬肉價格預測任務上均表現最佳??傮wLSTM和GRU基礎模型在使用MAML算法擴展后預測效果都有提升效果。
3結論
本文提出了一種改進的LSTM和GRU豬肉價格預測方法,通過STL分解減少數據噪聲干擾,提高模型穩定性,首先,將豬肉價格的歷史價格數據分解成趨勢、季節性和殘差3個部分,分解后的數據更加平穩和清晰,更適合做模型的輸入。其次,引入模型無關元學習MAML算法,在相關任務上學習先驗知識,把在生豬價格上訓練過的LSTM和GRU模型作為MAML的基礎模型,將生豬和豬肉的訓練數據放入元學習支持集,使用生豬的測試數據作為元學習查詢集,通過內循環外循環的迭代產生出一套適合的模型參數。最后,使用模型微調使其更適合生豬價格預測的目標任務。實驗結果表明,提出的方法在LSTM和GRU模型上都有顯著的提升效果,能夠為生豬養殖業者和政策規劃部門提供有價值的參考。
參考文獻:
[1]甄夢瑩,郭云峰.生豬價格走出低谷,豬企迎來“盈利季\"[J].豬 業科學,2024,41(7):16-17.
[2]丁婧,楊鑫,賈云飛,等.不確定性沖擊下生豬價格預測和風 險預警研究[J].河南農業大學學報,2024,58(1):141-154.
[3]姚文捷.非洲豬瘟疫情沖擊我國生豬養殖產業的內在成因與 政策啟示[J].中國豬業,2023,17(6):17-21.
[4]黃文玲,鄭曉穎,BREDAMCCARTHY,等.基于ARIMA模型 對廣東省生豬價格的短期預測[J].中國畜牧雜志,2018,54 (12):119-123.
[5] WUL,LIU S,YANG Y. Grey double exponential smoothing modeland its application onpig price forecastingin China[J]. Applied Soft Computing,2016(39):117-123.
[6] ZHOU W,PEI L. The grey generalized Verhulst model and itsapplication for forecasting Chinese pig price index[J]. SoftComputing,2020,24(7):4977-4990.
[7]付蓮蓮,伍健.基于梯度提升回歸模型的生豬價格預測[J].計 算機仿真,2020,37(1):347-350.
[8]付蓮蓮,翁貞林,張雅燕.江西省生豬價格波動的成因及其預 警分析——基于灰色關聯和LS-SVM模型[J].浙江農業學 報,2016,28(9):1624-1630.
[9]何文靚,付蓮蓮,廖靜萍.基于隨機森林模型的生豬價格預測 及調控機制研究[J].價格月刊,2023(1):21-27.
[10] ELMAN JL. Finding structure in time [J]. Cognitive science,1990,14(2):179-211.
[11]于曉華,劉爽“沒有免費午餐定理\"與農業政策研究中的算 法選擇:以機器學習預測生豬價格變動為例[J].農業經濟問 題,2024(5):20-32.
[12] HOCHREITER S,SCHMIDHUBER J. Long Short-Term Memory[J].Neural Computation,1997,9(8): 1735-1780.
[13] CHO K,VAN M B,GULCEHRE C,et al. Learning Phrase Representations using RNN Encoder-Decoder for Statistical Machine Translation[J].Computer Science,2014.
[14] YE K,PIAO Y, ZHAO K,et al. A heterogeneous graph enhanced LSTM network for hog price prediction using online discussion[J].Agriculture,2021,11(4):359.
[15]劉怡然,王東杰,鄧雪峰,等.基于長短時記憶神經網絡的生 豬價格預測模型[J].江蘇大學學報(自然科學版),2021,42 (2):190-197.
[16] XIAO H G,CHUANG C.An Improved Prediction Model ofPig Price [J]. Asian Journal of Advances in Agricultural Research,2022,20(1):22-29.
[17] ZHANG S,LUO J,WANG S,et al. Oil price forecasting:A hybrid GRU neural network based on decomposition-reconstruction methods[J]. Expert Systems with Applications,2023(218):119617.
[18] ZHOU F,HUANG Z, ZHANG C. Carbon price forecasting basedon CEEMDAN and LSTM [J].Applied energy, 2022( 311) : 118601.
[19]付蓮蓮,方青,袁冬宇,等.基于奇異譜分解和LSTM-ARIMA 組合模型的生豬價格預測[J].中國農機化學報,2024,45(5): 176-181,252.
[20] LIU T,MA X,LI S,et al.A stock price prediction method based on meta-learning and variational mode decomposition [J]. Knowledge -Based Systems,2022(252): 109324.
[21] ZHU H,XU R,DENG H. A novel STL-based hybrid model for forecasting hog price in China [J].Computers and Electronics in Agriculture,2022(198): 107068.
[22]FINN C,ABBEEL P,LEVINE S. Model-agnosticmetalearning for fast adaptation of deep networks [C]/International conference on machine learning.PMLR,2017:1126- 1135.
[23]李凡長,劉洋,吳鵬翔,等.元學習研究綜述[J].計算機學報, 2021,44(2):422-446.
[24] CLEVELAND R B, CLEVELAND W S. STL: A seasonal-trend decomposition procedure based on Loess[J]. Journal of official statistics,1990,6(1).