王 熙 羅桂蘭* 俞忠俊 羅靜宇 陳響育
(大理大學,云南 大理671000)
云南洱海濕地是云南省大理白族自治州最重要的濕地之一,當?shù)卣憫獓揖G色發(fā)展,保護生態(tài)等政策,加大了對濕地保護的投入。隨著政府的投入,洱海濕地生物多樣性變得越來越豐富,而氣溫是影響濕地生物多樣性的主要因素之一。
時間序列是指將觀測到的某個指標按時間順序進行編制的序列。通過對時間序列的周期性及趨勢性分析可以對未來做出預測[1]。在時間序列預測模型方面,傳統(tǒng)的經(jīng)典模型包括多元線性回歸法[2]、移動平均模型、自回歸模型、自回歸移動平均模型、自回歸模型和灰色預測法[3-4]。而傳統(tǒng)的機器學習預測模型包括支持向量機(SVM、)、貝葉斯網(wǎng)絡、矩陣分解和人工神經(jīng)網(wǎng)絡[5]。而在深度學習方面的時間序列預測包括卷積神經(jīng)網(wǎng)絡(CNN)和循環(huán)神經(jīng)網(wǎng)絡(RNN)[6-8]。目前,對于數(shù)據(jù)的時間序列預測算法有很多,也是當前人工智能所研究的一個熱門領(lǐng)域。朱晶晶[9]等構(gòu)建了SVM模型對氣溫進行回歸預測。牛志娟[10]等提出采用主成分分析的反向傳播神經(jīng)網(wǎng)絡(back propagation neural network,BP)和徑向基數(shù)神經(jīng)網(wǎng)絡(radial basis function neural network,RBF),分別建立氣溫預測模型,雖然取得了良好的預測效果,但是沒有充分考慮時間序列數(shù)據(jù)的相關(guān)性,導致了預測精度不高。陶曄等提出一種基于隨機森林的長短期記憶神經(jīng)網(wǎng)絡(LSTM)氣溫預測模型,在采集的多要素氣象數(shù)據(jù)上進行實驗[11],結(jié)果顯示具有較高的預測精度和較強的泛化能力。從凌博等人建立ARMA 模型,利用自相關(guān)函數(shù)對模型的殘差進行檢驗[12],修正預測方法求得預測值,提高了預測精度。馬志瑾等人通過采用LSTM模型對蒙河段封河時間序列進行了研究。研究結(jié)果表明,在非極端天氣條件下,模型的預報精度滿足水情預報的要求[13]。彭道剛等人針對電網(wǎng)優(yōu)化調(diào)度問題,利用CNN-LSTM神經(jīng)網(wǎng)絡對電網(wǎng)調(diào)度火電廠短期存煤進行了預測,利用CNN 良好的特征提取能力及LSTM 特殊的記憶功能對未來電廠存煤量進行了精準預測,用CNN 對煤炭量進行特征提取,將提取后的數(shù)據(jù)輸入到LSTM,通過全連接層輸出,達到較好的效果[14]。LSTM神經(jīng)網(wǎng)絡是一種循環(huán)神經(jīng)網(wǎng)絡,隨著距離的增加會使得RNN 無法有效地利用歷史信息,而LSTM能處理長期依賴問題。在線性時間序列模型中,有自回歸與移動平均模型。雄皓等人提出了一種基于神經(jīng)網(wǎng)絡和自回歸模型的網(wǎng)絡流量預測模型,將CNN、LSTM 與AR 進行了結(jié)合,得到的模型預測更準確[15]。李彥杰等人利用LSTM模型對不同時段的海水進行了建模與分析,并對比了SVR,得到了更好的效果[16]。對于不同模型確定最優(yōu)權(quán)系數(shù)方面,黨升等人提出了一種基于局部最優(yōu)的權(quán)系數(shù)確定的預測模型,利用最小二乘法將殘差平方和最小作為目標,得到權(quán)重系數(shù),能提高組合模型的預測精度[17]。本文以總體的誤差平方和最小為目標函數(shù),以此確定組合預測模型的最優(yōu)權(quán)重,從而從誤差平方和指標上提高模型的預測精度。
LSTM(Long Short-Term Memory)是針對RNN 存在的梯度消失或爆炸,無法長期依賴歷史信息而改進的一種循環(huán)神經(jīng)網(wǎng)絡,對RNN 存在的長期依賴問題進行了改進,一般比CNN 及隱馬爾科夫模型更好,LSTM可用于更復雜的大型深度神經(jīng)網(wǎng)絡。LSTM 有三種單元結(jié)構(gòu),分別是遺忘門(ft)、輸入門(it)、輸出門(ot)。遺忘門是控制記憶單元,對上一時刻的單元狀態(tài)C(t-1)的信息選擇性地保留到當前t 時刻C(t)狀態(tài),其通過sigmoid 函數(shù)進行信息的篩選。式(1)為遺忘門。Wf是遺忘門的權(quán)重矩陣,bf為其偏置。σ 為sigmoid 激活函數(shù),ht-1為上一時刻的輸出,xt為當前時刻的輸入。
輸入門的作用是決定當前時刻網(wǎng)絡的輸入x(t)有多少保存到單元狀態(tài)c(t)。輸入門一共分為兩步,第一步是對當前信息進行記憶,第二步將當前狀態(tài)與舊狀態(tài)進行合并,Ct為當前單元狀態(tài)。公式如下:
圖1 LSTM 模型的單元結(jié)構(gòu)
自回歸模型是一種用于處理時間序列的方法,是以要研究的預測變量作為自變量,通過往期數(shù)據(jù)來預測本期數(shù)據(jù),并假定這些數(shù)據(jù)之間為線性關(guān)系,其優(yōu)點是所需要的信息不多,通過自身序列進行預測。設(shè)y1,y2,…,yn為一個時間序列,自回歸模型的階數(shù)為P,即前P 項與yt是一個線性組合。數(shù)學模型為式(7):
在上式(7)中φ0為常數(shù)項,φ1…φp為自回歸模型的參數(shù),et為均值為0,方差為σ 的隨機誤差值。
加權(quán)組合預測模型是多個模型的融合,如式(8)所示,M 為組合模型,M1為模型1,M2為模型2。當w1與w2取值合適時,組合預測模型預測的精準度將變得更加精確,總體的殘差平方和變得比單一模型更小。SSE 倒數(shù)法通過對個模型進行加權(quán),使得組合預測模型的誤差平方和最小,以此達到提高組合預測模型的預測精度,其基本原理是計算各個模型預測的殘差平方和,然后通過整體殘差平方和最小對權(quán)重進行賦值。
實驗數(shù)據(jù)為洱海東湖濕地近2 年的氣溫值,通過洱海濕地監(jiān)測設(shè)備得到,監(jiān)測的數(shù)據(jù)包括光照強度、紫外線強度、環(huán)境濕度等12 個基本特征數(shù)據(jù)。原始數(shù)據(jù)為監(jiān)測設(shè)備每分鐘采集一次的數(shù)據(jù),通過對原始數(shù)據(jù)進行聚合處理,將數(shù)據(jù)處理成日平均氣溫,選取70%為訓練數(shù)據(jù)樣本,30%為測試數(shù)據(jù)樣本,圖2 為洱海濕地東湖環(huán)境溫度曲線圖,曲線數(shù)據(jù)為2018 年4 月1 日-2020 年3 月30 日的日平均氣溫數(shù)據(jù),除去未監(jiān)測到的異常數(shù)據(jù),氣溫數(shù)據(jù)總共有716 條。
圖2 洱海東湖濕地日平均氣溫
為提高LSTM模型的訓練速度及預測的準確度,使模型效果更佳,對數(shù)據(jù)進行歸一化處理,將數(shù)據(jù)的值區(qū)間變?yōu)椋?,1),公式如式(13):
上式中min 為氣溫數(shù)據(jù)集的氣溫最小值,max 為氣溫數(shù)據(jù)集的最大值。X*為歸一化后的氣溫數(shù)據(jù)集。歸一化后,數(shù)據(jù)變?yōu)槿鐖D3 所示。
圖3 歸一化后的溫度時間序列數(shù)據(jù)曲線圖
采用基于keras 的LSTM對歸一化后的氣溫進行預測,選取預測的時間步長為1。本文實驗采用一個LSTM層和一個全連接層(Dense)來構(gòu)造LSTM預測模型,第一層為LSTM層,輸入數(shù)據(jù)維度為1,神經(jīng)元個數(shù)為4,總參數(shù)個數(shù)為4*((4+1)*4+4))=96,第二層為全連接層(Dense),輸入數(shù)據(jù)維度是4,有一個神經(jīng)元,總參數(shù)為(4+1)*1=5。使用通用的適應性動量估計算法(Adaptive Moment Estimation,Adam)作為模型的優(yōu)化算法。Adam算法是目前深度學習中常用的優(yōu)化算法。對每一參數(shù)進行計算自適應學習率。表1 為采用不同時間步對氣溫的預測結(jié)果評價指標。
表1 不同時間步對氣溫的預測結(jié)果評價指標
根據(jù)表1 得到當LSTM模型的時間步為1 步時,模型預測結(jié)果的評價指標更好。如圖4 所示為LSMT 采用時間步為1 的預測結(jié)果。
圖4 LSTM 預測
通過使用自回歸模型(AR)對氣溫進行預測,選擇階數(shù)分別為3、4、5,通過最小二乘法進行線性回歸。得到的評價參數(shù)如表2 所示。觀察表1 知,當階數(shù)為3 時,模型的MAPE 值最低,MSE較階數(shù)為5 時低,R2較階數(shù)為5 時高,模型較優(yōu)。選擇階數(shù)為3的AR 模型,利用最小二乘法求得AR 模型的各系數(shù)分別為0.77,-0.04,0.23,常數(shù)項為0.87。所以得到的自回歸模型為下式(14):
AR 模型的測試集預測結(jié)果如圖5 所示。
表2 不同階數(shù)下的AR 模型評價指標
圖5 AR 模型的測試集預測
采用SSE 倒數(shù)法,分別計算LSTM模型與AR 模型的預測值與實際值得誤差平方和,分別為759.1、778.2。采用誤差平方和倒數(shù)法,計算LSTM 與AR 可得兩個組合預測模型的權(quán)重,LSTM模型權(quán)重系數(shù)為0.499,AR 模型權(quán)重系數(shù)為0.501。故最終得組合預測模型為式(15)所示,在式(14)中,y1為LSTM的模型權(quán)重,y2為AR 模型的系數(shù)權(quán)重。(圖6)
圖6 LSTM-AR 預測
對于模型的準確度,采用均方誤差(MSE)、平均絕對誤差(MAE)、決定系數(shù)(R2)、平均絕對百分誤差(MAPE)、Pearson 相關(guān)系數(shù)及殘差平方和對模型進行了評估。計算公式如下:
在上式中,yi為真實值,y贊為預測值,y 為真實值得平均值,N為測試集樣本個數(shù)。一般來說,MSE、MAE、MAPE、SSE 越小,R2越大越好,模型效果越好。通過上述預測結(jié)果,得到氣溫預測模型的預測評價指標如表3 所示。
表3 預測評價指標
本文通過以LSTM及AR 模型為基礎(chǔ),分別對洱海濕地日平均氣溫進行預測。通過方差倒數(shù)法,將二者進行結(jié)合,確定組合預測模型的LSTM權(quán)重為0.499,AR 的權(quán)重為0.501。通過方差倒數(shù)法得到的組合預測模型在擬合優(yōu)度及均方誤差方面有一定提高,預測效果更佳。
4.1 采用LSTM對洱海濕地環(huán)境氣溫進行了預測,對樣本數(shù)據(jù)進行了100 輪訓練。預測的平方誤差為759.1,擬合優(yōu)度R2為0.813,模型效果較好。
4.2 通過采用階數(shù)為3 的AR 模型預測的結(jié)果相比較LSTM而言,SSE 值比LSTM大。通過使得組合預測模型的誤差平方和最小的思路,分別對兩者進行加權(quán),在MAE 基本不變的情況下,SSE 有了較大提高,整體預測值變得更加平穩(wěn)。
4.3 通過模型的擬合優(yōu)度及MAPE 的值可以知道模型可用于氣溫的預測,效果比較好,與觀測值吻合度較高。通過圖2 可以得到氣溫數(shù)據(jù)呈現(xiàn)周期波動性,并且曲線走勢類似三角函數(shù)??梢钥紤]構(gòu)造正弦曲線進行非線性回歸的建模。
本文通過對云南洱海濕地氣溫進行預測,提出了一種基于SSE 方差倒數(shù)法的LSTM-AR 組合預測模型,通過權(quán)重系數(shù)加權(quán)組合的方式,使得組合預測模型的誤差平方和最小。通過實驗驗證分析,進一步提高了模型的預測性能,極大地利用自回歸模型的自相關(guān)性與LSTM的深度學習及序列的依賴性,運用兩種不同預測模型的優(yōu)勢,提高了洱海濕地氣溫預測準確率。本文通過兩個模型的組合雖然得到較好的效果,但在未來可以引入新的預測模型進一步組合,集合更多模型的優(yōu)勢,從而提高模型的預測精度。