雷凱
(安徽大學(xué),安徽 合肥 230601)
一直以來(lái),大氣溫度的變化與人類的生產(chǎn)生活都密切相關(guān),它一方面影響著人類的日常正?;顒?dòng),能否保證人類的正常出行,社會(huì)的正常運(yùn)作;另一方面也影響著農(nóng)業(yè)、社會(huì)工業(yè)、生產(chǎn)業(yè)等行業(yè)的發(fā)展,極端高溫、低溫等天氣現(xiàn)象對(duì)于各行業(yè)生產(chǎn),特別是對(duì)于農(nóng)業(yè)生產(chǎn)的影響極為重大;還有一方面也影響著生態(tài)環(huán)境的可持續(xù)性的發(fā)展。
在大氣溫度研究領(lǐng)域上,最早是氣象人員通過(guò)自身從事氣象預(yù)測(cè)的經(jīng)驗(yàn)來(lái)對(duì)未來(lái)可能出現(xiàn)的氣溫劇烈變化進(jìn)行預(yù)測(cè)。但這種方法缺乏科學(xué)上的數(shù)據(jù)解釋分析,對(duì)研究人員的要求也比較高,因此預(yù)測(cè)誤差也比較大。然后,隨著科研人員將統(tǒng)計(jì)學(xué)知識(shí)應(yīng)用到大氣溫度研究領(lǐng)域,先收集大氣溫度的歷史數(shù)據(jù),得到各氣象因素之間的相關(guān)性,借助于可用到的數(shù)學(xué)統(tǒng)計(jì)等原理建立較為準(zhǔn)確的預(yù)測(cè)模型。隨著大數(shù)據(jù)技術(shù)的火熱發(fā)展,可以處理更大規(guī)模的數(shù)據(jù)量,速度更快,精度更高,用于預(yù)測(cè)大氣溫度可建立的模型也隨之越復(fù)雜起來(lái)。通過(guò)數(shù)據(jù)挖掘技術(shù),我們可以在氣象研究領(lǐng)域挖掘更多的氣象信息,從而獲得了海量相關(guān)的數(shù)據(jù),我們能夠充分利用海量氣象數(shù)據(jù)解決氣象領(lǐng)域的相關(guān)問(wèn)題。另外深度學(xué)習(xí)在隨著大數(shù)據(jù)時(shí)代的發(fā)展,也得到了火速發(fā)展,深度學(xué)習(xí)通過(guò)對(duì)數(shù)據(jù)的擬合,使得該方法在不同領(lǐng)域得到應(yīng)用。
標(biāo)準(zhǔn)的RNN 模型結(jié)構(gòu)如圖1 所示,循環(huán)神經(jīng)網(wǎng)絡(luò)相對(duì)于傳統(tǒng)神經(jīng)網(wǎng)絡(luò)只注重當(dāng)前時(shí)刻的處理,會(huì)考慮上一時(shí)刻留存下來(lái)的信息對(duì)當(dāng)前時(shí)刻的影響。圖1 左邊是RNN 循環(huán)體的簡(jiǎn)易圖,xt為t 時(shí)刻輸入,輸出為yt,ht是RNN 模型的隱藏層。在每一個(gè)t時(shí)刻,RNN的輸出yt都是由當(dāng)前時(shí)刻的輸入xt,以及上一時(shí)刻的隱藏層狀態(tài)ht-1共同決定的。循環(huán)結(jié)構(gòu)展開圖就如圖1 右邊所示,每一時(shí)刻的隱藏層狀態(tài)都會(huì)保留下來(lái),傳輸給下一時(shí)刻,這就保證了RNN 模型具備一定的記憶能力,將之前的輸入信息記錄下來(lái),作用于下一時(shí)刻。
圖1 RNN 結(jié)構(gòu)圖
可以看到,RNN 模型在一定程度上可以保留之前的信息,但是隨著數(shù)據(jù)的不斷輸入,之前輸入信息的記憶就會(huì)逐漸消退,所以RNN 模型在處理長(zhǎng)期依賴問(wèn)題上就會(huì)出現(xiàn)困難,這就引入了LSTM模型。
LSTM是由RNN 衍生出的特殊形式,它主要針對(duì)循環(huán)神經(jīng)網(wǎng)絡(luò)中存在的梯度消失、梯度爆炸等問(wèn)題提出來(lái)一種優(yōu)化算法。它能夠通過(guò)特別的門狀結(jié)構(gòu)和細(xì)胞狀態(tài)更新更加優(yōu)越的保存下長(zhǎng)期記憶,通過(guò)存儲(chǔ)單元保留與時(shí)間相關(guān)信息來(lái)解決梯度消失和梯度爆炸問(wèn)題。
圖2 所示的結(jié)構(gòu)是LSTM 神經(jīng)網(wǎng)絡(luò)隱層內(nèi)部的鏈狀結(jié)構(gòu)。通過(guò)每一個(gè)Memory Cell 內(nèi)部結(jié)構(gòu)都有三個(gè)門狀結(jié)構(gòu)遺忘門(forget gate)、輸入門(input gate)、輸出門(output gate)構(gòu)成。
圖2 LSTM 結(jié)構(gòu)
遺忘門的輸入ft由輸入xt和t-1 時(shí)刻的隱藏單元輸出ht-1決定,然后放進(jìn)sigmoid 函數(shù)中,忘記或留存多少信息有它決定,計(jì)算公式如下:
輸入門控制t 時(shí)刻Memory Cell 輸入的向量傳輸多少信息到t 時(shí)刻的Memory Cell的狀態(tài)。計(jì)算公式如下:
輸出門:決定t 時(shí)刻Memory Cell的狀態(tài)向量有多少信息到t 時(shí)刻Memory Cell的實(shí)際輸出。計(jì)算過(guò)程如下:
氣象數(shù)據(jù)時(shí)間序列來(lái)源于中國(guó)氣象官網(wǎng)(http://data.cma.cn)發(fā)布的“中國(guó)地面國(guó)際交換站氣候資料日值數(shù)據(jù)集(V3.0)”。它包含了中國(guó)166 個(gè)站點(diǎn)1951 年1 月以來(lái)本站氣壓、氣溫、降水量、蒸發(fā)量、相對(duì)濕度、風(fēng)向風(fēng)速、日照時(shí)數(shù)、的日值數(shù)據(jù)。本文選用的是安徽合肥(站點(diǎn)位置:58321)2010 年1 月1 日至2021 年5 月9 日的日頻20-20 時(shí)降水量等16 個(gè)變量,如表1。
表1 原始數(shù)據(jù)
為了縮短LSTM 模型的訓(xùn)練時(shí)長(zhǎng)、提高LSTM的預(yù)測(cè)準(zhǔn)確度,需要對(duì)原始數(shù)據(jù)做歸一化處理,可將所有有量綱的數(shù)據(jù)轉(zhuǎn)化為[0,1]區(qū)間的無(wú)量綱數(shù)據(jù)。本文選擇的是通過(guò)最值標(biāo)準(zhǔn)化處理,公式如下所示:
式中,Xmax是所有數(shù)據(jù)的最大值,Xmin是所有數(shù)據(jù)的最小值。X 是所有數(shù)據(jù)通過(guò)最值標(biāo)準(zhǔn)化后的值。
由于并不是每個(gè)特征都能夠很好地影響最高氣溫,所以需要對(duì)特征變量進(jìn)行一個(gè)選擇,最終我們保留下了降水量、極大風(fēng)速、極大風(fēng)速的風(fēng)向、平均氣壓、平均2 分鐘風(fēng)速、平均水氣壓、平均相對(duì)濕度、日照時(shí)數(shù)、最低氣壓、最高氣壓、最大風(fēng)速、最大風(fēng)速的風(fēng)向、最小相對(duì)濕度這13 個(gè)變量。將經(jīng)過(guò)標(biāo)準(zhǔn)化之后的數(shù)據(jù)按照7:3的比例劃分訓(xùn)練集和測(cè)試集。
對(duì)于預(yù)測(cè)結(jié)果的判定好壞的方法,選用均方誤差(RMSE,Root Mean Squared Error)和判定系數(shù)(R2)兩個(gè)指標(biāo)。公式如下所示:
我們采用的是合肥市2010 年1 月1 日-2021 年5 月9 日的風(fēng)速、風(fēng)向等13 個(gè)氣象特征數(shù)據(jù)來(lái)預(yù)測(cè)每日最高氣溫。此模型是在Python 平臺(tái)的TensorFlow框架中訓(xùn)練。在訓(xùn)練模型的過(guò)程中,為了從根本上加快模型機(jī)器的學(xué)習(xí)速率,收斂速率,并且利用的資源更少,本文加入Adam 優(yōu)化器進(jìn)行優(yōu)化。
另外,為了防止神經(jīng)網(wǎng)絡(luò)模型經(jīng)常會(huì)出現(xiàn)的問(wèn)題,即過(guò)擬合現(xiàn)象,本文采用加入Dropout 層來(lái)解決。具體原理是在模型學(xué)習(xí)訓(xùn)練過(guò)程中,依據(jù)一定的概率隨機(jī)將神經(jīng)網(wǎng)絡(luò)單元從網(wǎng)絡(luò)中移除,本文將Dropout 參數(shù)設(shè)置為0.2,即每一層都以0.2的概率隨機(jī)舍棄每一層搭建的網(wǎng)絡(luò)的神經(jīng)元權(quán)重,以提升所搭建模型的泛化能力。
為了比較長(zhǎng)短期記憶網(wǎng)絡(luò)對(duì)于大氣溫度預(yù)測(cè)的有效性,我們將其與循環(huán)神經(jīng)網(wǎng)絡(luò)進(jìn)行了一個(gè)對(duì)比。表2 記錄了RNN 模型與LSTM模型的均方誤差(RMSE)和判定系數(shù)(R2)的對(duì)比結(jié)果。
表2 模型預(yù)測(cè)結(jié)果對(duì)比
預(yù)測(cè)氣溫值與真實(shí)氣溫值之間波動(dòng)幅度、方向大體一致,可能一些極值位置重合性較差,但是還是較能直觀反應(yīng)出預(yù)測(cè)值與真實(shí)值較為接近。具體預(yù)測(cè)精度如下表所示:
由表2 可知,RNN 和LSTM的測(cè)試判定系數(shù)都為為0.975,均方誤差分別為0.004079、0.004037,這說(shuō)明RNN 模型和LSTM模型都對(duì)氣溫預(yù)測(cè)有較好的效果,說(shuō)明LSTM模型對(duì)于大氣溫度預(yù)測(cè)是有效的。并且LSTM模型相對(duì)于RNN 模型來(lái)說(shuō)RMSE更小,LSTM模型的預(yù)測(cè)精度更高。
由于大氣溫度時(shí)間序列受各種氣象因素的影響,只考慮歷史氣溫?cái)?shù)據(jù)并不能很好地預(yù)測(cè)出未來(lái)氣溫值,所以本文考慮利用降水量、極大風(fēng)速等13 個(gè)氣象影響因子來(lái)預(yù)測(cè)合肥市最高氣溫。并且采用的是加入Adam 優(yōu)化器和Dropout 層的LSTM 模型。Adam 優(yōu)化器的加入使得LSTM模型訓(xùn)練速率、收斂速率更加迅速,并且利用的資源更少;Dropout 層防止了LSTM模型可能出現(xiàn)的過(guò)擬合現(xiàn)象。LSTM模型在RNN 模型的基礎(chǔ)上,加入了解決了記憶模塊效果不佳的問(wèn)題,從預(yù)測(cè)結(jié)果來(lái)看,LSTM模型相對(duì)于RNN 模型精度更高。在大氣溫度預(yù)測(cè)問(wèn)題上,LSTM模型具備良好的性能。