王江波 白 雪 徐 景 李景詩
(南京信息工程大學 數(shù)學與統(tǒng)計學院,江蘇 南京210044)
氣象溫度的預測一直以來都是天氣預測的重點問題,天氣不僅直接影響人們的健康、甚至影響人們的心情[1];此外,天氣變化還會影響一個國家的經(jīng)濟狀況。據(jù)美國氣候中心報告,美國每年因為氣象災害的損失要達到1000 億美元[2]。短臨預報是近年來的熱點問題,其根據(jù)大氣科學原理,運用統(tǒng)計學知識對未來變化趨勢預測。提高短臨預測的準確率和效率,對國民經(jīng)濟有重要指導意義[3]。
在統(tǒng)計學理論范疇下,氣溫預測技術(shù)種類繁多。最新的數(shù)值預報有如下幾個方面:一是多元統(tǒng)計分析,主要運用數(shù)理統(tǒng)計學的相關(guān)知識,在多對象多因素的關(guān)聯(lián)下進行相關(guān)性分析,進而得到規(guī)律;二是運用概率預測的統(tǒng)計方法,以此來預測某類天氣現(xiàn)象是否可能發(fā)生,并給出其發(fā)生可能性大??;三是時間序列分析,通過挖掘歷史數(shù)據(jù)中的規(guī)律,進而來預測未來的天氣。
隨著計算機技術(shù)的快速發(fā)展,機器學習在氣象預測中展現(xiàn)出巨大的潛力,其能夠有效避免過擬合過高維數(shù)等問題,而且求解速度快,精度也更高。
在國外,Khan M R[4]等人提出簡單遞歸網(wǎng)絡對氣溫進行預測,SinghS[5]等人對氣象中的溫度屬性以及特定數(shù)據(jù)采用依賴性研究,提出了基于遺傳算法和神經(jīng)網(wǎng)絡相結(jié)合的綜合反向傳播溫度預測模型。國內(nèi)針對氣溫的預測相對滯后,比如黃文杰,曹鴻興等人[6]在20 世紀以ARIMA 作為季節(jié)模型定量分析,這一期間ARIMA 時間序列模型被廣泛用于預測研究,南京信息工程大學的智協(xié)飛[7]等運用貝葉斯模式平均法將三個模式預報結(jié)果進行多模式氣溫集成。
本文選取了??诘孛嬗^測站點的觀測數(shù)據(jù)集作為樣本數(shù)據(jù)集,其中采集了2019 年6 月到2020 年6 月的相關(guān)氣象觀測數(shù)據(jù)。原始觀測數(shù)據(jù)的部分見表1。
據(jù)表1 顯示,該氣象站的數(shù)據(jù)更新頻率為1 小時/次,即每1 小時更新一次??谡军c的相關(guān)要素值,其數(shù)據(jù)要素采集包括區(qū)站號、時、本站氣壓、氣溫、相對濕度、小時降水量、瞬時風向、瞬時風速、最小能見度,其中后面7 個要素的單位分別為:百帕、攝氏度、百分率、毫米、度、米/秒、米。
2.2.1 清洗數(shù)據(jù)。數(shù)據(jù)清洗是數(shù)據(jù)預測中最為重要的環(huán)節(jié)。首先處理表中的重復值,其中區(qū)站號都是海口站點59757,對氣溫的預測沒有實際作用,所以刪除此列;其次要對缺失值進行處理,本文采用中位數(shù)代替缺測值。
2.2.2 歸一化處理。觀察表可知,不同的變量有不同的量綱,這將對最終的預測結(jié)果產(chǎn)生不利的影響。本文采用數(shù)據(jù)歸一化以解決氣象要素之間的可比性問題。歸一化后氣象要素的取值范圍在[0,1]之間,具體公式如下所示:
其中,max 為最大值,min 為最小值。歸一化后,能加快LSTM的處理速度,也能減小輸出誤差。
2.2.3 將時間序列數(shù)據(jù)轉(zhuǎn)化為有監(jiān)督數(shù)據(jù)。本文采用的輸入t 時間步各要素的觀測值,輸出t+1 時間步氣溫值。具體就是將時間序列數(shù)據(jù)向后滑動一個單位,然后進行拼接,這就是有監(jiān)督的數(shù)據(jù)集。
長短期記憶網(wǎng)絡(Long Short-Term Memory,LSTM)是循環(huán)神經(jīng)網(wǎng)絡RNN 的分支,LSTM 有效解決了長期依賴問題,其設計的目的意在更好的存儲和訪問歷史信息。一方面,LSTM 由隱藏層、輸出層和輸入層組成。另一方面,LSTM 又是一種特殊的RNN,隱藏層由一個或多個記憶單元組成,每個記憶單元擁有3個“門”結(jié)構(gòu),其中包括遺忘門、輸入門和輸出門。LSTM 的單元結(jié)構(gòu)如圖1 所示。
表1 原始觀測數(shù)據(jù)
圖1 LSTM 結(jié)構(gòu)圖
由圖1 所示,有一條直線橫穿了整個單元,并且通過線性計算與輸入門、輸出門、遺忘門鏈接,下面列出相關(guān)公式:
其中,ft、it、ct、ot分別表示當前時刻的遺忘門、輸入門、單元狀態(tài)和輸出門;ht則是LSTM 的輸出;b 是偏置項,w 是各類輸入循環(huán)權(quán)重;σ 是sigmoid 函數(shù),用來調(diào)節(jié)權(quán)重;在LSTM 結(jié)構(gòu)中,因為3 種門結(jié)構(gòu)和特殊單元,以至于LSTM 能夠?qū)W習歷史信息,并從中舍棄無效的信息,將有價值的信息保留下來。其次,單元ct在遺忘門舍棄了一些信息,所以需要通過輸入門來學習新的信息。最后,通過計算單元狀態(tài)之后,ct得到了更新,再利用輸出門,和tanh 層決定最終的輸出值ht。
圖2 LSTM 時間序列模型結(jié)構(gòu)
本文采集了??诘貐^(qū)的氣象數(shù)據(jù),并利用采集數(shù)據(jù)進行訓練的測試。這里隨機選取80%作為訓練集,20%作為測試集。為了評估模型的性能和精度,本文根據(jù)預測的值和實際的值,采用了均方誤差MSE 和平均絕對誤差MAE 作為模型的評估指標,它們的計算公式如下所示:
其中,y 為氣溫的預測值,y 為氣溫的實際值,當MSE 和MAE 越小時,說明模型的預測性能越好,同時表明預測誤差較小。不同時間序列長度的模型效果如表2 所示。
表2 模型效果比較基于不同序列長度
序列長度是指我們在預測過程中的數(shù)據(jù)輸入長度,即用多長序列的數(shù)據(jù)來預測未來三小時的溫度。由模型效果的結(jié)果,可以發(fā)現(xiàn)當序列長度為4 天,即96 小時,模型的預測效果最好,因此我們的模型的序列輸入長度為96。接下來對訓練好的模型進行未來三小時的預測,為了盡可能直觀展示未來三小時的預測結(jié)果,我們用96 小時的數(shù)據(jù)對未來三小時分別進行了預測,預測的效果圖如圖3 所示。
圖3 未來三小時氣溫預測值
從預測的結(jié)果可以看出,在未來一小時內(nèi)預測結(jié)果良好,預測溫度與實際溫度基本一致,但在第三個小時,出現(xiàn)了輕微的波動。由此可見,LSTM 在氣溫預測中具有良好的預報能力,另外,在不同的參數(shù)組合下對結(jié)果影響大。在實際業(yè)務中,應進行大量的實驗,選取最佳的參數(shù)組合,使模型預測效果達到最佳。