馮鴻超 許德剛
摘要: 本文使用LSTM網絡模型,將某一城市多年地面氣象數據作為變量,使用sigmoid函數作為激活函數,預測未來一段時間內的天氣溫度。通過仿真實驗,將真實數據與預測數據進行對比分析,預測精度可達86%,誤差較小,相對普通RNN網絡模型預測精度提升40%。
關鍵詞: 深度學習;RNN;LSTM
中圖分類號: S165.2?? ?文獻標識碼: A?? ?文章編號: 1672-9129(2018)09-0052-01
Abstract: ?In this paper, we use the LSTM network model to use the sigmoid function as an activation function to predict the weather temperature for a period of time in the future. Through simulation experiments, the real data and the forecast data are compared and analyzed, the prediction accuracy can reach 86%, the error is small, and the prediction accuracy of the common RNN network model is improved by 40%.
Key words: ?deep learning;RNN;LSTM
1 前言
天氣變化極大的影響人們的日常生活,人們從未停止過對天氣的預測,隨著人們所掌握科學技術的進步,氣象觀測站數量在迅速增長,由此產生大量的氣象數據,通過氣象大數據的分析,用于提高天氣預報的準確率,預測未來較長一段時間內地面天氣的溫度,預知極端天氣的出現,提前做好相應的防范措施,還可用于其他對天氣有依賴性的研究。
隨著深度學習(Deep Learning)理論的不斷發(fā)展,神經網絡在預測模型方面?zhèn)涫荜P注,其中使用深度學習的自編碼網絡預測城市交通流[1],可用深度學習方法進行氣象預測[2][3],應用于PM2.5預測[7],電子病歷的匿名化處理和疾病及健康預測[6]等方面。循環(huán)網絡具有時間相關性,可以構建廣泛用于與時間相關的預測及處理領域,如文本語言處理[4],音頻識別[5]等時間序列相關領域。因此本文選用LSTM網絡模型對較長時間段內的溫度進行預測。
2 基于LSTM網絡模型的氣象溫度預測
在循環(huán)神經網絡中,隨著時間增長,RNN存在梯度消失問題,導致不能處理延遲過長的時間序列,導致第一層輸出的結果對后邊輸出的影響越來越弱,直至消失。長短期記憶網絡(LSTM)是一種特殊的RNN,能都解決RNN存在的梯度消失問題,能夠學習到長期依賴關系,LSTM模型是將隱藏層替換成LSTM細胞單元,使其具有長期記憶的能力。
2.1 LSTM 型循環(huán)神經網絡。LSTM的關鍵是細胞狀態(tài)(Cell State),它穿過整個隱藏網絡,LSTM通過門結構控制細胞狀態(tài)添加或者刪除信息,門結構是一種選擇性讓信息通過的方法,是為了保證LSTM 網絡能夠保存和獲取長時間周期的上下文信息,解決了普通RNN模型中的梯度消失問題。其步驟如下:
(1)通過遺忘門決定細胞狀態(tài)中的信息狀態(tài)。遺忘門通過觀察ht-1和xt,對細胞狀態(tài)ct-1中的每一個元素,輸出一個0~1之間的數,1表示“完全保留該信息”,0表示“完全丟棄該信息”。
ft=σ(Wfxt+Ufht-1+bf)?????? (1)
(2)通過輸入門確定需要更新的信息。
it ?= σ(Wi xt ?+ Ui ht-1 ?+ bi )???? (2)c ~ t ?= tanh(Wc xt ?+ Uc ht -1 ?+ bc )??? ?(3)
(3)更新細胞狀態(tài)。
ct=ft⊙ct-1+it⊙c ~ t?????????? (4)
(4)輸出門輸出。首先輸出選擇后細胞的輸出部分,然后將細胞狀態(tài)通過tanh后與輸出門相乘,得到想要的輸出結果。
ot ?= σ(wo xt ?+ Uo ht -1 ?+ bo )??? ?(5)ht ?= ot ⊙tanh(ct )??? ??(6)
其中,i、f、c、o分別代表輸入門、遺忘門、細胞狀態(tài)、輸出門,it表示輸入信號,xt表示在t時刻輸入層的數據,ht-1表示上一時刻輸出層的輸出,和b分別表示對應的權重系數矩陣和偏置量,c ~ t表示激活函數的信號,σ和tanh分別表示sigmoid和雙曲正切激活函數。
2.2 基于LSTM型網絡的氣象溫度預測
基于LSTM的氣象溫度預測模型主要包括5部分:輸入層、隱藏層、輸出層、網絡訓練和網絡預測。其主要步驟如下:
(1)輸入層將原始氣象數據進行初步處理,使其滿足網絡輸入的條件.
(2)輸入層的輸入后進入隱藏層,隱藏層的主要工作是網絡訓練,將處理好的輸入數據表示為X,將X輸入隱藏層,隱藏層包含M個按順序連接的同構LSTM細胞單元,X經隱藏層后的輸出與理論輸出進行比較,計算損失函數,以損失函數最小化為優(yōu)化目標,設定學習率、訓練迭代次數等初始值,不斷更新網絡權重,確定最終隱藏層網絡。
(3)應用訓練好的網絡進行預測,理論輸出最后一行數據,則n+1時刻的預測值為pn+1,將pn+1與理論輸出的最后一行數據合并為一行新的數據,預測出n+2時刻的預測值,依次類推,求出得到所有預測值,經過輸出層的反標準化得到預測的實際值,計算得出模型出預測精度與誤差。
2.3數據獲取。本文采用某城市1986年1月1日至2015年12月31日共30年每天的氣象數據,數據內容為每天的氣溫均值,日照時間,大氣壓強,平均風速,降雨量。根據實際數據的取值范圍,按照表1的數據編碼標準,做標準化處理,將原始數據轉換為0、1矩陣,將轉換值作為位置坐標,將全0矩陣中相應位置的值改為1。將處理過后的矩陣使用append方法合并為一個矩陣,組成一個n行470列的數組,n為所有數據的條數。
3 仿真實驗
實驗所用計算機配置及環(huán)境如下:CPU: I;內存:8GB;Win7(64位)操作系統(tǒng);使用python3語言,在PyCharm集成開發(fā)環(huán)境下完成實驗。輸入層節(jié)點數為5,輸入值為每天的氣溫均值,日照時間,氣壓,風速,降雨量。輸出層節(jié)點數為1,為氣象溫度。試驗中使用LSTM模型與RNN模型作對比試驗,兩個模型使用的訓練參數設置一樣,網絡基礎學習率設為1‰,最大迭代次數為40萬,隱藏單元為180個,批處理的數據為128。
按照提出的模型的步驟進行實驗,圖1為LSTM與RNN網絡模型預測的溫度值與實際值局部對比圖,從圖中可以看出LSTM比RNN網絡模型具有更高的擬合度。圖2為300天的溫度預測值與實際值的對比圖,從圖中可以看出,預測溫度值與實際溫度值具有相同的走勢,預測值具有較高的可信度。
RNN和LSTM模型隨著迭代次數的增加損失函數逐漸減小,預測精度不斷增大,到了迭代的后期,兩個網絡模型的損失函數值和精度出現上下波動,說明訓練已經達到飽和,LSTM網絡模型預測精度最終在80%~90%范圍內,最終值為87%,而RNN網絡模型的預測精度則在50%~60%范圍內,實驗的整體的誤差值在[-2.5,2.5]之間,具有較高的可信度和參考意義??傮w來說,在氣象溫度預測中,LSTM網絡模型比RNN網絡模型具有更高的預測精度。
4 結束語
基于深度學習的認知機理,使用基于LSTM網絡模型的溫度預測模型,通過仿真實驗,證明模型具有較好的預測效果,300天左右的天氣預測溫度與實際溫度具有相同的走勢,預測精度約為87%。在以后的研究工作中將進一步嘗試對激活函數進行優(yōu)化,增加隱藏層深度等方面進行嘗試,對模型進一步的優(yōu)化。
參考文獻:
[1]譚娟,王勝春.基于深度學習的交通擁堵預測模型研究[J].計算機應用研究,2015,32(10):2951-2954.
[2]劉鑫達.基于深度學習的氣象溫度預測研究[D].寧夏:寧夏大學,2016,03.
[3]楊函.基于深度學習的氣象預測研究[D].哈爾濱:哈爾濱工業(yè)大學,2017,06.
[4]張劍,屈丹,李真.基于詞向量特征的循環(huán)神經網絡語言模型[J].模式識別與人工智能,2015,28(4):299-305.
[5]黎長江,胡燕.基于循環(huán)神經網絡的音素識別研究[J].微電子學與計算機,2017,34(8):47-51.
[6]李昆.基于電子病歷的深度神經網絡預測模型研究與應用[D].鄭州:鄭州大學,2017,05.
[7]鄭毅,朱成璋.基于深度信念網絡的PM2.5預測[J].山東大學學報(工學版),2014,44(6):19-25.