段珊珊 楊衛(wèi)東,2 肖 樂 張 元,2
(河南工業(yè)大學(xué)信息科學(xué)與工程學(xué)院1,鄭州 450001)(河南工業(yè)大學(xué)糧食信息處理與控制教育部重點實驗室2,鄭州 450001)
隨著人口和社會流動性的增加,到2050年對糧食的需求將翻一番[1]。全球每年收獲的糧食超過20億t[2]。占全球糧食總產(chǎn)量三分之一的糧食損失于收獲后儲藏管理不善。對糧食水分含量,溫度和害蟲感染缺乏控制是造成這種損失的三個重要因素。糧食的高水分和高糧溫為霉菌生長和儲量害蟲提供了有利條件,而儲糧害蟲和微生物是造成糧堆發(fā)熱點的重要因素,糧堆中發(fā)熱點的不斷發(fā)展,會導(dǎo)致發(fā)熱點內(nèi)糧食的損壞[3]。智能倉儲工作的主要目的是提高糧食儲存能力,如有效控制儲存溫度和水分等。糧食籽粒在儲藏過程中,其生命活動從未停止,仍為活的有機體,它受自身呼吸作用和外界溫度、濕度、氣體成分等環(huán)境因子的影響,這些內(nèi)外因素與糧食安全儲存密切相關(guān)。儲糧生態(tài)系統(tǒng)中一些生物因素和非生物因素的相互作用會引起糧食變質(zhì),但隨著儲糧技術(shù)的發(fā)展,人類已經(jīng)能夠?qū)υ撓到y(tǒng)實現(xiàn)有效控制。通過控制環(huán)境條件,使糧食儲藏生態(tài)系統(tǒng)處于非生態(tài)學(xué)穩(wěn)定狀態(tài),是糧食安全儲藏的根本[4-8]。糧食的安全儲存可以通過控制兩個重要的物理因素來實現(xiàn):溫度和水分含量[2]。楊衛(wèi)東等[9]提出了一種經(jīng)濟無損的基于CSI的糧食水分檢測,能有效的檢測糧食的水分范圍,為糧食水分無損檢測提供了新的方法。糧食溫度是糧食狀態(tài)的重要指標(biāo),其檢測和控制技術(shù)是糧情測控的主要技術(shù)之一。在糧情檢測系統(tǒng)中,儲糧溫度的檢測是一項比較成熟的技術(shù),已在國家儲備中得到廣泛應(yīng)用[10]。研究者對于糧情測控的研究都期望通過技術(shù)手段預(yù)測糧堆在未來儲藏周期中的狀態(tài),以便對糧食儲藏提前做出合理有效的保管方式,減少儲糧損失。尹君[11]采用多場耦合理論構(gòu)建了小麥糧堆溫度場、濕度場、微氣流場多場耦合數(shù)學(xué)模型,模擬預(yù)測糧堆結(jié)露變化過程,為儲糧安全提供了理論基礎(chǔ)。在糧食儲藏過程中,糧堆發(fā)生蟲害的主要部位集中在糧堆表層(即糧面以下30~50 cm)等糧溫變化活躍區(qū)域[12]。儲藏糧堆溫度隨四季的變化而變化,和外界氣象變化有著密切的聯(lián)系,為充分了解高大平房倉儲糧溫度隨氣象的變化規(guī)律,提高存儲參數(shù)估計的精度,本研究利用國家氣象信息中心(National Meteorological Information Center: NMIC)天氣預(yù)報數(shù)據(jù),結(jié)合機器學(xué)習(xí)相關(guān)算法對糧堆表層平均溫度進行了研究,為智能倉儲提供了參考。
研究中嘗試?yán)脷v史NMIC數(shù)據(jù)結(jié)合機器學(xué)習(xí)算法開發(fā)預(yù)測模型,并將它們與來自傳感器的溫度數(shù)據(jù)相關(guān)聯(lián)。用歷史訓(xùn)練數(shù)據(jù)和傳感器溫度數(shù)據(jù)推導(dǎo)準(zhǔn)確的訓(xùn)練模型,本研究的預(yù)測模型可以使用特定區(qū)域的NMIC數(shù)據(jù)來預(yù)測未來的糧堆表面平均溫度。同時,因為本研究根據(jù)特定的糧倉歷史溫度數(shù)據(jù)生成模型,它們固有地結(jié)合了地理特征對每個地點的氣象因素的影響,由于當(dāng)?shù)貧庀笠蛩赜绊懠Z堆的溫度和濕度,單個糧倉必須根據(jù)特定地點調(diào)整參數(shù)建立預(yù)測模型。本研究的目標(biāo)是自動生成智能溫度預(yù)測模型,一個小范圍區(qū)域的所有同類型同儲藏品種的糧倉都可以使用這些預(yù)測模型預(yù)測糧溫,從而提前進行人工干預(yù)保障儲糧環(huán)境安全。氣象數(shù)據(jù)和糧食溫度數(shù)據(jù)收集后,數(shù)據(jù)處理模塊包括數(shù)據(jù)預(yù)處理,線性回歸預(yù)測和不同核函數(shù)的支持向量機(SVM)預(yù)測。對于數(shù)據(jù)預(yù)處理,本研究采用離群檢測,數(shù)據(jù)歸一化和噪聲消除來獲得校準(zhǔn)的氣象數(shù)據(jù)和儲藏糧堆溫度數(shù)據(jù)。
本研究討論的糧倉為昆明市西山區(qū)儲備小麥的高大平房倉。糧堆內(nèi)布置傳感器的原則為由東向西分為10行,由南向北分為5個區(qū),由糧堆上層到底部分為4層,在一個層面上,溫度傳感器縱向和橫向間距不大于5 m,層間垂直距離不大于2 m,在糧堆中共布置了200個溫度傳感器。圖1顯示了糧倉的縱向截面圖。
圖1 糧倉縱向截面圖
溫度監(jiān)測系統(tǒng)通常包括溫度傳感器,溫度測量電纜和計算機監(jiān)控終端。每條線代表一根電纜,每根電纜上放置四個溫度傳感器。圖2是糧情測控系統(tǒng)結(jié)構(gòu)圖。
計算機發(fā)送檢測命令到分機,接收分機的檢測數(shù)據(jù),進行數(shù)據(jù)分析等處理。分機接收計算機命令,檢測溫濕度數(shù)據(jù),結(jié)果傳送到計算機。溫度傳感器采用一線總線通信協(xié)議,封裝在電纜內(nèi)部,敷設(shè)在糧堆內(nèi)部。糧溫記錄時間為每日上午9—10時,溫度采樣頻率為每日1次。
圖2 糧情測控系統(tǒng)結(jié)構(gòu)圖
本研究收集了云南省昆明市西山區(qū)高大平房倉小麥糧堆423 d的糧食溫度數(shù)據(jù)。數(shù)據(jù)收集的時間起點為2017年1月1日,然后從中國氣象數(shù)據(jù)網(wǎng)獲得對應(yīng)地區(qū)和對應(yīng)時間點的氣象數(shù)據(jù)。氣象因素包括氣壓,氣溫,相對濕度,降水量,蒸發(fā)量,風(fēng)速,日照時間和0 cm地溫。數(shù)據(jù)采集過程中,由于傳感器故障等問題導(dǎo)致出現(xiàn)異常值,且各因素數(shù)據(jù)量級不統(tǒng)一,必須對數(shù)據(jù)進行預(yù)處理。數(shù)據(jù)預(yù)處理模塊包括異常值處理和數(shù)據(jù)標(biāo)準(zhǔn)化。
傳感器通常會記錄一些異常值。在數(shù)據(jù)處理中,異常點的出現(xiàn)會使得函數(shù)的梯度出現(xiàn)奇異梯度,這就導(dǎo)致算法的終止,從而影響研究變量之間的函數(shù)關(guān)系。為了有效的避免這些異常點造成的損失,本研究采用Pauta準(zhǔn)則方法和線性趨勢點法來檢測和去除異常值,詳細過程如下。
步驟1:令Xi,i=1,2,…,n,為第i個檢測數(shù)據(jù)值,計算某特征的樣本均值為
(1)
步驟2:然后計算樣本的殘差ei和樣本標(biāo)準(zhǔn)差σ
(2)
(3)
步驟4:重復(fù)步驟1~步驟3,直到遍歷所有值。
在氣象因素多指標(biāo)評價體系中,由于各因素具有不同的量綱和數(shù)量級,如果直接用元數(shù)據(jù)對糧堆表層溫度進行預(yù)測,就會突出數(shù)值較高的指標(biāo)在綜合分析中的作用,相對削弱數(shù)值水平較低指標(biāo)的作用。因此,為了保證預(yù)測結(jié)果的準(zhǔn)確性,對數(shù)據(jù)進行標(biāo)準(zhǔn)化處理。
本研究使用 Z標(biāo)準(zhǔn)化,標(biāo)準(zhǔn)化過程如式(4):
(4)
圖3顯示糧堆表層溫度隨氣溫的變化規(guī)律??梢钥闯黾Z堆表層溫度和氣溫的變化趨勢一致,但隨氣溫變化有一定的延遲,氣溫的最大值是在6月,而糧堆表層平均溫度的最大值在9月。其原因是糧食籽粒本身的不良導(dǎo)熱性以及儲糧糧倉倉壁具有較好的隔熱性能。
然后,分析糧堆表層平均溫度如何隨氣象因素變化以及這些氣象因素之間的相互作用。數(shù)據(jù)分析的目的是為了直觀了解糧堆表層溫度是如何依賴多種氣象組合指標(biāo)變化的,而不是從單一氣象指標(biāo)去預(yù)測。從多個天氣指標(biāo)預(yù)測糧堆表層溫度,以期在研究中使用機器學(xué)習(xí)方法探索其復(fù)雜性,自動生成預(yù)測模型。
圖3 溫度隨時間變化趨勢
圖4顯示了不同的氣象因素對糧堆表層溫度的影響,可以看出糧堆表層平均溫度和氣象因素中的氣溫,0 cm地溫,相對濕度呈現(xiàn)較強的正相關(guān)關(guān)系,分析發(fā)現(xiàn)糧堆表層平均溫度和其他因素相關(guān)性較弱。圖5顯示了不同氣象因素之間的相互影響,可以看出,氣溫與0 cm地溫呈現(xiàn)較強的正相關(guān)性,氣溫和相對濕度、日照時間和相對濕度呈現(xiàn)一定的負(fù)相關(guān)性。
圖4 不同氣象因素對糧堆表層均溫的影響
圖5 氣象因素之間的相互關(guān)系
把獲取的糧堆表層溫度均值及氣象數(shù)據(jù)作為隨季節(jié)變化的時間序列,通過分析建立時間序列預(yù)測模型[13]。模型中探索氣象8個因素和糧堆表層平均溫度之間的函數(shù)關(guān)系,表示為糧堆表層平均溫度=F(氣壓、氣溫、相對濕度、降水量、蒸發(fā)量、風(fēng)速、日照時間、0 cm地面溫度),F(xiàn)是使用不同回歸方法確定的函數(shù)。文中保留每個變量指標(biāo)的單位:氣壓單位為hPa,氣溫單位為℃,相對濕度百分比介于0%~100%之間,降水量單位為mm,蒸發(fā)量單位為mm,風(fēng)速單位為m/s,日照時間單位為h,0 cm的地溫單位為℃。建立預(yù)測模型之前,將所有數(shù)據(jù)標(biāo)準(zhǔn)化。
最小二乘是在歐氏距離為誤差度量的情況下,由系數(shù)矩陣所張成的向量空間內(nèi)對于觀測向量的最佳逼近點,擬合函數(shù)是光滑函數(shù),因此首先應(yīng)用線性最小二乘回歸方法來預(yù)測糧堆表層溫度,最小二乘回歸使通過氣象因素預(yù)測的糧堆表層溫度均值與真實值之間的平方差總和最小[14]。用最小二乘法進行曲線擬合,得到的擬合函數(shù)為
糧堆表層平均溫度=0.29氣壓 +1.09氣溫+0.41相對濕度+0.01降水量+0.02日照時間-0.02蒸發(fā)量-0.04風(fēng)速-0.56地溫
把時間序列數(shù)據(jù)的任意80%作為訓(xùn)練集,20%作為測試集,預(yù)測結(jié)果如圖6a所示。在線性最小二乘預(yù)測模型中,由于不同氣象因素對糧堆表層均溫的影響程度不同,不同氣象表現(xiàn)出不同的權(quán)重,預(yù)測結(jié)果與圖4相一致,氣溫、0 cm地溫、相對濕度的系數(shù)較大,系數(shù)較小的氣象因素對糧堆表層均溫的影響程度也較小。
由圖5可以看出不同氣象因素之間也有相互影響,考慮綜合所有因素的復(fù)雜性,一些樣本不能在二維空間中線性劃分,考慮將樣本映射到高維空間,可以實現(xiàn)更好的可分離性表現(xiàn)[15]。SVM回歸的準(zhǔn)確性取決于適當(dāng)?shù)暮撕瘮?shù)和參數(shù)的選擇。本研究采用支持向量機中的線性核函數(shù),多項式核函數(shù)和高斯徑向基函數(shù)(RBF)核函數(shù),將數(shù)據(jù)從輸入空間轉(zhuǎn)換為高維數(shù)據(jù)特征空間來預(yù)測糧堆表層平均溫度[16-20]。這里選擇SVM而非其他監(jiān)督學(xué)習(xí)方法是由于其能夠解決小樣本下機器學(xué)習(xí)的問題及泛化能力較強的優(yōu)點。對于線性核,特征空間到輸入空間的維度是一樣的,其參數(shù)少且速度快。把收集到的423 d的氣象數(shù)據(jù)及糧堆表層平均溫度做數(shù)據(jù)樣本,每一天的糧堆表層平均溫度對應(yīng)同一天的氣象8個因素,隨機選取80%的樣本做訓(xùn)練集,20%的樣本做測試集,不同核函數(shù)的預(yù)測結(jié)果如圖6b所示。由于糧食儲藏過程中的通風(fēng)及翻倉作業(yè),收集到一個周期內(nèi)的樣本量有限,且特征維數(shù)較少,多項式核函數(shù)可以實現(xiàn)將低維的輸入空間映射到高維的特征空間,相應(yīng)的計算復(fù)雜度也會增加。用多項式核函數(shù)得到的對糧堆表層均溫的預(yù)測結(jié)果如圖6c所示。高斯徑向基核函數(shù)是一種局部性強的核函數(shù),其可以將一個樣本映射到一個更高維的空間內(nèi),該核函數(shù)是應(yīng)用最廣的一個,無論大樣本還是小樣本都有較好的性能,而且相對于多項式核函數(shù)參數(shù)要少,利用高斯徑向基核函數(shù)對糧堆表層平均溫度進行預(yù)測的結(jié)果如圖6d所示。
圖6 線性預(yù)測及SVM不同核函數(shù)預(yù)測結(jié)果
圖7 線性預(yù)測及SVM不同核函數(shù)預(yù)測結(jié)果的均方根誤差
為了定量分析不同核函數(shù)所對應(yīng)模型的有效性,用均方根誤差作為評價指標(biāo),均方根誤差是用來衡量觀測值同真值之間的偏差,它對一組測量中的特大或特小誤差反映非常敏感,所以,標(biāo)準(zhǔn)誤差能夠很好地反映出測量的精密度,因此本研究中選用均方根誤差作為評價指標(biāo),結(jié)果如圖7所示。線性最小二乘預(yù)測的均方根誤差與SVM中線性核函數(shù)預(yù)測的均方根誤差相近,分別為5.243和5.249,SVM中多項式核函數(shù)預(yù)測和RBF核函數(shù)預(yù)測的均方根誤差分別為4.69和4.45。由此可知氣象因素與糧堆表層平均溫度之間并非簡單的線性關(guān)系,而是綜合多因素的復(fù)雜預(yù)測問題,由于高斯徑向基核函數(shù)相對較好的性能,其預(yù)測結(jié)果也最優(yōu)。
由于不同區(qū)域糧倉結(jié)構(gòu)及儲糧品種差異及氣象因素的小范圍區(qū)域性差異,對不同地區(qū)的儲藏糧堆表層溫度預(yù)測將采用不同參數(shù)的同一預(yù)測模型,在對多區(qū)域糧堆溫度預(yù)測的基礎(chǔ)上,提高預(yù)測模型的魯棒性和廣泛適用性。在本研究中,結(jié)合云南省昆明市西山區(qū)氣象多種因素,利用線性最小二乘法及SVM不同核函數(shù)機器學(xué)習(xí)方法來預(yù)測該地區(qū)高大平房倉儲藏糧堆表層的平均溫度。糧堆表層平均溫度隨氣溫的變化而變化,但由于糧食籽粒的不良導(dǎo)熱性及糧倉墻壁的隔熱性能,糧堆表層平均溫度隨氣溫變化有一定的延遲。氣象8個因素中的氣溫、0 cm地溫、相對濕度與糧堆表層平均溫度具有較強的相關(guān)性,結(jié)合氣象多種因素利用機器學(xué)習(xí)不同方法對糧堆表層平均溫度的預(yù)測結(jié)果中,SVM高斯徑向基核函數(shù)的預(yù)測性能最強,均方根誤差最小,證明了基于氣象數(shù)據(jù)的倉儲糧堆表層平均溫度預(yù)測模型與方法的有效性,利用這種預(yù)測方法,能夠及時發(fā)現(xiàn)糧倉中溫度的變化趨勢,從而及時進行人工干預(yù)。