亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于長短時記憶神經(jīng)網(wǎng)絡的生豬價格預測模型

        2021-03-16 01:48:26劉怡然王東杰鄧雪峰劉振宇
        江蘇大學學報(自然科學版) 2021年2期
        關鍵詞:螢火蟲步長生豬

        劉怡然, 王東杰, 鄧雪峰, 劉振宇

        (1. 山西農(nóng)業(yè)大學 信息與電氣工程學院, 山西 晉中 030801; 2. 中國農(nóng)業(yè)科學院 農(nóng)業(yè)信息研究所, 北京 100081)

        近年來,生豬價格市場的異常波動受到社會輿論的廣泛關注,及時準確地掌握生豬價格的變化趨勢對確保農(nóng)產(chǎn)品市場平穩(wěn)健康發(fā)展有重要意義.如果能夠?qū)ιi價格進行預測,決策者能夠合理地調(diào)控生豬市場價格,養(yǎng)殖戶也可據(jù)此調(diào)整圈舍中仔豬、種豬和育肥豬存欄量,因此,生豬價格預測成為研究者密切關注的領域.

        早期的生豬價格預測模型結(jié)構(gòu)相對單一,模型泛化能力較差,預測精度難以保證[1].隨著計算機計算能力的提升,生豬價格預測模型的復雜程度越來越高,從單一的灰色系統(tǒng)模型、向量自回歸模型、神經(jīng)網(wǎng)絡模型等趨于日漸復雜的組合模型[2-3].LI Z. M.等[4]以生豬歷史價格為依據(jù),將遺傳算法優(yōu)化的混沌神經(jīng)網(wǎng)絡用于生豬價格的短期預測,能夠預測20 d的生豬價格.任青山等[5]將多元回歸分析和反向傳播神經(jīng)網(wǎng)絡(back propagation neural network, BPNN)結(jié)合,提高了生豬價格預測的準確性和可靠性.然而,生豬價格存在偽周期現(xiàn)象,即生豬價格周期是重復出現(xiàn)的,但又不是完全重復,采用固定序列長度對生豬價格進行預測并不十分合適[6-7].為了解決這一問題,姜百臣等[8]引入集成經(jīng)驗模態(tài)分解(ensemble empirical mode decomposition, EEMD)方法剖析“豬周期”價格波動原理,并結(jié)合遺傳算法(GA)優(yōu)化的支持向量機(SVM)建立了生豬價格預測模型.LIU Y. R.等[9]設計了一種相似子序列搜索算法并將其與支持向量回歸模型組合,排除了生豬價格周期成分在時間軸上的彎曲和伸縮造成的干擾,解決生豬價格預測過程中序列周期長度不固定的問題.

        隨著生豬價格及其影響因素數(shù)據(jù)量的積累,可以采用深度學習的方法解決這一問題.LSTM神經(jīng)網(wǎng)絡使循環(huán)神經(jīng)網(wǎng)絡(recurrent neural network, RNN)自循環(huán)的權(quán)重視上下文而定,而不是固定的.由于LSTM積累的時間尺度可以動態(tài)改變,非常適合解決生豬價格序列預測問題[10-11].

        因此,針對生豬價格的偽周期現(xiàn)象,文中提出螢火蟲算法優(yōu)化長短時記憶神經(jīng)網(wǎng)絡(firefly algorithm-long short term memory, FA-LSTM)的生豬價格預測方法.首先采用螢火蟲算法搜索LSTM的參數(shù),再根據(jù)得到的最優(yōu)參數(shù)建立預測模型,將本算法與其他經(jīng)典機器學習預測算法進行比較,具有更高的預測準確度.

        1 預測模型

        1.1 生豬價格預測方法總體流程

        生豬價格序列屬于典型的非線性時間序列,且由于其周期變化的特點,采用LSTM神經(jīng)網(wǎng)絡對其進行預測,考慮到其關鍵參數(shù)對預測結(jié)果影響非常大,因此采用螢火蟲算法對LSTM模型進行參數(shù)優(yōu)化.具體方法流程如圖1所示.

        圖1 基于FA-LSTM的生豬價格預測方法總體流程

        1.2 LSTM神經(jīng)網(wǎng)絡

        長短時記憶神經(jīng)網(wǎng)絡適用于解決非線性時間可變時間序列預測問題[12].LSTM的單元結(jié)構(gòu)如圖2所示,其關鍵是類似于“傳送帶”的單元狀態(tài)Ct(cell state),通過輸入門、遺忘門和輸出門的調(diào)節(jié),決定哪些信息可以送上“傳送帶”.解決了循環(huán)神經(jīng)網(wǎng)絡多次展開中導致的梯度爆炸和梯度消失問題,令其能夠處理長時間依賴[13-15].

        圖2 LSTM的單元結(jié)構(gòu)

        遺忘門決定上一時刻的單元狀態(tài)信息有多少可以保留到當前時刻,則

        ft=σ(Wf[ht-1,xt]+bf),

        (1)

        式中:ft表示遺忘門;ht-1為上一個單元狀態(tài)的輸出,它與當前時刻的輸入xt共同拼接成一個輸入矩陣;Wf和bf分別表示遺忘門的權(quán)重矩陣和偏置;σ為sigmoid激活函數(shù).

        it=σ(Wi[ht-1,xt]+bi),

        (2)

        (3)

        (4)

        式中:W和b分別表示相應的權(quán)重矩陣和偏置.

        根據(jù)當前單元狀態(tài),通過輸出門ot決定當前輸出信息.

        ot=σ(Wo[ht-1,xt]+bo),

        (5)

        ht=ottanhCt.

        (6)

        進行LSTM訓練時,采用均方誤差(mean squared error,MSE)作為損失函數(shù),其定義如下:

        (7)

        訓練LSTM時,由公式(1)-(6)得到單元狀態(tài)輸出后,由公式(7)可以得到存儲單元的誤差項,根據(jù)誤差項更新權(quán)重梯度和權(quán)重,文中采用自適應動量估計算法(adaptive moment estimation, ADAM)更新權(quán)重[16].

        1.3 螢火蟲算法

        LSTM神經(jīng)網(wǎng)絡需要調(diào)節(jié)的參數(shù)較多,主要包括隱含層數(shù)目、隱含層神經(jīng)元數(shù)、學習率、批次大小等參數(shù)等.因此,需要結(jié)合參數(shù)搜索算法得到合適的參數(shù)進行網(wǎng)絡設置優(yōu)化.與粒子群優(yōu)化(partical swarm optimization, PSO)等算法相比,螢火蟲算法在解決嘈雜的非線性優(yōu)化問題方面有優(yōu)勢,成為一種有利的優(yōu)化工具[16-18].

        螢火蟲算法中,搜索過程與螢火蟲的相對熒光亮度I和相互吸引度β有關,其定義如公式(8)和公式(9)所示.發(fā)光亮的螢火蟲會吸引發(fā)光弱的螢火蟲向它移動,發(fā)光越亮代表其位置越好,最亮螢火蟲代表函數(shù)最優(yōu)解[16].

        I=I0e-γrij,

        (8)

        (9)

        式中:I0表示最亮亮度;γ表示光吸收系數(shù),通常取γ=1;r為兩只螢火蟲之間的距離;β0為其初始吸引度.每只螢火蟲將會朝著所有亮度比自己高的螢火蟲移動,其新的位置Xi+1如下:

        Xi+1=Xi+β(r)(Xi-Xj)+αrand,

        (10)

        式中:Xi和Xj分別表示i,j2只螢火蟲的空間位置;α為步長;rand為隨機移動.

        1.4 基于FA優(yōu)化LSTM的預測模型

        為了對生豬價格進行預測,設計了一個具有2層的LSTM網(wǎng)絡結(jié)構(gòu),將螢火蟲算法作為目標規(guī)劃算法輔助尋找LSTM的第1、2隱含層神經(jīng)元個數(shù)、學習率和批次大小.

        構(gòu)建FA優(yōu)化LSTM的預測模型如圖3所示.預測模型的主要步驟如下: ① 初始化螢火蟲算法的參數(shù)和目標參數(shù)值域,主要包括迭代次數(shù)、種群大小、光吸收系數(shù)γ、初始吸引度β0和步長α,目標參數(shù)值域包括LSTM的第1、2隱含神經(jīng)元個數(shù)、學習率和批次大小的取值范圍.② 在目標參數(shù)的取值范圍內(nèi),隨機初始化一個螢火蟲種群,即目標參數(shù)組合.③ 將訓練集數(shù)據(jù)分割為訓練集和驗證集,使用初始的目標參數(shù)訓練得到LSTM模型,并通過驗證集數(shù)據(jù)計算初始適應度集合,選取其中最佳者作為最佳適應度.④ 判斷是否到達最大迭代次數(shù),若達到,則輸出有最優(yōu)適應度相對應的目標參數(shù)組合,使用最優(yōu)目標參數(shù)訓練得到LSTM模型,若未達到,則進行步驟⑤、⑥.⑤ 計算螢火蟲種群亮度,并使每一只螢火蟲向更亮的螢火蟲移動.⑥ 使用新的種群訓練新的LSTM模型并計算新種群的適應度,判斷是否有螢火蟲的適應度大于最佳適應度,無則直接返回步驟④,有則更新最佳適應度,并記錄該適應度對應目標參數(shù)組合,返回步驟④.

        圖3 FA優(yōu)化LSTM的生豬價格預測模型建立流程圖

        2 試 驗

        2.1 數(shù)據(jù)采集

        為了滿足LSTM模型訓練的需要,采集中國種豬信息網(wǎng)、豬價格網(wǎng)和山東畜牧獸醫(yī)網(wǎng)等農(nóng)產(chǎn)品價格網(wǎng)站的生豬價格、豬肉價格、仔豬價格、玉米價格和豆粕價格作為試驗數(shù)據(jù),相關數(shù)據(jù)采集情況如表1所示.

        表1 數(shù)據(jù)采集情況描述

        2.2 數(shù)據(jù)預處理

        爬蟲程序采集的數(shù)據(jù)在量的單位、采樣頻率和精確度上存在差異,所以需要經(jīng)過預處理操作得到正確完整價格序列,以便進行建模和預測.

        1) 數(shù)據(jù)清洗.首先檢測缺失值和異常值,對前后時間間隔不大的缺失數(shù)據(jù)采用線性插值進行了填補,如式(11)所示,對出現(xiàn)的異常數(shù)據(jù)采用均值平滑法進行處理,如式(12)所示.

        (11)

        (12)

        式中:xa+i為a+i時刻的缺失值;xb為b時刻的異常值;xa、xa+j、xb+i、xb-i為分別為a、a+j、b+i、b-i時刻的有效數(shù)據(jù).

        2) 數(shù)據(jù)變換.豬價格網(wǎng)的數(shù)據(jù)采集范圍是全國各縣,以省為單位進行統(tǒng)計,得到每日全國各省的平均值.豬價格網(wǎng)的生豬、豬肉和仔豬的價格采樣頻率是每日1次,然而豆粕價格和玉米價格并非如此,且為了與其他2個數(shù)據(jù)來源的數(shù)據(jù)保持一致,采用周平均值將豬價格網(wǎng)的價格序列變換為每周1個樣本.經(jīng)過數(shù)據(jù)變換后,將3個數(shù)據(jù)來源的樣本整合為一個數(shù)據(jù)集,得到樣本2 131個,其基本情況描述如表2所示.

        表2 數(shù)據(jù)集基本情況描述 元·kg-1

        3) 數(shù)據(jù)規(guī)約.因各商品價格數(shù)量級有差異,采用式(13)對數(shù)據(jù)進行標準化處理.

        (13)

        式中:xi表示原始值,i表示其序號;xm表示序列平均值;xstd表示序列標準差.

        4) 參數(shù)選擇.研究[19-20]表明,生豬、豬肉、仔豬、玉米和豆粕等相關因素的變動都有可能影響生豬價格,然而并不是所有變量都能夠?qū)ιi價格預測產(chǎn)生積極影響.為了避免無關變量干擾預測精度,采用主成分分析法(principal component analysis, PCA)和相關系數(shù)分析對預測參數(shù)進行選取[21-22].由主成分分析得到各個主成分的方差貢獻率如下:成分1為0.709 8;成分2為0.229 9;成分3為0.055 0;成分4為0.005 2,前2個主成分貢獻了約94%方差,因此選取這2個主成分得到成分矩陣如表3所示.各因素相關系數(shù)如下:生豬價格,1.000 0;豬肉價格,0.986 4;仔豬價格,0.894 7;玉米價格,0.255 6;豆粕價格,0.113 2.

        表3 成分矩陣

        生豬價格、豬肉價格和仔豬價格都對成分1貢獻較大,而成分1有70%的方差貢獻率;生豬價格與豬肉價格、仔豬價格的相關性都較高,而與玉米、豆粕的相關性較低.因此,選取生豬價格、豬肉價格和仔豬價格作為預測生豬價格的參數(shù).

        2.3 試驗設計

        假設有訓練樣本集S={X,Y},X為樣本特征向量(矩陣),Y為標簽,樣本集中任意一個樣本點i表示為(X(i),Y(i)).若訓練集與標簽之間有一個長度為l的時間步長,每個樣本有長度為m的時間窗口,則有如下表示的樣本點(X(i),Y(i)).

        1≤i≤n-m-l+1,i∈N,

        (14)

        為了驗證本方法在進行生豬價格預測時的優(yōu)越性,將本模型產(chǎn)生的結(jié)果與BPNN模型和SVR模型等兩種經(jīng)典的淺層預測模型進行了對比,同時也將本模型與另一種循環(huán)神經(jīng)網(wǎng)絡門控循環(huán)單元(gated recurrent unit, GRU)模型進了對比[23-26].

        2.4 參數(shù)設置

        試驗平臺硬件配置為Intel(R) Core(TM)i5-7360U CPU@2.3GHz處理器,8 GB運行內(nèi)存;試驗所采用的軟件工具為python編程語言和keras框架.

        參數(shù)優(yōu)化試驗中,螢火蟲算法的迭代次數(shù)設置為200、種群大小為20、光吸收系數(shù)γ=1、初始吸引度β0=1,步長α=0.5[17];LSTM的第1、2隱含神經(jīng)元個數(shù)的搜索范圍設置在[1, 100],批次大小的取值范圍是[16, 64];LSTM采用Adam算法進行自適應優(yōu)化,取值范圍[0.001,0.1].預測試驗中,時間步長l分別取值1、4和8,每次試驗的結(jié)果都與單隱含層的LSTM、SVR、BPNN和GRU進行對比,SVR、BPNN和GRU的參數(shù)也是由螢火蟲算法搜索得出的,時間窗口m=16.由于對生豬價格的預測屬于時序數(shù)據(jù)預測,訓練集和測試集不宜隨機選取,故取數(shù)據(jù)集的前90%樣本作為訓練集,后10%樣本作為測試集.

        3 結(jié)果與分析

        3.1 評價方法

        采用平均絕對誤差(mean absolute error,MAE)、均方根誤差(root mean squared error,RMSE)和確定系數(shù)(Rsquared,R2)評估模型的準確性,計算公式如下:

        (15)

        (16)

        (17)

        3.2 模型預測結(jié)果

        3.2.1 螢火蟲算法參數(shù)搜索結(jié)果

        時間步長為1時,利用螢火蟲算法對LSTM、SVR、BPNN和GRU模型進行參數(shù)搜索的適應度函數(shù)值變化如圖4所示.FA-LSTM表示螢火蟲算法優(yōu)化的LSTM模型,其他同理.

        圖4 適應度函數(shù)值變化

        由圖4可知,螢火蟲算法能在較少的迭代次數(shù)下迅速達到最佳適應度,非常適合進行參數(shù)搜索.文中采用的適應度函數(shù)是均方根誤差的倒數(shù),從適應度曲線的取值可以看出,LSTM模型有較小的訓練誤差.

        為了證明LSTM模型適合對生豬價格的預測,排除參數(shù)搜索算法不同或者不進行參數(shù)搜索對模型預測準確性的干擾,也采用螢火蟲算法對其他預測模型的參數(shù)進行了搜索,表4為不同時間步長下各個模型所取得的參數(shù).

        表4 不同時間步長下各個模型所取得的參數(shù)

        3.2.2 對生豬價格的預測結(jié)果

        時間步長分別取1、4和8時, 3次生豬價格預測結(jié)果如圖5所示,可以看出FA優(yōu)化的LSTM模型對真實價格的擬合度較好.

        圖5 3次生豬價格預測結(jié)果

        時間步長為1、4和8時,F(xiàn)A-LSTM模型、LSTM模型、FA-SVR模型、FA-BPNN模型和FA-GRU模型對生豬價格預測結(jié)果與真實生豬價格的平均絕對誤差、均方根誤差和確定系數(shù)如表5所示.

        表5 3次生豬價格預測模型評價參數(shù)

        由表5可知,在時間步長為1、4和8時,F(xiàn)A優(yōu)化LSTM都能取得比較好的預測結(jié)果,尤其是在時間步長為1時,F(xiàn)A優(yōu)化LSTM模型的確定系數(shù)為92.57%,說明了其對真實價格走勢的擬合度較高.當時間步長為1時,與不經(jīng)過螢火蟲算法優(yōu)化的LSTM模型(其參數(shù)設置與GRU模型相同)相比,平均絕對誤差和均方根誤差分別降低了20.03%和36.71%,確定系數(shù)增加了4.88%,當時間步長取4、8時,與不經(jīng)過螢火蟲算法搜尋參數(shù)的LSTM模型相比,平均絕對誤差和均方根誤差也都下降了,而確定系數(shù)也都增加了,說明參數(shù)的選擇對LSTM預測準確率影響非常大,但是人工進行參數(shù)搜索效率太低,螢火蟲算法大大提升了該模型的參數(shù)搜索效率.

        由表5也可看出,在時間步長為1、4和8時,各個模型的表現(xiàn)都較為不穩(wěn)定.FA優(yōu)化的SVR模型在時間步長取1時,對生豬價格的預測表現(xiàn)比較好,僅次于FA優(yōu)化的LSTM模型,然而當時間步長取值為8時,它的表現(xiàn)又成為幾個模型中最差的.與之相反的是,F(xiàn)A優(yōu)化的GRU模型在時間步長取1時表現(xiàn)較差,僅優(yōu)于FA優(yōu)化的BPNN模型的表現(xiàn),但當時間步長取8時,其表現(xiàn)能夠和FA優(yōu)化的LSTM旗鼓相當.但FA優(yōu)化LSTM模型在3次試驗中表現(xiàn)均優(yōu)于其他模型,說明FA優(yōu)化的LSTM的生豬價格預測模型具有較為理想的泛化性能,可以很好地擬合非線性變化的生豬價格.

        雖然LSTM每個時間步長和權(quán)重的計算復雜度為O(1),且其每個時間步上權(quán)重是共享的,但螢火蟲算法、粒子群算法、人工蜂群等一系列啟發(fā)式算法都是NP-hard問題,導致現(xiàn)有試驗條件下參數(shù)搜索階段時間仍較長.其他相似的研究也存在這樣的問題,在試驗的后期使用阿里云服務器ECS,縮短了程序執(zhí)行時間,所使用配置為Intel Xeon Platinum 8163處理器(8核,2.5 GHz),16 GB內(nèi)存.由于訓練數(shù)據(jù)是相同的,可以從目標參數(shù)搜索范圍和步長設置上對螢火蟲算法進行分級,采用分布式的參數(shù)搜索方式也可以對螢火蟲算法進行自適應步長的改進.

        4 結(jié) 論

        1) 考慮到生豬價格序列在時間軸上的遲滯問題,提出了一種基于長短時記憶神經(jīng)網(wǎng)絡算法的生豬價格預測模型,首先對生豬價格數(shù)據(jù)進行預處理操作,并采用螢火蟲算法對長短時記憶神經(jīng)網(wǎng)絡進行了參數(shù)優(yōu)化,能夠快速找到合適的長短時記憶神經(jīng)網(wǎng)絡參數(shù),再利用經(jīng)過優(yōu)化的參數(shù)建立LSTM預測模型.

        2) 所建立的基于長短時記憶神經(jīng)網(wǎng)絡的生豬價格預測模型,能夠預測未來1周、1月和2月的生豬價格,與傳統(tǒng)的淺層預測模型和未經(jīng)優(yōu)化的長短時記憶神經(jīng)網(wǎng)絡模型相比,提出的預測模型在不同時間間隔內(nèi)的預測結(jié)果都具有更高的預測準確度.

        3) 文中提出的生豬價格預測模型具有良好的預測性能和泛化能力,不僅能夠為制定穩(wěn)定生豬市場的決策提供量化分析工具,也能為其他農(nóng)產(chǎn)品價格的預測提供參考.

        猜你喜歡
        螢火蟲步長生豬
        生豬中暑的診斷及治療
        基于Armijo搜索步長的BFGS與DFP擬牛頓法的比較研究
        生豬貼“秋膘” 管理要跟上
        入伏后,怎樣防止生豬中暑
        螢火蟲
        生豬 廣西生豬自成一極
        螢火蟲
        抱抱就不哭了
        夏天的螢火蟲
        基于逐維改進的自適應步長布谷鳥搜索算法
        а天堂中文地址在线| 欧美丝袜激情办公室在线观看| 视频福利一区二区三区| 亚洲av乱码二区三区涩涩屋 | 无码av免费精品一区二区三区 | 美女人妻中出日本人妻| 国产精品无码aⅴ嫩草| 中文字幕喷水一区二区| 亚洲天堂中文字幕君一二三四| 一区二区三区免费观看日本 | 久久亚洲第一视频黄色| 亚洲不卡av二区三区四区| 婷婷四虎东京热无码群交双飞视频 | 久久成人成狠狠爱综合网| 中日韩精品视频在线观看| 亚洲AV无码未成人网站久久精品 | 91精品国产在热久久| 国产精品一区二区在线观看| 国产99在线视频| 男女搞黄在线观看视频| 天堂av在线美女免费| 色婷婷综合久久久久中文| 欧美成人精品福利在线视频 | 国产精品麻豆A在线播放| 最新中文字幕日韩精品| 成年女人免费视频播放体验区| 国产啪精品视频网给免丝袜| 女同国产日韩精品在线| 婷婷久久国产综合精品| 亚洲精品无码专区在线| 美女爽好多水快进来视频| 久久夜色精品国产噜噜噜亚洲av| 影视av久久久噜噜噜噜噜三级 | 夜色阁亚洲一区二区三区| 亚洲av精品一区二区三| 国产毛片黄片一区二区三区| 日韩人妻无码一区二区三区| 国产自在自线午夜精品视频在 | 亚洲精品国产熟女久久| 最新国产不卡在线视频| 搡老熟女中国老太|