王 赫, 曹 毅, 李 玉, 林 琳, 任麗輝, 劉國輝, 周鋼霞
(遼寧省糧食科學研究所,沈陽 110032)
我國是糧食生產和消費大國,也是糧食儲備大國,糧食作為關乎國計民生的重要戰略資源和特殊商品,糧食安全是關系社會經濟發展以及國家安全獨立的重大戰略問題。平房倉一直是我國糧食儲藏的主力倉型,特點是倉容大,隔熱防潮性能相對較好,并配有糧溫檢測、機械通風等系統,為安全儲糧提供可靠保證。由于倉內儲糧體積巨大,而且糧堆傳熱速度慢,其內部糧食被外圍糧食包裹而起到很好的保溫作用。但外圍糧食受到外界溫度變化的影響,會與內部糧食之間存在明顯溫差,可能會導致局部持續發熱的情況出現,加快微生物繁殖生長,最終導致糧食霉變,從而影響糧食的品質,對糧食的儲存產生危害[1]。因此,為了保證平房倉內儲存的糧食品質,預防不正常糧溫的出現,糧食溫度的預測模型的研究和應用具有十分重要的現實意義。
近些年來隨著人工智能算法的發展,基于智能計算的糧情預測模型也引起了眾多科研人員的關注,并取得了一定的研究成果。張忠杰等[2,3]以儲糧生態系統、多場耦合和“通風窗口”理論為基礎,匯集 WU模型、糧溫變化正弦模型和熱質傳遞模型及相關經驗模型編制了糧情云圖動態分析軟件。王傳旭等[4]結合Kriging插值和BP神經網絡來預測糧倉溫度場。張明躍等[5]提出了基于時間-空間相結合的糧溫預測模型。黃琦蘭等[6]提出了提出一種基于粒子群算法(PSO)和最小二乘支持向量機(LSSVM)的糧情安全性預測模型。
本研究在傳統的BP神經網絡預測模型的基礎上引入改進的粒子群算法對神經網絡中的權值和閾值進行不斷優化,改進后的粒子群算法擁有更好的局部尋優能力和全局尋優能力,使優化后的BP神經網絡能快速的從歷史糧溫中總結平方倉糧溫變化規律,實現平房倉糧溫的預測。
本項目實驗數據取自遼寧省糧食科學研究所跟蹤檢測獲得的中儲糧沈陽直屬庫實倉溫度數據,通過平房倉內的溫度監測點實時監控來獲取糧倉糧食內部不同位置的溫度,其中平房倉內部的溫度監測點分布俯視圖如圖1所示,一共分為4層,每一層有包含104(8×13)個溫度監測點。考慮到平房倉內部糧食中間的冷心作用,使得中間位置的糧食受外界環境的影響較小,而糧倉四周的糧食受外界環境的影響較大。本預測模型初步選取的測溫點數據分為2個部分,第1部分選取靠近邊界的溫度監測點(四周墻壁、頂層和底層);第2部分選取的溫度監測點位置為中間位置的溫度測點。通過對不同位置的溫度監測點的糧食溫度數據進行訓練、預測,來建立不同溫度監控點的預測模型,以實現對不同溫度監控點位置糧食溫度的精確預測。

圖1 平房倉內部溫度監測點分布的俯視圖
現取2018年和2019年2個整年的糧食溫度的數據,將2018年的糧食溫度數據作為訓練集建立預測模型,把2019年的糧食溫度數據作為測試集來檢驗模型的預測效果。利用歸一化的方法對初始數據進行處理,公式為:
y=(x-xmin)/(xmax-xmin)
(1)
式中:x為輸入的糧食溫度;xmin和xmax分別為輸入的最小值和最大值;y為歸一化的輸出向量。上式將數據歸一化到[0,1]區間內,預測結束后再將數據反歸一化為實際數據。
預測模型的輸入由是k個歷史時刻的糧食溫度組成的,通過這些歷史數據來預測下一時刻的目標值。下一時刻的真實測量值則作為輸入進行滾動預測,以此類推,直到整個時間序列預測完成。模型預測的策略如表1所示。

