苑嚴(yán)偉 孫國慶 劉陽春 王 猛 趙 博 汪鳳珠
(中國農(nóng)業(yè)機(jī)械化科學(xué)研究院集團(tuán)有限公司土壤植物機(jī)器系統(tǒng)技術(shù)國家重點(diǎn)實(shí)驗(yàn)室,北京 100083)
近年來,冷鏈物流規(guī)模迅速發(fā)展[1]。冷鏈儲運(yùn)環(huán)境的品質(zhì)對貨物尤為重要,在眾多環(huán)境因子中,車廂內(nèi)溫度和濕度為關(guān)鍵因素,異常的溫濕度環(huán)境會造成儲運(yùn)環(huán)境內(nèi)細(xì)菌滋生,污染貨物,從而嚴(yán)重影響貨物的品質(zhì)。因此,研究高效、精準(zhǔn)的冷鏈儲運(yùn)環(huán)境監(jiān)測方法是保證運(yùn)輸物品安全和品質(zhì)的重要前提。
目前國內(nèi)外學(xué)者針對冷鏈監(jiān)測進(jìn)行了大量的研究[2-12],取得了一定的成果[13-16]。這些研究僅對冷鏈運(yùn)輸當(dāng)前環(huán)境因子實(shí)時監(jiān)測,無法對環(huán)境因子的變化趨勢作出預(yù)判,只靠傳感器監(jiān)測數(shù)據(jù)來決定制冷機(jī)組運(yùn)行狀態(tài),其數(shù)據(jù)采集的反饋與調(diào)控措施的生效都存在滯后性,致使冷藏車廂內(nèi)的環(huán)境狀態(tài)低于臨界狀態(tài)時才進(jìn)行補(bǔ)救,常造成經(jīng)濟(jì)損失。通過試驗(yàn)測試得到,在開啟制冷機(jī)組設(shè)備35 min后冷藏車廂環(huán)境可以得到明顯改善。因此,需要對冷藏車廂內(nèi)環(huán)境因子變化提前預(yù)測,從而提前決定環(huán)境控制設(shè)備的運(yùn)行狀態(tài),實(shí)現(xiàn)環(huán)境優(yōu)化控制、降低控制滯后效果。
近年來深度學(xué)習(xí)因其可以實(shí)現(xiàn)高維函數(shù)的逼近,并具有強(qiáng)大的函數(shù)映射能力,逐漸成為研究熱點(diǎn)[17-22]。在眾多深度學(xué)習(xí)算法中,長短時記憶神經(jīng)網(wǎng)絡(luò)(LSTM)作為循環(huán)神經(jīng)網(wǎng)絡(luò)的特殊變種,被廣泛地應(yīng)用到各個領(lǐng)域,文獻(xiàn)[23]提出了基于主成分分析和LSTM神經(jīng)網(wǎng)絡(luò)的水產(chǎn)養(yǎng)殖溶解氧預(yù)測模型;文獻(xiàn)[24]提出了基于LSTM和XGBoost的超短期電力組合預(yù)測模型;文獻(xiàn)[25]利用長短期記憶神經(jīng)網(wǎng)絡(luò)預(yù)測某柴油機(jī)的NOx排放。LSTM神經(jīng)網(wǎng)絡(luò)對于時序數(shù)據(jù)能夠很好地建模,適宜解決冷鏈環(huán)境溫濕度預(yù)測問題,能夠有效提高預(yù)測精度。
因此,在前人研究的基礎(chǔ)上,本文提出并構(gòu)建基于K-medoids和LSTM的冷鏈運(yùn)輸多步預(yù)測模型,該模型首先利用K-medoids算法將歷史溫濕度數(shù)據(jù)進(jìn)行空間數(shù)據(jù)融合,然后采用LSTM網(wǎng)絡(luò)構(gòu)建溫濕度變化預(yù)測模型,以此實(shí)現(xiàn)冷鏈儲運(yùn)環(huán)境溫濕度變化的準(zhǔn)確預(yù)測。
本試驗(yàn)于舟山興業(yè)集團(tuán)的大型重卡冷藏車內(nèi)進(jìn)行,冷鏈運(yùn)輸路線:浙江省舟山市—北京市大興區(qū)。所選冷藏車長為14 m、寬為2.3 m、高為2.5 m,廂體材料為聚氨酯隔溫材料,運(yùn)輸食品為舟山帶魚、梭子蟹。結(jié)合車廂大小、已有制冷設(shè)備和貨物擺放情況,選取15個點(diǎn)位安裝傳感器,具體分布示意圖如圖1所示。
圖1 傳感器分布示意圖Fig.1 Diagram of sensor distribution
采用自行設(shè)計(jì)的冷鏈運(yùn)輸遠(yuǎn)程監(jiān)測系統(tǒng)獲取試驗(yàn)冷藏車廂溫濕度數(shù)據(jù),進(jìn)行實(shí)時在線采集,其系統(tǒng)構(gòu)架如圖2所示。
圖2 系統(tǒng)構(gòu)架圖Fig.2 Structure diagram of monitoring system1.云服務(wù)器 2.基站 3.4G dtu 數(shù)據(jù)傳輸單元 4.溫濕度采集節(jié)點(diǎn) 5.北斗定位系統(tǒng) 6.車載終端 7.PC終端
試驗(yàn)時間為2020年11月15日—12月13日,設(shè)定每1 min采集1次數(shù)據(jù),24 h連續(xù)采樣。溫度傳感器測量范圍-40~60℃,測量精度±1℃,相對濕度傳感器測量范圍0~99%,測量精度±5%,因篇幅有限,僅展示2020年11月19日采集的部分原始數(shù)據(jù),如表1所示。
表1 2020年11月19日采集的部分原始數(shù)據(jù)Tab.1 Part of experimental original data collected on November 19th,2020
采集節(jié)點(diǎn)長期處于低溫環(huán)境下,會使得傳感器在數(shù)據(jù)采集過程中發(fā)生偏差,傳感器精度會受到影響。同時,傳感器網(wǎng)絡(luò)的數(shù)據(jù)傳輸也會產(chǎn)生數(shù)據(jù)的丟包,這些問題都會造成數(shù)據(jù)的缺失異常,因此針對短時數(shù)據(jù)的缺失采用線性插值法對數(shù)據(jù)進(jìn)行修復(fù)預(yù)處理,得到高質(zhì)量的數(shù)據(jù)集。同時對各數(shù)據(jù)項(xiàng)進(jìn)行歸一化處理,為接下來的數(shù)據(jù)處理提供基礎(chǔ)。
針對現(xiàn)有技術(shù)中無線傳感器感知數(shù)據(jù)量大、數(shù)據(jù)冗余度高,為減少數(shù)據(jù)的模糊性和不確定性,使用K-medoids算法進(jìn)行空間數(shù)據(jù)融合。K-medoids算法是K-means(K均值)算法的一種改進(jìn)聚類算法,K-means算法求取的是簇中“平均數(shù)”,而K-medoids算法求取的是簇中“中位數(shù)”,因此,K-medoids算法對于噪聲和孤立點(diǎn)更具有魯棒性[26]。通過使用K-medoids算法將溫濕度序列進(jìn)行空間數(shù)據(jù)融合,實(shí)現(xiàn)數(shù)據(jù)維度壓縮和降低數(shù)據(jù)冗余,并且提高數(shù)據(jù)的準(zhǔn)確性,以融合后的溫濕度時間序列代表整個冷藏車廂的溫濕度狀態(tài),并以此構(gòu)建預(yù)測模型的輸入時間序列樣本。
數(shù)據(jù)融合的基本思想是:在n個采集周期中,m個采集節(jié)點(diǎn),將每個采集周期的數(shù)據(jù)設(shè)定為一個數(shù)據(jù)集合,從每個數(shù)據(jù)集合中找出1個數(shù)據(jù)中心點(diǎn),以該中心點(diǎn)代表本次采集周期的所有數(shù)據(jù)。在實(shí)際應(yīng)用中,以溫度數(shù)據(jù)融合為例,K-medoids數(shù)據(jù)融合算法步驟如下:
(2)在每個采集周期中,先隨機(jī)選擇一個中心點(diǎn)稱為tcenter,其他數(shù)據(jù)點(diǎn)稱為非中心tnon-center,然后隨機(jī)選取本周期中的非中心tnon-center不斷與中心點(diǎn)tcenter進(jìn)行替換,成為新的中心,計(jì)算每次替換后中心點(diǎn)與其他非中心點(diǎn)的絕對差值和(Sum of absolute difference,SAD)。
若替換后的SAD小于替換前的SAD,則此次替換是更優(yōu)的替換,原來的中心點(diǎn)將被此次的非中心點(diǎn)替換。算法迭代執(zhí)行替換操作直到找到使SAD最小的一個節(jié)點(diǎn),成為本次采集周期最終的中心點(diǎn)Oi。
(3)對每個采集周期進(jìn)行步驟(2)計(jì)算,獲取一條時間序列(O1,O2,…,Oi,…,Om),以此來代表m個采集節(jié)點(diǎn)n個采集周期的溫度融合數(shù)據(jù),相對濕度數(shù)據(jù)融合同理。
算法示意圖如圖3所示。
圖3 K-medoids數(shù)據(jù)融合示意圖Fig.3 Diagram of K-medoids data fusion
長短時記憶網(wǎng)絡(luò)(Long short-term memory,LSTM)是一種循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent neural network,RNN)的特殊類型,可以避免長期依賴的問題,通過設(shè)立門控機(jī)制,使其選擇性地存儲信息,以此來實(shí)現(xiàn)信息的保護(hù)和控制,其結(jié)構(gòu)如圖4所示,本文利用長短時記憶網(wǎng)絡(luò)對融合后的時間序列(O1,O2,…,Oi,…,Om)進(jìn)行預(yù)測分析[25-26]。
圖4 LSTM網(wǎng)絡(luò)結(jié)構(gòu)Fig.4 Structure of LSTM network
LSTM擁有3個門,即輸入門、輸出門、遺忘門,以此決定每一時刻信息記憶與遺忘。輸入門決定有多少新的信息加入到細(xì)胞當(dāng)中,遺忘門控制每一時刻信息是否會被遺忘,輸出門決定每一時刻是否有信息輸出[27-28]。
長短時記憶網(wǎng)絡(luò)計(jì)算公式為
ft=σ(Wf[ht-1,xt]+bf)
(1)
it=σ(Wi[ht-1,xt]+bi)
(2)
(3)
(4)
Ot=σ(W0[ht-1,xt]+b0)
(5)
ht=OttanhCt
(6)
式中it、ft、Ot——輸入門、遺忘門、輸出門
xt——t時刻的輸入值
σ——Sigmoid激活函數(shù)
Wi、Wf、W0——輸入門、遺忘門、輸出門權(quán)重
WC——候選向量權(quán)重
bf、bi、b0——輸入門、遺忘門、輸出門偏置
bC——候選向量偏置
Ct——t時刻的候選向量
ht、ht-1——t、t-1時刻模型的所有輸出
本文利用LSTM神經(jīng)網(wǎng)絡(luò)預(yù)測多步溫濕度數(shù)據(jù),采用遞歸預(yù)測策略,網(wǎng)絡(luò)結(jié)構(gòu)為一輸入一輸出,訓(xùn)練時輸入與輸出間隔一個時間步長,對網(wǎng)絡(luò)進(jìn)行訓(xùn)練、優(yōu)化權(quán)重參數(shù)后,在每次計(jì)算時,使用上一次計(jì)算得到的預(yù)測值作為本次網(wǎng)絡(luò)的輸入值,獲取新的預(yù)測值,通過迭代計(jì)算得到多步預(yù)測值,獲取未來一段時間的溫濕度變化。
為提高預(yù)測模型的精度,將K-medoids算法和LSTM模型進(jìn)行有機(jī)結(jié)合,構(gòu)建了基于K-medoids和LSTM的冷鏈運(yùn)輸多步預(yù)測模型。其基本思想為首先對冷鏈運(yùn)輸環(huán)境數(shù)據(jù)進(jìn)行修復(fù)處理,其次利用K-medoids算法作為長短時記憶網(wǎng)絡(luò)的前置數(shù)據(jù)處理系統(tǒng),對冷鏈運(yùn)輸環(huán)境溫濕度數(shù)據(jù)進(jìn)行空間數(shù)據(jù)融合,簡化長短時記憶網(wǎng)絡(luò)預(yù)測模型結(jié)構(gòu),隨后對預(yù)測模型進(jìn)行訓(xùn)練和預(yù)測,獲得最終預(yù)測結(jié)果,有效提高了組合預(yù)測模型的預(yù)測精度。預(yù)測流程如圖5所示。
圖5 基于K-medoids和LSTM的冷鏈運(yùn)輸環(huán)境預(yù)測方法流程圖Fig.5 Flow chart of environmental prediction method for cold chain transportation based on K-medoids and LSTM
冷鏈運(yùn)輸環(huán)境溫濕度預(yù)測具體步驟為:
(1)設(shè)計(jì)試驗(yàn)方案,通過冷鏈運(yùn)輸遠(yuǎn)程監(jiān)測系統(tǒng)在線采集冷藏車廂內(nèi)環(huán)境時間序列數(shù)據(jù)。
(2)對數(shù)據(jù)進(jìn)行清洗,剔除重復(fù)、異常數(shù)據(jù),補(bǔ)充缺失數(shù)據(jù)。
(3)采用K-medoids算法進(jìn)行數(shù)據(jù)融合,消除冗余信息,降低神經(jīng)網(wǎng)絡(luò)模型輸入?yún)?shù)的維度,精簡預(yù)測模型結(jié)構(gòu)。
(4)對融合后的數(shù)據(jù)進(jìn)行標(biāo)準(zhǔn)化,并劃分相應(yīng)的訓(xùn)練集和測試集。
(5)初始化LSTM神經(jīng)網(wǎng)絡(luò)模型參數(shù),將訓(xùn)練集輸入至模型中,模型通過不斷進(jìn)行參數(shù)優(yōu)化,直至模型準(zhǔn)確率達(dá)到最高或達(dá)到既定訓(xùn)練輪數(shù)時為止。
(6)輸入測試集測試模型的精確度,通過模型的評價指標(biāo)表,與其他模型進(jìn)行對比,得出最優(yōu)的冷鏈運(yùn)輸溫濕度預(yù)測模型。
為了評價模型的預(yù)測效果與精度,選用均方根誤差(Root mean squard error,RMSE)、平均絕對誤差(Mean absolute error,MAE)以及平均絕對百分比誤差(Mean absolute percentage error,MAPE)3個指標(biāo)對其進(jìn)行評價,MAE、RMSE、MAPE越小,表明模型的預(yù)測效果更加精準(zhǔn)。
3.1.1數(shù)據(jù)源
以某冷藏車內(nèi)的溫濕度為研究對象,采用1.2節(jié)的冷鏈運(yùn)輸遠(yuǎn)程監(jiān)測系統(tǒng),試驗(yàn)選取2020年11月17日16:00—19:20的15個采集節(jié)點(diǎn)獲取溫濕度數(shù)據(jù),采用已經(jīng)預(yù)處理過的試驗(yàn)數(shù)據(jù)。最終實(shí)現(xiàn)1 h后的溫濕度預(yù)測,在線采集到的6 000條樣本數(shù)據(jù)為數(shù)據(jù)源,利用交叉驗(yàn)證法驗(yàn)證和測試模型性能。
3.1.2試驗(yàn)平臺
試驗(yàn)所使用的計(jì)算機(jī)硬件配置如下:處理器為Intel(R)Core(TM)i5-1035G1 CPU 1.00 GHz,內(nèi)存16 GB(Samsung DDR4 3 200 MHz),操作系統(tǒng)為Windows 10(x64),GPU顯卡NVIDIA GeForce MX350 2GB。程序設(shè)計(jì)語言為Matlab(64-bit),集成開發(fā)環(huán)境為Matlab 2019a。
3.2.1數(shù)據(jù)融合結(jié)果
使用K-medoids算法對數(shù)據(jù)進(jìn)行融合試驗(yàn),并將K-means算法作為對比算法。在數(shù)據(jù)采集和傳輸過程中會產(chǎn)生“垃圾”數(shù)據(jù),如圖6a所示,在溫度原始數(shù)據(jù)中存在一個異常點(diǎn),被圓圈標(biāo)出,若在有異常點(diǎn)的采集周期中,采用K-medoids算法計(jì)算時,異常點(diǎn)的數(shù)值相較于其他簇內(nèi)數(shù)據(jù)點(diǎn)較大,根據(jù)K-medoids算法取最小的點(diǎn)作為中心點(diǎn)這一規(guī)則會忽略掉異常點(diǎn),而K-means算法會計(jì)算本次采集周期數(shù)據(jù)的平均值,會受到異常值的干擾。兩種算法的融合結(jié)果如圖6c所示,K-means算法異常計(jì)算結(jié)果用圓圈標(biāo)出,所以K-medoids算法呈現(xiàn)更強(qiáng)的魯棒性,融合后的變化規(guī)律更加明顯,故本研究選擇K-medoids算法對溫濕度數(shù)據(jù)進(jìn)行融合。
圖6 溫濕度原始數(shù)據(jù)及融合結(jié)果Fig.6 Raw temperature and humidity data and fusion results
3.2.2LSTM神經(jīng)網(wǎng)絡(luò)預(yù)測結(jié)果
在K-medoids數(shù)據(jù)融合的基礎(chǔ)上,將融合后的數(shù)據(jù)按照7∶3比例劃分為訓(xùn)練集和測試集,作為LSTM神經(jīng)網(wǎng)絡(luò)的輸入,建立K-medoids結(jié)合LSTM冷藏車廂溫濕度預(yù)測模型。采用Adam算法進(jìn)行優(yōu)化,迭代次數(shù)為250次,其中輸入層節(jié)點(diǎn)數(shù)為1,輸出層節(jié)點(diǎn)數(shù)為1,5次試驗(yàn)所對應(yīng)的隱含層節(jié)點(diǎn)數(shù)、學(xué)習(xí)率和時間步長如表2所示。圖7為訓(xùn)練后的誤差曲線和預(yù)測趨勢圖。
表2 預(yù)測模型參數(shù)對比Tab.2 Comparison of prediction model parameters
從圖7中可以看出,試驗(yàn)1和3的溫度預(yù)測精度較高,試驗(yàn)1和2的相對濕度預(yù)測精度較高,而試驗(yàn)4和5溫濕度預(yù)測誤差波動較大。但從整體來看,各組試驗(yàn)的預(yù)測結(jié)果總體趨勢與實(shí)際值較吻合。
圖7 K-medoids-LSTM模型的誤差曲線和預(yù)測趨勢Fig.7 Error curves and prediction trend of K-medoids-LSTM model
為了更加直觀比較預(yù)測模型的誤差,表3為5次試驗(yàn)后得到的預(yù)測模型的平均相對誤差、平均誤差百分比和均方根誤差。從表3可以看出,試驗(yàn)1最終取得的預(yù)測性能最好,溫度的MAE、MAPE、RMSE分別達(dá)到了0.273 0℃、1.51%、0.343 8℃,相對濕度的MAE、MAPE、RMSE分別達(dá)到了1.995 6%、3.53%、2.561 9%。此外,預(yù)測模型的整體預(yù)測精度較為理想,溫度MAE、MAPE、RMSE分別達(dá)到了0.752 6、4.12、0.629 7℃,相對濕度的MAE、MAPE、RMSE分別達(dá)到了2.874 5%、5.07%、3.385 7%,說明了K-medoids算法結(jié)合LSTM神經(jīng)網(wǎng)絡(luò)預(yù)測模型具有較為理想的泛化能力。
表3 不同參數(shù)下預(yù)測誤差Tab.3 Prediction error under different parameters
3.2.3模型比對
本文設(shè)置了對照試驗(yàn)。將K-medoids-RBF神經(jīng)網(wǎng)絡(luò)、K-medoids-BP神經(jīng)網(wǎng)絡(luò)、K-medoids-Elman神經(jīng)網(wǎng)絡(luò)作為參照模型,分析和對比K-medoids-LSTM對預(yù)測性能的影響。各模型的預(yù)測值與真實(shí)值對比結(jié)果如圖8所示,各模型的誤差如表4所示。圖8顯示,各預(yù)測模型均能在不同程度上較好地實(shí)現(xiàn)冷藏車廂溫濕度的預(yù)測,溫濕度的預(yù)測變化趨勢與實(shí)際變化趨勢較為一致,但預(yù)測效果存在一定的差異。就整體預(yù)測結(jié)果而言,K-medoids-LSTM的預(yù)測結(jié)果比其他模型的擬合結(jié)果效果更好,變化起伏更小,預(yù)測效果更穩(wěn)定,全局無較大起伏的波動點(diǎn)。結(jié)果表明提出的K-medoids和LSTM神經(jīng)網(wǎng)絡(luò)預(yù)測模型的預(yù)測精度高、泛化能力強(qiáng),能夠準(zhǔn)確掌握冷藏車廂內(nèi)未來1 h溫濕度的變化,達(dá)到了比較理想的預(yù)測效果,可以為調(diào)控提供策略依據(jù)。
圖8 各模型的預(yù)測結(jié)果Fig.8 Prediction results of each model
表4 不同預(yù)測模型的預(yù)測性能對比Tab.4 Comparison of prediction performance of different models
由表4可知,K-medoids-LSTM模型與K-medoids-RBF模型相比,溫度的MAE、MAPE、RMSE分別降低了55.9%、54.9%、55.4%,相對濕度的MAE、MAPE、RMSE分別降低了13.6%、8.5%、21.4%;與K-medoids-BP模型相比,溫度的MAE、MAPE、RMSE分別降低了59.8%、59.2%、55.4%,相對濕度的MAE、MAPE、RMSE分別降低了25.4%、25.2%、18.2%;與K-medoids-Elman模型相比,溫度的MAE、MAPE、RMSE分別降低了74.3%、74%、73.2%,相對濕度的MAE、MAPE、RMSE分別降低了41.9%、40.3%、38.5%。
從總體來看,K-medoids-LSTM組合預(yù)測模型的各項(xiàng)指標(biāo)都優(yōu)于其他預(yù)測模型,能更準(zhǔn)確地預(yù)測冷鏈儲運(yùn)環(huán)境溫濕度變化規(guī)律和變化趨勢。
(1)采用K-medoids算法對冷鏈運(yùn)輸環(huán)境溫濕度數(shù)據(jù)進(jìn)行數(shù)據(jù)融合,降低了模型輸入的維度,減小數(shù)據(jù)的模糊性和不確定性,有利于提升LSTM預(yù)測精度和穩(wěn)定性。
(2)提出的K-medoids-LSTM模型能夠預(yù)測冷藏車廂內(nèi)未來1 h溫濕度變化趨勢,預(yù)測精度和穩(wěn)定性較高,優(yōu)于傳統(tǒng)的BP、RBF、Elman神經(jīng)網(wǎng)絡(luò)等淺層模型,解決了傳統(tǒng)預(yù)測方法預(yù)測精度低、魯棒性差等問題。