陳曉雷,王星星,申浩陽
(鄭州輕工業(yè)大學計算機與通信工程學院,河南 鄭州 450001)
所謂時間序列,是指以時間順序取得的一系列觀測值。時間序列分析是指對時間序列進行預測分析,在現(xiàn)實生活中被廣泛應用[1]。近年來,國內外的很多學者提出或改進了基于時間序列的預測方法,應用在公共交通[2-4]、社會經濟[5-7]、環(huán)境監(jiān)測[8-10]、醫(yī)學研究[11-12]等行業(yè)。
考慮一個時間序列可能會同時存在線性關系和非線性關系,預測方法有線性預測模型和非線性預測模型之分。國內學者大多采用傳統(tǒng)的ARIMA模型和神經網絡的結果組合模型來進行預測,例如張鵬[13]提出了ARIMA-GM-SVR非線性組合模型,并用PSO進行優(yōu)化;李存祖[14]提出了基于ARIMA-BP-SVM混合預測模型;李鵬飛等[15]提出了一種基于ARIMA-Kalman濾波混合算法,用來預測蘋果產量;張冬雪[16]提出了一種基于LSTM和ARIMA的風速時間序列預測模型,在預測精度上有較小提升;田東等[17]從挖掘溫室歷史溫度數(shù)據(jù)信息的角度出發(fā),提出了MA-ARIMA-GASVR組合預測模型來模擬溫室溫度的未來趨勢。國外的學者大多利用改進的神經網絡模型來實現(xiàn)預測,例如Budi等[18]改進了LSTM神經網絡模型,并應用于智慧農業(yè)系統(tǒng)中;Tormozov等[19]用遺傳算法優(yōu)化后的神經網絡模型預測時間序列;Ustundag等[20]提出了一種具有預測誤差補償?shù)男〔ㄉ窠浘W絡模型預測時間序列。
本文基于智慧農業(yè)系統(tǒng)對時間序列預測精度的要求以及以上學者的相關研究,提出一種基于差分整合移動平均自回歸模型和小波神經網絡的組合預測模型,根據(jù)某溫室內歷史溫度數(shù)據(jù)對未來一段時間的溫度值進行預測。溫室內的溫度數(shù)據(jù)特征復雜,用單項模型進行預測,結果會產生較大誤差。將差分整合移動平均自回歸模型與神經網絡組合,可以充分發(fā)揮2種模型各自的獨特性和優(yōu)勢,通過對線性部分建立差分整合移動平均自回歸模型,非線性部分建立神經網絡模型,再將2種模型的結果結合,相對單項模型,提高了預測精度,并且得到的預測結果與實際值的擬合度更高。
差分整合移動平均自回歸模型(Autoregressive Integrated Moving Average Model, ARIMA)是針對時間序列建立因變量對序列的滯后值和序列隨機誤差項的當前值及滯后值的回歸模型[21]。序列應滿足平穩(wěn)性或差分處理后滿足平穩(wěn)性的要求[22],否則ARIMA模型無法捕捉規(guī)律。
ARIMA 模型就是AR模型和MA模型,再加上一個差分組合起來的模型。AR 為自回歸模型,MA 為移動平均模型。ARIMA 模型可簡寫為(p,d,q)模型,p為數(shù)據(jù)本身的滯后數(shù),q為預測誤差的滯后數(shù)。p和q的取值要通過對自相關函數(shù)圖(Autocorrelation Function, ACF)和偏自相關函數(shù)圖(Partial Autocorrelation Function, PACF)的分析得到。d代表時序數(shù)據(jù)穩(wěn)定時,所進行的差分化階數(shù),差分的階數(shù)即為d的取值。
1)自回歸模型。
自回歸(Auto-Regressive, AR)模型利用當前值與歷史值的關系來預測當前值。使用自回歸模型預測的數(shù)據(jù)必須是平穩(wěn)的。自回歸模型首先需要確定階數(shù)p的值。p階自回歸模型公式定義為:
(1)
其中,at是當前值,α是常數(shù)項,γi是自相關系數(shù),εt是誤差。
2)移動平均模型。
移動平均(Moving Average, MA)模型關注自回歸模型中的誤差項(白噪聲)的累加,能有效消除預測中的隨機波動移動。平均模型需要一個移動平均項數(shù)q,故該模型一般寫作MA(q),其公式為:
(2)
其中,bt是當前值,β是常數(shù)項,θi是相關系數(shù),εt是誤差。
3)差分整合移動平均自回歸模型。
將AR模型和MA模型組合,就可以得到移動平均自回歸模型ARMA(p,q),如式(3):
(3)
其中,yt是當前值,δ是常數(shù),εt是誤差。
采用ARMA模型預測的時間序列必須為平穩(wěn)的,若為非平穩(wěn)序列,需要先經過差分化為平穩(wěn)時間序列,然后再建立ARMA模型。
神經網絡是分析多個問題的一種替代或補充技術,這些問題通常涉及未知的或非線性關系[23]。小波神經網絡(Wavelet Neural Network, WNN)是在BP神經網絡拓撲結構的基礎上,把小波基函數(shù)作為隱含層節(jié)點的傳遞函數(shù),信號前向傳播的同時誤差反向傳播。其拓撲結構如圖1所示。
圖1 小波神經網絡拓撲結構
圖1中,X1,X2,…,Xk為輸入?yún)?shù),Y1,Y2,…,Ym為預測輸出,γij和γjk為權值。
在輸入信號序列為Xi(i=1,2,…,k)時,隱含層輸出計算公式如式(4):
(4)
其中,h(j)為隱含層第j個節(jié)點輸出值;hj為小波基函數(shù);γij為輸入層和隱含層的連接權值;bj為hj的平移因子;aj為hj的伸縮因子。
WNN輸出層計算公式如式(5):
(5)
其中,γjk為隱含層到輸出層權值;h(j)為第j個隱含層節(jié)點的輸出;l為隱含層節(jié)點數(shù);m為輸出層節(jié)點數(shù)。
WNN權值參數(shù)修正算法是用梯度修正法來修正網絡的權值和小波基函數(shù)參數(shù),使小波神經網絡預測值不斷接近實際值,修正過程如下:
1)計算網絡預測誤差:
(6)
其中,yn(k)為期望輸出;y(k)為小波神經網絡的預測值。
2)根據(jù)預測誤差e修正小波神經網絡權值和小波基函數(shù)系數(shù):
(7)
(8)
(9)
(10)
(11)
(12)
其中,η為學習概率。
WNN算法訓練步驟為:
1)網絡初始化。隨機初始化小波函數(shù)伸縮因子ak、平移因子bk以及網絡連接權重γij、γik,設置學習效率η。
2)樣本分類。把樣本分為2類:訓練樣本和測試樣本。訓練樣本用于訓練網絡,測試樣本用于測試網絡的預測精度。
3)預測輸出。把訓練樣本輸入網絡,計算網絡預測輸出及網絡輸出和期望輸出的誤差e。
4)權值修正。根據(jù)誤差e修正網絡權值和小波函數(shù)參數(shù),使預測值更接近于期望值。
5)判斷算法是否結束,若沒有結束,返回步驟3。
組合預測模型就是采用適當?shù)姆椒ńM合多個單項預測模型,對各種單項模型的預測效果進行綜合處理,生成一個含有多個預測模型和預測信息的總預測模型。在實際中預測問題往往是比較復雜的,因為預測問題受到眾多因素的影響,而且這些因素可能是不確定的,一個模型不足以處理具有未知混合模型的復雜現(xiàn)實世界系。此時,組合模型就能發(fā)揮優(yōu)勢,通過信息集成的方法來降低或分散單項預測模型含有的不確定性,最大效率地利用單項模型的有效信息。
對于一個時間序列{yt},認為它是由一個線性自相關部分Lt和一個非線性部分Nt組成,即:
yt=Lt+Nt
(13)
其中,Lt和Nt是根據(jù)時間序列數(shù)據(jù)進行估計。該組合模型的預測步驟為:
1)對數(shù)據(jù)進行預處理。經過預處理后的數(shù)據(jù),能夠縮短模型預測的時間,提高預測精度。
2)利用ARIMA對該序列的線性部分建模,原序列中的非線性關系存在于殘差部分。令et為t時刻線性模型的殘差,則:
et=yt-L′t
(14)
其中,L′t為通過ARIMA建模在t時刻的預測值。
3)對殘差序列{et}建立小波神經網絡模型,對于有n個輸入節(jié)點的小波神經網絡模型,殘差計算為:
et=f(et-1,et-2,…,et-n)+εt
(15)
其中,εt為隨機誤差,非線性函數(shù)f通過神經網絡來逼近,得到t時刻的殘差預測結果記為N′t。
4)將2種模型結合,即:
y′t=L′t+N′t
(16)
由于ARIMA模型不能描述數(shù)據(jù)的非線性結構,而經ARIMA模型預測后的殘差項為非線性結構,能夠捕捉非線性關系的神經網絡模型正好可以用于誤差項的預測。將2種模型的結果組合,可以改進ARIMA模型的預測精度。
本次實驗采用某溫室內連續(xù)2 h采集到的溫度數(shù)據(jù)。由于在短時間內,溫室內的溫度變化較小,所以將數(shù)據(jù)采集間隔設為1 min,2 h采集到一組樣本容量為120的溫度數(shù)據(jù),圖2為原始數(shù)據(jù)的變化趨勢圖。
圖2 原始數(shù)據(jù)變化趨勢圖
1)數(shù)據(jù)預處理。
在進行預測前,要先對數(shù)據(jù)預處理,將采集到的數(shù)據(jù)統(tǒng)一規(guī)范。其規(guī)范化公式為:
(17)
其中,maxy(i),miny(i)分別為數(shù)據(jù)流y(i)的最大值和最小值。
2)ARIMA模型建模。
在進行模型預測前,先要判斷該數(shù)據(jù)序列是否平穩(wěn)。由圖2可以判斷該數(shù)據(jù)序列并不平穩(wěn),但在某些情況下該方法難以判斷序列是否平穩(wěn),針對此次的樣本序列,肉眼觀察后判斷為非平穩(wěn)序列。為準確起見,再采用單位根檢驗(Augmented Dickey-Fuller test, ADF)驗證上述結論。檢驗結果顯示單位根存在,則該序列為非平穩(wěn)序列,需進行差分處理為平穩(wěn)序列后,才能進行下一步的預測。圖3為樣本序列差分后的圖像。
(a) 一階差分序列
由圖3可知,本次實驗所使用的數(shù)據(jù)流經二階差分后序列圖像趨于平穩(wěn),ADF檢驗值為0,可以判定出差分階數(shù)。找到差分階數(shù)并平穩(wěn)化序列后,做出序列的ACF圖和PACF圖,以判斷和的值,分別如圖4和圖5所示。
圖4 自相關函數(shù)圖
圖5 偏自相關函數(shù)圖
由圖4可得q=4,由圖5可得p=2,故得該預測模型為ARIMA(2,2,4)。圖6為由該模型所得的預測結果和實際值的對比結果圖。由圖6看出,ARIMA模型能很好地模擬實際值的變化趨勢,但隨著預測步驟的增加,在預測精度上有較大的誤差,需要進一步優(yōu)化。
圖6 ARIMA模型的溫度預測值與實際值對比
3)WNN模型優(yōu)化殘差。
神經網絡的隱含層節(jié)點數(shù)的多少會對預測精度產生一定的影響,節(jié)點數(shù)過多或過少,都會有較大的誤差,最佳隱含層節(jié)點數(shù)可由如下公式確定:
l (18) (19) l=log2n (20) 其中,n為輸入層節(jié)點數(shù);l為隱含層節(jié)點數(shù);m為輸出層節(jié)點數(shù);a為0~10之間的常數(shù)。本次實驗中,l的值為3,式(21)為小波基函數(shù): (21) 獲取殘差數(shù)據(jù)后,初始化小波神經網絡結構、權值和小波基函數(shù)參數(shù),并對訓練數(shù)據(jù)進行歸一化處理。使用小波神經網絡對訓練數(shù)據(jù)進行迭代,得到的殘差值序列優(yōu)化前后的對比結果如圖7所示。 由圖7可知,經WNN優(yōu)化后的殘差值雖然在預測前期有較大的波動,但隨著訓練次數(shù)的增加,波動幅度與優(yōu)化前相比更小,可以用于ARIMA模型殘差的修正。 圖7 WNN模型的殘差值預測值與實際值對比 4)組合預測模型建立。 基于ARIMA對原始數(shù)據(jù)序列線性部分的預測值和WNN對殘差序列的預測值,由式(16)可以得到組合后的預測值。傳統(tǒng)的ARIMA模型和組合預測模型得到的預測值與實際值之間的對比結果如圖8所示。 圖8 2種模型的溫度預測值與實際值對比 由圖8可知,與ARIMA模型相比,組合模型的預測結果和實際值更加貼近,在趨勢上與實際值大致相同。下面用均方誤差(Mean Square Error, MSE)、均方根誤差(Root Mean Square Error, RMSE)和平均百分比誤差(Mean Absolute Percentage Error, MAPE)這3個指標來評價所研究的模型。3個指標的數(shù)學表達式分別為: (22) (23) (24) MSE用來評價數(shù)據(jù)的變化程度,RMSE表示誤差的平方的期望值,MAPE表示預測模型的精確度,這些評價指標的值越小,相應預測模型的預測值與實際值相似度越高,只是在使用MAPE時觀測值不能為0,當存在分母為0的情況時,該公式不可用。表1為ARIMA模型和組合預測模型針對3個評價指標的對比結果。 表1 評價指標的對比結果 根據(jù)表1以及評價指標的性質可以看出,經WNN模型優(yōu)化ARIMA殘差后的組合模型,其MSE和RMSE值明顯小于ARIMA模型,分別為0.1253和0.2141,表明這個組合模型的精確度更高,其MAPE的值為0.0077,與ARIMA模型的MAPE值相比更接近于0,說明該組合模型的擬合效果更好。綜合3個評價指標及預測輸出變化趨勢,將ARIMA和WNN組合后的模型預測精度更高,擬合效果更好,在預測溫度趨勢的應用中有良好的效果。 本文考慮到樣本數(shù)據(jù)之間可能同時存在線性關系和非線性關系,提出了一種基于ARIMA和WNN的組合預測模型,將農作物溫室內連續(xù)時間內采集到的溫度數(shù)據(jù)作為實驗樣本,用ARIMA來預測樣本數(shù)據(jù)的線性關系,用WNN來優(yōu)化其殘差所包含的非線性關系,最后將兩者結合,得到最終的預測結果。與傳統(tǒng)的ARIMA的預測結果相比,基于ARIMA和WNN的組合預測模型具有更高的預測精度和擬合能力,能夠滿足智慧農業(yè)中對相關序列的預測要求。但該模型仍有需要改進的地方,接下來的工作將進一步改進不足之處,并驗證該組合模型在其他環(huán)境指標(如濕度)上的可推廣性。3 預測模型評價
4 結束語