表1 模型預測的策略

BP(Back Propagation)神經網絡全稱為誤差反向傳播神經網絡,包含輸入層、隱含層和輸出層構成。同一層的節點之間互不相連,而不同層之間全部互聯,輸入層、輸出層的節點數的選取通常取決于輸入及輸出向量的維數,隱含層節點數目沒有明確的規定,通常根據實際情況來確定。BP神經網絡具有能逼近任意一個非線性映射函數的特性,且無需建立數學解析式模型,因此在預測方面的應用最為廣泛。其網絡結構如圖2所示[7-10]。

圖2 BP神經網絡內部結構圖
BP神經網絡是將訓練出的所有信息以神經元節點權值和閾值的形式存放在訓練網絡中,通過正向傳播和反向傳播不斷迭代,從而使該網絡有較好的自學習效果和泛化能力[11-15]。預測模型將2018年平房倉糧食溫度的數據作為訓練集,通過設定初始的閾值和權值以及一定數目的迭代次數來訓練BP神經網絡來獲取預測模型,在第t次迭代的正向傳播中,其隱含層的第j個神經元的輸出結果為:

(2)

(3)
其中選取的激勵函數f為Sigmoid函數:
(4)
則其第t+1次迭代的反向傳播為:
(5)
(6)
(7)
式中:xi為第i個輸入;ω為連接權值;α和β為閾值;Ij為第j個隱含層輸出;M和N為隱含層和輸出層神經元個數;yk為第k個輸出層神經元的輸出;ek為第k個輸出層神經元的輸出誤差值。
粒子群優化算法(PS0)是一種基于群體智能理論的優化算法,首先通過優化一群粒子,然后不斷迭代并跟蹤當前最優的粒子來搜索最優值。設多維搜索空間中,存在m個粒子構成一個群體,在第t次迭代中,第i個粒子的速度和位置為Xi,t和Vi,t,粒子通過2個最優解來更新自己的合適位置和速度。這2個最優解分別為粒子自身找尋的最優解即個體極值Pi和整個種群當前找尋的最優解即全局最優解Gi。在迭代過程中,粒子通過公式進行更新自己的速度和新的位置:
Vi,t+1=w·Vi,t+1+c1·rand·(Pi-Xi,t)+c2·rand·(Gi-Xi,t)
(8)
Xi,t+1=Xi,t+λ·Vi,t+1
(9)
式中:w為慣性權重;rand為[0,1[之間的任意隨機數;c1和c2為學習因子;λ為速度系數并且λ=1。
由于基本的粒子群算法的收斂速度和全局尋優能力有限,本溫度預測方法提出用非線性變化的慣性權重來代替固定的慣性權重來提高粒子群算法的性能。新的非線性變化的慣性權重表達式為:
(10)
式中:wmin和wmax分別為慣性權重w的最小值和最大值;t為當前迭代次數;tmax為最大迭代次數。當t較小時,w接近于wmax,并且w的減少速度也較慢,這保證了粒子群算法的全局尋優能力;隨著t增大,w以非線性變化遞減且w的減少速度加快,提高了粒子群算法的局部尋優能力,從而使改進的粒子群算法能更靈活地調整局部尋優能力和全局尋優能力。
利用改進的粒子群算法優化的BP神經網絡具體建模流程圖如圖3所示。該流程圖主要包括:BP神經網絡的結構構建、改進的粒子群算法優化BP神經網絡權值和閾值以及BP神經網絡訓練和預測。具體步驟為:設計BP神經網絡各層神經元節點數。本預測模型設置BP神經網絡輸入層神經元個數為3;隱含層神經元個數設置為10;輸出層神經元個數為1。

圖3 糧食溫度預測模型的流程圖
將BP神經網絡的初始權值和閾值轉化成粒子群算法中的粒子,隨機初始化粒子的速度Vi和位置Xi,將預測結果與實際值的平方和作為適應度值。

(11)

通過改進的粒子群算法計算個體和全局的最優極值。
Vi,t+1=w·Vi,t+1+c1·rand·(Pi-Xi,t)+c2·rand·(Gi-Xi,t)
(12)
Xi,t+1=Xi,t+λ·Vi,t+1
(13)

(14)
式中:w為慣性權重;rand為[0,1[之間的任意隨機數;學習因子c1=c2=2,最大和最小的慣性權重分別為wmax=0.9;wmin=0.1;λ為速度系數并且λ=1;最大迭代次數tmax=2 000;t為當前迭代次數。
將第3步經過改進的粒子群優化算法得到的最優極值即最優初始權值和閾值矩陣代入BP神經網絡公式中:
(15)
(16)

(17)
建立BP神經網絡,參數設置如表2所示。用平房倉2018年歷史數據作為訓練數據,2019年平房倉溫度測試數據作為測試數據分別對神經網絡訓練和測試,并將改進的BP神經網絡溫度預測模型的輸出預測結果和2019年的實際溫度測量數據進行對比,預測模型建立完成。

表2 BP神經網絡參數設置
根據預測模型及方法,選取位于糧堆不同位置和深度具有代表性的溫度監測點進行溫度預測并將預測結果與傳統BP神經網絡預測結果進行對比,圖4和圖5分別為平房倉第1層1號、平房倉第3層1號測溫點溫度預測結果對比圖。根據預測結果可知,與實際溫度相比,平房倉第1層1號測溫點的BP神經網絡溫度預測結果在初始時刻及末端時刻的預測結果誤差較大,且預測結果具有一定程度的波動。結合圖5中平房倉第3層1號測溫點溫度預測結果可知,改進后的粒子群算法優化后的BP神經網絡預測誤差更小,整體預測結果與實際糧食溫度趨勢吻合,而傳統BP神經網絡預測結果中具有較大的頂峰誤差,且預測結果的波動程度更高,穩定性較差。

圖4 平房倉第1層1號測溫點溫度預測對比曲線(2019年數據)

圖5 平房倉第3層1號測溫點溫度預測對比曲線(2019年數據)
為了對比預測模型與BP神經網絡預測的效果,保證預測結果的精確性和可靠性,在糧食溫度預測效果的評測上,選取平均絕對誤差(MAE)和均方根誤差(RMSE)來表示。

(18)

(19)


表3 預測模型與BP神經網絡預測誤差對比
由此可知,預測模型能夠更好地實現不同傳感器位置下糧食溫度的精準預測,其預測結果誤差更小,預測曲線與實際溫度分布曲線更加吻合。同時,在預測過程中,改進后粒子群算法優化的BP神經網絡的初始及末端時刻預測誤差更小,預測過程中的波動程度及頂峰誤差更低。
提出了一種基于改進后的粒子群算法優化BP神經網絡的糧食溫度預測方法。針對平房倉內部不同溫度監測點處的糧食溫度建立預測模型對倉內不同位置的糧食溫度進行細化,利用改進后粒子群算法強大的局部及全局尋優能力,優化BP神經網絡的權值與閾值,可以更精確地定位到不正常糧溫出現的位置,較傳統的BP神經網絡預測擁有更精確的預測精度,更小的預測誤差,實現平房倉內不同溫度監測點處糧食溫度的精準預測。通過改進后的粒子群算法優化BP神經網絡,能夠提升不同溫度監測點處的糧食溫度的預測精度,降低傳統BP神經網絡預測中的頂峰誤差,提升預測結果的平滑性。與傳統BP神經網絡相比,該算法在各傳感器處的糧食溫度預測精度均有一定的提升,提升程度最大的為75號第3層,其均方根誤差降低約1.075,平均絕對誤差降低約1.829。改進后粒子群算法優化的BP神經網絡預測結果能夠更好地學習糧食溫度的數據特征,預測結果更加吻合實際糧食溫度數據,對實際工程應用具有重要意義。