沈露露,梁嘉樂,周 雯
(南京林業(yè)大學 信息科學技術學院,江蘇 南京 210037)
隨著物聯(lián)網信息技術(Internet of Things, IoT)的發(fā)展,無線傳感器網絡(Wireless Sensor Networks, WSN)成為物聯(lián)網中的重要組成部分,并且融入了傳感器技術、無線通信技術、微機電系統(tǒng)以及分布式大規(guī)模數(shù)據信息管理等前沿技術,使得無線傳感器網絡的應用越來越廣泛[1-2]。傳統(tǒng)的無線傳感器網絡是將環(huán)境能量作為傳感器節(jié)點工作運行的動力,然而環(huán)境所能提供的能源存在許多不確定的因素,這對無線傳感器網絡的傳輸可靠性及性能帶來了巨大的挑戰(zhàn)。為了最大化地利用采集到的能量和節(jié)省路由協(xié)議中的能耗浪費,可以運用能量預測算法提前預測未來能量[3-6]。能量預測算法通常使用有關未來能源中短期變化的信息作為基礎樣本來預測未來能源的使用,使系統(tǒng)既能夠長時間穩(wěn)定工作,又可以降低能源的浪費[7]。
為了減少無線傳感器網絡在傳輸過程中的能源浪費、提高網絡的能源效率,可以通過基于統(tǒng)計學原理、機遇隨機原理和機器學習原理的方法進行能量預測,這吸引了國內外學者廣泛的研究和探索[8-13]。文獻[8]對能量采集傳感器網絡中的功率管理進行了研究,提出了指數(shù)加權移動平均算法(Exponential Weighted Moving Average, EWMA),它的主要作用是當一天中的一段時間內收集到的能量與前一天同一時間段收集到的能量相似時,可以近似地將該時間段收集到的能量看做前幾天同一時間段收集到能量的加權平均和。文獻[9-10]針對EWMA算法中還存在著氣候狀態(tài)變化對預測結果的影響,專門提出了可以根據不同的天氣情況進行修正預測結果的EWMA算法,比如氣候條件移動平均算法(Weather-conditioned Moving Average, WCMA)和天氣條件移動平均算法(Weather-conditioned Selective Moving Average, WCSMA)。文獻[11]創(chuàng)新地通過對比過去的能量資源使用情況,設計更精準預測未來能量使用情況的輪廓能量(Profile Energy,Pro-Energy)預測模型來進行太陽能的能量預測。文獻[12]考慮了節(jié)點采集能量的穩(wěn)定性和網絡穩(wěn)定的信息傳輸,提出了一種基于長短時記憶遞歸神經網絡(LSTM-RNN)的網絡預測模型。文獻[13]主要講述了將神經網絡和小波變換兩種方法相結合的混合模型,并通過預測太陽能能量來驗證其模型的有效性。
在復雜多變的環(huán)境中,傳感器節(jié)點采集得到的太陽能時間序列既呈現(xiàn)線性因素又呈現(xiàn)非線性因素,給能量預測帶來了困難。自回歸積分移動平均(Autoregressive Integrated Moving Average,ARIMA)算法適合處理線性序列而長短期記憶(Long Short Term Memory, LSTM)算法更加適合處理非線性時間序列,因此,本文綜合二者特點,提出了ARIMA-LSTM的組合預測模型,以期提升能量預測的精度。具體來說,先將太陽能序列用ARIMA模型進行預測,然后將預測得到的殘差值代入LSTM神經網絡模型,得到殘差的新預測,用以修正ARIMA模型的預測結果。仿真結果顯示,相比于單一的預測模型算法,所提出的組合預測模型算法具有更高的準確性與更低的誤差。
本文針對太陽能輻照強度的短期預測問題進行了研究。先介紹ARIMA算法[14]和LSTM算法[15],然后提出了ARIMA-LSTM的組合預測模型。
ARIMA模型是一種時間序列預測模型,是由自回歸(AR)模型和滑動平均(MA)模型所構成。它與自回歸移動平均(ARMA)模型同屬于自回歸模型,但是二者對于數(shù)據的要求大相徑庭,ARMA模型適用于平穩(wěn)時間序列的數(shù)據,而ARIMA模型則更適用于差分后為平穩(wěn)時間序列的數(shù)據。由此也可稱ARIMA模型為差分時間序列的ARMA模型。p、d、q是ARIMA模型中的主要參數(shù),其中,p表示自回歸階數(shù),d表示原始序列平穩(wěn)化需要的差分階數(shù),q則表示移動平均階數(shù),因此可以將ARIMA模型簡寫成ARIMA(p,d,q)。該模型先通過d階差分將非平穩(wěn)時間序列Yt轉化為平穩(wěn)時間序列Xt,然后使用ARMA(p,q)對平穩(wěn)時間序列Xt進行擬合。ARMA(p,q)模型的數(shù)學表達式為:
(1)
式中,自回歸系數(shù)由φi(i=1,2,…,p)表示,滑動平均系數(shù)用θj(j=1,2,…,q)表示,殘差值參數(shù)表示為εt。
自相關函數(shù)(ACF)和偏自相關函數(shù)(PACF)可以用于測量當前序列值和過去序列值之前的相關性,并指示預測將來值時最有用的過去序列值。自相關函數(shù)表示當延遲為k時,相距k個時間間隔的序列值之間的相關性,而偏自相關函數(shù)則表示在考慮間隔之間值的同時,延遲為k時相距k個時間間隔的序列值之間的相關性。
ARIMA(q,d,p)的模型參數(shù)取值范圍可以通過ACF與PACF來確定,也可以借助赤池信息準則(AIC)和貝葉斯信息準則(BIC)來計算模型的檢驗值,最后又基于最小信息準則確定最優(yōu)模型并進行預測。
k值的大小和模型的復雜程度與極大似然函數(shù)L成正比關系,與AIC的值則成反比關系。隨著k值增大,模型的復雜度提高,極大似然函數(shù)值L也會增大,AIC值減??;若k值過大,則導致AIC值增大,ARIMA算法模型呈現(xiàn)過擬合的現(xiàn)象。
由于AIC依舊存在設計缺陷,所以又在AIC的基礎上提出了BIC,BIC與AIC相似,BIC的值越小,算法模型就越合理。
LSTM深度學習算法與遞歸神經網絡(Recurrent Neural Network, RNN)的不同之處在于前者在后者的基礎上加入了細胞狀態(tài)和門結兩個結構[16-17]以此來預測太陽能輻照強度,通過對比可發(fā)現(xiàn)LSTM模型的表現(xiàn)比時間遞歸型神經網絡和隱馬爾科夫模型的表現(xiàn)更好。
傳統(tǒng)的RNN在解決時序長相關問題時存在梯度消失和梯度爆炸的問題,而細胞狀態(tài)的作用是將具體信息連續(xù)地傳遞到RNN上,因此能夠有效解決傳統(tǒng)RNN存在的問題。LSTM是基于門控制單元結構的深度學習模型,通過遺忘門、輸入門和輸出門這三種門類型控制傳輸信息[18]。LSTM神經網絡如圖1所示,方框內是單個神經元細胞結構,c表示神經元細胞的狀態(tài)值,h表示神經元細胞的輸出值。LSTM神經網絡細胞的結構如圖2所示。
圖1 LSTM神經網絡
圖2 LSTM神經網絡細胞的結構
遺忘門的作用是決定保留或刪除時間序列中前一刻輸出的ht-1中的信息,計算公式如下:
(2)
式中,Wf表示遺忘門的權值,上標T表示轉置,bf表示遺忘門的偏置,σ(·)表示sigmoid激活函數(shù),表達式為:
(3)
(4)
(5)
式中,Wi表示輸入門的權值,上標 T 表示轉置;bi表示輸入門中的偏置,Wc表示tanh函數(shù)中的權值,bc表示tanh函數(shù)中的偏置。
(6)
t時刻的單元狀態(tài)ct的表達式為:
(7)
輸出門可以決定輸出信息的多少,并將記憶模塊信息傳遞給下一時刻存儲模塊。LSTM模型利用輸出門和一個tanh函數(shù)來輸出ht。
(8)
ht=Ottanh(ct),
(9)
式中,W0表示輸出門的權值,b0表示輸出門中的偏置。
LSTM時間序列預測模型先將時間序列數(shù)據劃分為訓練集和測試集兩種驗證集,然后對數(shù)據進行預處理,之后設置模型的初始參數(shù)以及損失函數(shù)后對預測模型進行訓練,最后對訓練模型進行預測。
太陽輻照的變化是復雜多樣的,既有線性變化趨勢,也有非線性變化趨勢,采用單一的能量預測模型進行預測會導致模型的擬合結果不佳。為了更好、更精準地預測能量,本文結合ARIMA模型和LSTM模型設計出基于ARIMA-LSTM的組合預測模型。
組合模型首先將采集的太陽能序列用ARIMA模型進行預測,而后將殘差值代入LSTM神經網絡模型,得到關于殘差的預測,修正ARIMA模型的預測。具體的,首先利用ARIMA模型篩選和過濾太陽輻照數(shù)據中線性趨勢預測結果,而非線性趨勢,則保留在ARIMA模型的殘差值中;然后將殘差值傳送到LSTM模型,再由LSTM模型訓練輸出非線性趨勢的誤差預測結果;最后將兩個模型的預測結果進行疊加,得到組合預測模型預測結果。組合預測模型的工作過程如圖3所示。
工程主要由路基、橋涵、隧道、立交及附屬設施等組成,屬大型新建項目,采用四車道一級公路技術標準,設計車速60 km/h,整體式路基寬度23 m,上下行隧道進出口段分離式路基寬度11.25 m。全線設特大橋7座17 032.5 m,其中跨黃河特大橋3座、順黃河特大橋4座;大橋22座5 872.5 m,其中跨黃河大橋1座(鹽鍋峽黃河大橋)、順河或跨溝大橋21座;中橋7座396.58 m;小橋4座86.86 m;隧道2座3 255 m(以單洞長度計);涵洞123道3 474.87 m;半互通式立體交叉4座,公鐵立交1處,平面交叉35處;主線收費站1處,養(yǎng)護工區(qū)1處,隧道管理站1處,管理所1處。
圖3 ARIMA-LSTM組合預測模型結構
(10)
(11)
式中,f(·)為LSTM模型的關系函數(shù),εt為誤差值。
最終根據ARIMA模型的預測值疊加LSTM模型輸出的殘差預測值,計算出組合模型的預測值:
(12)
需要說明的是,本文采用的方式是迭代預測,即模型預測下一時刻太陽輻照值是以上一時刻預測值的預測模型為基礎進行的。即ARIMA-LSTM組合模型應用于能量預測實際場景時,下一個時間點的預測值都是每個采集到的能量信息通過網絡歷史數(shù)據訓練后得到的。
本文所使用的數(shù)據來自美國可再生能源實驗室 (NERL)[20]網站的太陽輻照數(shù)據,實驗過程中采用2019年6月20日—11月20日的太陽輻照數(shù)據。為了避免異常值對實驗的干擾,例如正午時刻太陽輻照為0 W/m2,本文采用箱型圖分析的方法來減少一些特殊因素對實驗的干擾,原理是當數(shù)據超過或不足實驗設定的上下界值時,該數(shù)據將被認定為異常值,然后再通過平均值來校正已經被判定的異常值。
對于結合了ARIMA和LSTM兩種算法的組合能量預測算法,可以如同LSTM模型一樣將數(shù)據劃分為訓練級和測試集。本文首先選取總數(shù)據前90%的數(shù)據作為訓練集,后10%的數(shù)據則作為測試集,然后將模型預測結果與實際值進行比較。為了檢驗三種能量預測模型的準確性,本文采用歸一化平均方根誤差(NRMSE)、歸一化平均絕對偏差(NMAE)來檢驗模型的精確度,公式如下所示:
(13)
(14)
式中,F(xiàn)i表示第i個預測值,Ri表示第i個真實值,n代表樣本點的個數(shù)。
綜上,歸一化平均方根誤差和歸一化平均絕對偏差越小,基于ARIMA-LSTM組合預測模型的結果就越精確。
圖4是經過預處理后的數(shù)據。預處理是指通過格拉布斯檢驗法,對超出所設界限的異常值進行檢驗并通過平均值進行修正。由圖4可見,連續(xù)480 h采集到的太陽輻照在不同的時間段具有不同的均值且數(shù)據波動很大,例如在第90時采集到的輻照強度接近800 W/m2、而第100時采集到的輻照強度為0 W/m2??紤]到非平穩(wěn)序列是指包含趨勢、季節(jié)性或周期性的序列,可以看出數(shù)據是具有周期性的非平穩(wěn)隨機序列——連續(xù)480 h采集到的數(shù)據呈現(xiàn)波浪形的波動。
圖4 連續(xù)480 h采集太陽輻照圖
由于ARIMA模型適用于平穩(wěn)序列的數(shù)據,所以需要采用差分方法將非平穩(wěn)數(shù)據轉化為平穩(wěn)數(shù)據,將原始數(shù)據進行一階差分后的數(shù)據如圖5所示。
圖5 一階差分后的數(shù)據圖
從圖5中和通過Matlab自帶的平穩(wěn)性檢驗方法ADF和KPSS,可以看出一階差分后數(shù)據呈現(xiàn)平穩(wěn)化,因此可將模型階數(shù)d設為d=1。然后通過ACF圖和PACF圖來判斷模型參數(shù)p和q的最大值,如圖6所示??梢园l(fā)現(xiàn),模型的ACF圖和PACF圖分別在三階和二階后截尾,因而可以得知參數(shù)p和q的最大值分別設為2和3。
(a) ACF圖
再計算模型的AIC值和BIC值可以發(fā)現(xiàn),當ARIMA(p,d,q)模型的參數(shù)組合為(2,1,3)時,能量預測模型的AIC值和BIC值較小。AIC值和BIC值越小表示算法模型越合理,能量預測精度越準確,所以本文最終選取參數(shù)組合(2,1,3)。此時自回歸系數(shù)φ?[φ1φ2]T=[-1.69 0.97]T,滑動平均系數(shù)θ?[θ1θ2θ3]T=[1.95 -1.38 0.22]T。
經過ARIMA預測模型得到的殘差值序列(記為{et})再通過LSTM模型進行預測。LSTM模型的參數(shù)如表1所示。需要說明的是,在迭代的前半段,為了快速地找到一個初步的預測值,采用初始學習率0.005;但是在迭代的后半段,把學習率調整為初始學習率的1/5,進行預測值的細微調整,提升預測精度。
表1 LSTM能量預測模型的網絡參數(shù)
利用Matlab軟件編譯、運行提出的ARIMA-LSTM組合預測模型,得到預測結果。為了能夠直觀地看出組合模型的合理性和優(yōu)點,本文從運行時間和精確度兩方面添加了ARIMA、LSTM兩個單一預測模型作為對照組。圖7對比了三種能量預測模型的太陽能序列預測性能??梢钥闯觯珹RIMA算法在太陽輻照為0時的預測值誤差較大,這是由于此時的原始數(shù)據不穩(wěn)定,而ARIMA模型在預測時序數(shù)據時,必須是穩(wěn)定的數(shù)據,否則預測的結果會不準確。還可以看出,LSTM能量預測模型優(yōu)于ARIMA能量預測算法,具有更好的預測精度。在三種預測模型中,本文提出組合預測模型性能最好,平均誤差最小。
圖7 三種能量預測模型的對比圖
三種能量預測模型的運行時間如表2所示。其中,訓練時間是對模型進行參數(shù)訓練的時間,運行時間是用模型進行正式預測的時間,總時間是二者之和。仿真平臺具體參數(shù)為:Windows11操作系統(tǒng)、8核3.2 GHz CPU、Matlab R2018,太陽能序列的預測長度設置為348。由表2可知,三種模型的運行時間相當,約0.156 s。ARIMA模型在預測時只需要對上一時刻的數(shù)值進行簡單的加、乘運算,不需要進行提前訓練,因此訓練時間為0,總時間最短。而LSTM和提出的算法都需要提前訓練LSTM模型參數(shù),然后才進行預測,因此二者的總時間較長。
表2 能量預測模型運行時間評估
表3對比了三種模型的NRMSE和NMAE??梢姡珹RIMA模型預測準確性最低,其NRMSE、NMAE值均比另外兩個模型高,ARIMA模型的NMAE為0.375 2,高于LSTM模型的0.305 2和提出模型的0.289 6。提出模型的NRMSE值和NMAE值是三種預測模型中最低的,提出模型的NRMSE為0.050 9,低于LSTM的0.077 6和ARIMA的0.107 2??傊?,提出模型的預測精度最高。
表3 模型預測結果評估
總而言之,通過對三種能量預測模型的精度和運行時間的比較,可以發(fā)現(xiàn),ARIMA模型的運行時間最小,但是精度最差;提出的組合模型在運行時間方面和LSTM模型相當,但是具有更好的預測精度。
本文研究了無線傳感網絡的太陽能能量預測問題,提出了基于ARIMA-LSTM的組合預測模型,以期提升能量預測的精度,合理規(guī)劃能量的使用。首先,將包含線性因素和非線性因素的非平穩(wěn)能量采集數(shù)據轉化為平穩(wěn)數(shù)據序列,用ARIMA模型預測序列中的線性分量;然后提取非線性殘差的分量,用LSTM模型預測下一步的殘差分量;最后將二者的預測結果進行疊加,得到整個數(shù)據序列的預測值。仿真比較了提出模型、ARIMA模型和LSTM模型的精度和運行時間,結果表明ARIMA模型的運行時間最小,但是精度最差;提出模型在運行時間方面和LSTM模型相當,但是具有更好的預測精度。提出的預測模型結合了ARIMA模型和LSTM模型的優(yōu)點,不僅適用于太陽能的預測,也可能推廣到其他類型能源,如風能、振動能的預測中。