雷凱
(安徽大學,安徽 合肥 230601)
一直以來,大氣溫度的變化與人類的生產生活都密切相關,它一方面影響著人類的日常正常活動,能否保證人類的正常出行,社會的正常運作;另一方面也影響著農業、社會工業、生產業等行業的發展,極端高溫、低溫等天氣現象對于各行業生產,特別是對于農業生產的影響極為重大;還有一方面也影響著生態環境的可持續性的發展。
在大氣溫度研究領域上,最早是氣象人員通過自身從事氣象預測的經驗來對未來可能出現的氣溫劇烈變化進行預測。但這種方法缺乏科學上的數據解釋分析,對研究人員的要求也比較高,因此預測誤差也比較大。然后,隨著科研人員將統計學知識應用到大氣溫度研究領域,先收集大氣溫度的歷史數據,得到各氣象因素之間的相關性,借助于可用到的數學統計等原理建立較為準確的預測模型。隨著大數據技術的火熱發展,可以處理更大規模的數據量,速度更快,精度更高,用于預測大氣溫度可建立的模型也隨之越復雜起來。通過數據挖掘技術,我們可以在氣象研究領域挖掘更多的氣象信息,從而獲得了海量相關的數據,我們能夠充分利用海量氣象數據解決氣象領域的相關問題。另外深度學習在隨著大數據時代的發展,也得到了火速發展,深度學習通過對數據的擬合,使得該方法在不同領域得到應用。
標準的RNN 模型結構如圖1 所示,循環神經網絡相對于傳統神經網絡只注重當前時刻的處理,會考慮上一時刻留存下來的信息對當前時刻的影響。圖1 左邊是RNN 循環體的簡易圖,xt為t 時刻輸入,輸出為yt,ht是RNN 模型的隱藏層。在每一個t時刻,RNN的輸出yt都是由當前時刻的輸入xt,以及上一時刻的隱藏層狀態ht-1共同決定的。循環結構展開圖就如圖1 右邊所示,每一時刻的隱藏層狀態都會保留下來,傳輸給下一時刻,這就保證了RNN 模型具備一定的記憶能力,將之前的輸入信息記錄下來,作用于下一時刻。

圖1 RNN 結構圖
可以看到,RNN 模型在一定程度上可以保留之前的信息,但是隨著數據的不斷輸入,之前輸入信息的記憶就會逐漸消退,所以RNN 模型在處理長期依賴問題上就會出現困難,這就引入了LSTM模型。
LSTM是由RNN 衍生出的特殊形式,它主要針對循環神經網絡中存在的梯度消失、梯度爆炸等問題提出來一種優化算法。它能夠通過特別的門狀結構和細胞狀態更新更加優越的保存下長期記憶,通過存儲單元保留與時間相關信息來解決梯度消失和梯度爆炸問題。
圖2 所示的結構是LSTM 神經網絡隱層內部的鏈狀結構。通過每一個Memory Cell 內部結構都有三個門狀結構遺忘門(forget gate)、輸入門(input gate)、輸出門(output gate)構成。

圖2 LSTM 結構
遺忘門的輸入ft由輸入xt和t-1 時刻的隱藏單元輸出ht-1決定,然后放進sigmoid 函數中,忘記或留存多少信息有它決定,計算公式如下:

輸入門控制t 時刻Memory Cell 輸入的向量傳輸多少信息到t 時刻的Memory Cell的狀態。計算公式如下:

輸出門:決定t 時刻Memory Cell的狀態向量有多少信息到t 時刻Memory Cell的實際輸出。計算過程如下:

氣象數據時間序列來源于中國氣象官網(http://data.cma.cn)發布的“中國地面國際交換站氣候資料日值數據集(V3.0)”。它包含了中國166 個站點1951 年1 月以來本站氣壓、氣溫、降水量、蒸發量、相對濕度、風向風速、日照時數、的日值數據。本文選用的是安徽合肥(站點位置:58321)2010 年1 月1 日至2021 年5 月9 日的日頻20-20 時降水量等16 個變量,如表1。

表1 原始數據
為了縮短LSTM 模型的訓練時長、提高LSTM的預測準確度,需要對原始數據做歸一化處理,可將所有有量綱的數據轉化為[0,1]區間的無量綱數據。本文選擇的是通過最值標準化處理,公式如下所示:

式中,Xmax是所有數據的最大值,Xmin是所有數據的最小值。X 是所有數據通過最值標準化后的值。
由于并不是每個特征都能夠很好地影響最高氣溫,所以需要對特征變量進行一個選擇,最終我們保留下了降水量、極大風速、極大風速的風向、平均氣壓、平均2 分鐘風速、平均水氣壓、平均相對濕度、日照時數、最低氣壓、最高氣壓、最大風速、最大風速的風向、最小相對濕度這13 個變量。將經過標準化之后的數據按照7:3的比例劃分訓練集和測試集。
對于預測結果的判定好壞的方法,選用均方誤差(RMSE,Root Mean Squared Error)和判定系數(R2)兩個指標。公式如下所示:


我們采用的是合肥市2010 年1 月1 日-2021 年5 月9 日的風速、風向等13 個氣象特征數據來預測每日最高氣溫。此模型是在Python 平臺的TensorFlow框架中訓練。在訓練模型的過程中,為了從根本上加快模型機器的學習速率,收斂速率,并且利用的資源更少,本文加入Adam 優化器進行優化。
另外,為了防止神經網絡模型經常會出現的問題,即過擬合現象,本文采用加入Dropout 層來解決。具體原理是在模型學習訓練過程中,依據一定的概率隨機將神經網絡單元從網絡中移除,本文將Dropout 參數設置為0.2,即每一層都以0.2的概率隨機舍棄每一層搭建的網絡的神經元權重,以提升所搭建模型的泛化能力。
為了比較長短期記憶網絡對于大氣溫度預測的有效性,我們將其與循環神經網絡進行了一個對比。表2 記錄了RNN 模型與LSTM模型的均方誤差(RMSE)和判定系數(R2)的對比結果。

表2 模型預測結果對比
預測氣溫值與真實氣溫值之間波動幅度、方向大體一致,可能一些極值位置重合性較差,但是還是較能直觀反應出預測值與真實值較為接近。具體預測精度如下表所示:
由表2 可知,RNN 和LSTM的測試判定系數都為為0.975,均方誤差分別為0.004079、0.004037,這說明RNN 模型和LSTM模型都對氣溫預測有較好的效果,說明LSTM模型對于大氣溫度預測是有效的。并且LSTM模型相對于RNN 模型來說RMSE更小,LSTM模型的預測精度更高。
由于大氣溫度時間序列受各種氣象因素的影響,只考慮歷史氣溫數據并不能很好地預測出未來氣溫值,所以本文考慮利用降水量、極大風速等13 個氣象影響因子來預測合肥市最高氣溫。并且采用的是加入Adam 優化器和Dropout 層的LSTM 模型。Adam 優化器的加入使得LSTM模型訓練速率、收斂速率更加迅速,并且利用的資源更少;Dropout 層防止了LSTM模型可能出現的過擬合現象。LSTM模型在RNN 模型的基礎上,加入了解決了記憶模塊效果不佳的問題,從預測結果來看,LSTM模型相對于RNN 模型精度更高。在大氣溫度預測問題上,LSTM模型具備良好的性能。