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