摘 ?要:氣象數(shù)據(jù)的數(shù)據(jù)量通常較大,傳統(tǒng)長(zhǎng)短時(shí)記憶(LSTM)神經(jīng)網(wǎng)絡(luò)針對(duì)氣象數(shù)據(jù)人為調(diào)參十分困難,為了解決這個(gè)問(wèn)題,提出了一種改進(jìn)PSO-LSTM模型。其通過(guò)使用非線性變化慣性權(quán)重和學(xué)習(xí)因子的粒子群算法(PSO)對(duì)LSTM神經(jīng)網(wǎng)絡(luò)的相關(guān)參數(shù)進(jìn)行優(yōu)化,去除人為調(diào)參因素。實(shí)驗(yàn)使用兩個(gè)不同氣象站點(diǎn)的氣象數(shù)據(jù)集,結(jié)果表明,與競(jìng)爭(zhēng)預(yù)測(cè)模型相比,改進(jìn)PSO-LSTM模型具有更高的預(yù)測(cè)精度。
關(guān)鍵詞:長(zhǎng)短時(shí)記憶神經(jīng)網(wǎng)絡(luò);粒子群算法;氣溫預(yù)測(cè)
中圖分類號(hào):TP183 ? ? 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):2096-4706(2020)04-0110-03
Abstract:The amount of meteorological data is usually large. It is very difficult to adjust meteorological data manually by traditional long short memory (LSTM) neural network. In order to solve this problem,an improved PSO-LSTM model is proposed. The PSO algorithm,which uses the nonlinear inertia weight and learning factor,optimizes the parameters of the LSTM neural network and removes the human parameters. The experimental results show that the improved PSO-LSTM model has higher prediction accuracy than the competitive model.
Keywords:long and short-term memory neural network;particle swarm optimization algorithm;temperature prediction
0 ?引 ?言
氣象溫度的預(yù)測(cè)一直是氣象預(yù)測(cè)的重點(diǎn)問(wèn)題,同時(shí)也是難點(diǎn)問(wèn)題,對(duì)社會(huì)生產(chǎn)生活實(shí)踐有著巨大的影響,是一項(xiàng)具有挑戰(zhàn)性和深遠(yuǎn)意義的工作。本文將神經(jīng)網(wǎng)絡(luò)和氣象預(yù)測(cè)的結(jié)合作為研究課題,通過(guò)在成都信息工程大學(xué)軟件工程學(xué)院中學(xué)習(xí)相關(guān)課程,具有了良好的基礎(chǔ)編程技術(shù),對(duì)神經(jīng)網(wǎng)絡(luò)有了充分的了解,并熟悉了氣象預(yù)測(cè)的數(shù)據(jù)收集和實(shí)驗(yàn)預(yù)測(cè)等流程,最后進(jìn)行大量的論文閱讀研究和實(shí)驗(yàn)論證。
目前,在相關(guān)研究中采用較多的是BP神經(jīng)網(wǎng)絡(luò)模型[1,2],雖然相關(guān)研究表明BP神經(jīng)網(wǎng)絡(luò)的預(yù)測(cè)效果好于傳統(tǒng)的預(yù)報(bào)方法,但是BP神經(jīng)網(wǎng)絡(luò)也存在不能獲取時(shí)序信息的缺點(diǎn),而氣溫?cái)?shù)據(jù)是典型的時(shí)序數(shù)據(jù),這就限制了BP神經(jīng)網(wǎng)絡(luò)獲得更好的預(yù)測(cè)效果。為了解決這個(gè)問(wèn)題,研究者們引入了循環(huán)神經(jīng)網(wǎng)絡(luò)RNN[3,4](Recurrent Neural Networks)將氣溫?cái)?shù)據(jù)之間的時(shí)序信息也納入預(yù)測(cè)模型中,得到了比BP神經(jīng)網(wǎng)絡(luò)更好的預(yù)測(cè)效果。然而,RNN雖然被設(shè)計(jì)成可以處理時(shí)間序列信息,但是其記憶較深的還是短期信息,長(zhǎng)距離的時(shí)序信息幾乎沒(méi)有起到作用,而且距離過(guò)長(zhǎng)還可能會(huì)引發(fā)梯度消失和梯度爆炸。RNN的這些缺陷導(dǎo)致其不能解決長(zhǎng)期時(shí)序問(wèn)題。RNN的一個(gè)變體——長(zhǎng)短期記憶神經(jīng)網(wǎng)絡(luò)LSTM[5-7](Long Short-Term Memory)能夠有效解決簡(jiǎn)單循環(huán)神經(jīng)網(wǎng)絡(luò)的梯度爆炸和梯度消失問(wèn)題,能夠處理長(zhǎng)期時(shí)序問(wèn)題,實(shí)現(xiàn)長(zhǎng)期記憶。
雖然LSTM解決了梯度爆炸和梯度消失問(wèn)題且能夠很好地處理長(zhǎng)期預(yù)報(bào)問(wèn)題。但是氣象數(shù)據(jù)通常較大,相應(yīng)的LSTM模型參數(shù)難以確定,在現(xiàn)實(shí)中,對(duì)于LSTM模型參數(shù)的選擇往往依靠研究者的經(jīng)驗(yàn)來(lái)確定,隨機(jī)性較大,會(huì)降低模型預(yù)測(cè)效果,容易陷入局部最優(yōu)解。
為了解決這個(gè)問(wèn)題,本文提出非線性變化慣性權(quán)重和學(xué)習(xí)因子的PSO算法對(duì)LSTM的參數(shù)進(jìn)行優(yōu)化實(shí)現(xiàn)氣溫預(yù)測(cè)的方法,通過(guò)改進(jìn)PSO算法提高LSTM參數(shù)的全局優(yōu)化能力,降低其隨機(jī)性,提升LSTM的預(yù)測(cè)效果和穩(wěn)定性。
1 ?改進(jìn)PSO-LSTM模型預(yù)測(cè)方法
采用PSO算法優(yōu)化LSTM相關(guān)參數(shù)。將LSTM需要優(yōu)化的參數(shù)作為粒子輸入PSO算法進(jìn)行優(yōu)化,將得到的最優(yōu)粒子作為參數(shù)輸入LSTM中,此時(shí)的LSTM為PSO優(yōu)化過(guò)的最優(yōu)模型,其預(yù)測(cè)精度得到提升,這個(gè)過(guò)程沒(méi)有人為調(diào)參因素影響,隨機(jī)性較低,優(yōu)化效果比較穩(wěn)定。
1.1 ?LSTM神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)
LSTM是一種特殊的循環(huán)神經(jīng)網(wǎng)絡(luò),可以解決長(zhǎng)期依賴問(wèn)題,避免傳統(tǒng)循環(huán)神經(jīng)網(wǎng)絡(luò)產(chǎn)生的梯度消失與梯度爆炸問(wèn)題。它引入了一種被稱為記憶單元(Memory Cell)的結(jié)構(gòu)來(lái)記憶過(guò)去的信息,每個(gè)記憶單元擁有三種門結(jié)構(gòu),包括遺忘門(forget gate)、輸入門(input gate)和輸出門(output gate)。LSTM記憶單元結(jié)構(gòu)如圖1所示,其中方框內(nèi)上方的那條水平線,被稱為單元狀態(tài)(cell state),可以控制信息傳遞。遺忘門是以上一單元的輸出ht-1和本單元的輸入Xt為輸入的sigmoid函數(shù)(σ是sigmoid激活函數(shù)),為ct-1中的每一項(xiàng)產(chǎn)生一個(gè)在[0,1]內(nèi)的值,控制上一單元狀態(tài)被遺忘程度。輸入門和一個(gè)tanh函數(shù)配合控制新信息加入程度。輸出門用來(lái)控制當(dāng)前的單元狀態(tài)被過(guò)濾程度。
改進(jìn)PSO-LSTM模型的主要思路是利用上述PSO算法的良好參數(shù)尋優(yōu)能力對(duì)LSTM的相關(guān)參數(shù)進(jìn)行優(yōu)化,提升LSTM的預(yù)測(cè)效果。改進(jìn)PSO-LSTM模型的建模步驟如下:
步驟1:初始化相關(guān)參數(shù),初始化粒子群算法參數(shù):種群規(guī)模N、空間維數(shù)D、迭代次數(shù)tmax、粒子的初始位置 和初始速度 。初始化LSTM算法參數(shù):隱藏層為3層,第一層隱含層的初始神經(jīng)元數(shù) ?,第二層隱含層的初始神經(jīng)元數(shù) ?,第三層隱含層的初始神經(jīng)元數(shù) ?,初始學(xué)習(xí)率α0,初始迭代次數(shù)n0;
步驟2:根據(jù)需要調(diào)整LSTM參數(shù)形成相應(yīng)的粒子,粒子結(jié)構(gòu)為(h1,h2,h3,α,n),其中,h1表示LSTM第一層隱含層的神經(jīng)元數(shù),h2表示LSTM第二層隱含層的神經(jīng)元數(shù),h3表示LSTM第三層隱含層的神經(jīng)元數(shù),α表示LSTM的學(xué)習(xí)率,n表示LSTM的迭代次數(shù);
步驟3:將平均絕對(duì)誤差MAE作為粒子適應(yīng)度值,并根據(jù)每個(gè)粒子的初始位置 ?計(jì)算初始適應(yīng)度值確定初始的個(gè)體最優(yōu)位置 ?和全局最優(yōu)位置 ?;
步驟4:對(duì)粒子的位置 ?和速度 ?進(jìn)行更新,再根據(jù)新的位置 ?計(jì)算適應(yīng)度值,更新粒子的個(gè)體最優(yōu)位置 ?和全局最優(yōu)位置 ?;
步驟5:若迭代次數(shù)達(dá)到最大,則根據(jù)最優(yōu)粒子訓(xùn)練好的LSTM模型輸出預(yù)測(cè)值;若迭代次數(shù)沒(méi)有達(dá)到最大,則返回Step4繼續(xù)迭代。
2 ?實(shí)驗(yàn)與分析
文本將提出的改進(jìn)PSO-LSTM模型和BP模型、RNN模型和LSTM模型進(jìn)行實(shí)驗(yàn)對(duì)比。實(shí)驗(yàn)平臺(tái)所用操作系統(tǒng)為Windows 7,編程環(huán)境為python3.6,程序框架為TensorFlow 1.10.0。實(shí)驗(yàn)具體設(shè)計(jì)及結(jié)果分析如下:
實(shí)驗(yàn)采用2個(gè)數(shù)據(jù)集對(duì)比驗(yàn)證預(yù)測(cè)結(jié)果,數(shù)據(jù)集均來(lái)源于中國(guó)氣象數(shù)據(jù)網(wǎng)(http://data.cma.cn/),特征為氣溫、地溫、降水量、氣壓、濕度、日照時(shí)間和風(fēng)速,采用Z-Score標(biāo)準(zhǔn)化。取數(shù)據(jù)集前80%數(shù)據(jù)作為訓(xùn)練集,后20%作為測(cè)試集。數(shù)據(jù)集具體信息如表1所示。
BP神經(jīng)網(wǎng)絡(luò)采用n-2n+1-1結(jié)構(gòu),n為輸入層神經(jīng)元個(gè)數(shù)取7,隱藏層神經(jīng)元個(gè)數(shù)取15,迭代次數(shù)800次,學(xué)習(xí)率取0.001。RNN結(jié)構(gòu)采用3層隱藏層結(jié)構(gòu),輸入層神經(jīng)元個(gè)數(shù)取7,隱藏層神經(jīng)元個(gè)數(shù)均取15,迭代次數(shù)800次,學(xué)習(xí)率取0.001。LSTM結(jié)構(gòu)與RNN相同。改進(jìn)粒子群算法迭代次數(shù)tmax取20,種群規(guī)模N取10,空間維數(shù)D取5,wmax=0.9,wmin=0.1,c1max=c2max=2,c1min=c2min=0.6,粒子(h1,h2,h3,α,n)中,h1、h2和h3的取值范圍為[1,100],速度取值范圍為[-2,2],α的取值范圍為[0.0001,0.01],速度取值范圍為[-0.0005,0.0005],n的取值范圍為[500,1000],速度取值范圍為[-20,20],適應(yīng)度使用平均絕對(duì)誤差MAE。
實(shí)驗(yàn)使用歷史氣溫、地溫、降水量、氣壓、濕度、日照時(shí)間和風(fēng)速7個(gè)特征作為輸入來(lái)預(yù)測(cè)未來(lái)一天的日均氣溫,并與實(shí)際氣溫?cái)?shù)據(jù)進(jìn)行對(duì)比分析。為了評(píng)價(jià)預(yù)測(cè)效果,實(shí)驗(yàn)采用了均方誤差(MSE)、均方根誤差(RMSE)和平均絕對(duì)誤差(MAE)作為評(píng)價(jià)指標(biāo),其數(shù)值越小,模型預(yù)測(cè)結(jié)果和真實(shí)值誤差越小,預(yù)測(cè)精度越高。
各個(gè)模型在數(shù)據(jù)集1上的預(yù)測(cè)誤差如圖2所示,在數(shù)據(jù)集2上的預(yù)測(cè)誤差如圖3所示,表2展示了各個(gè)模型在不同評(píng)價(jià)指標(biāo)下的對(duì)比結(jié)果。
分析圖2和圖3可知,各個(gè)模型在預(yù)測(cè)時(shí),BP模型大部分時(shí)間點(diǎn)的預(yù)測(cè)值和真實(shí)值都有較大誤差,導(dǎo)致其整體預(yù)測(cè)效果不好。RNN模型誤差曲線波動(dòng)小于BP模型,因此其預(yù)測(cè)效果要好于BP模型。LSTM模型和改進(jìn)PSO-LSTM模型整體的誤差曲線要好于BP神經(jīng)網(wǎng)絡(luò)和RNN模型,而改進(jìn)PSO-LSTM模型的誤差總體上小于LSTM模型的誤差。
分析表2可知,在數(shù)據(jù)集1中改進(jìn)PSO-LSTM模型相較于BP模型、RNN模型和LSTM模型,預(yù)測(cè)結(jié)果的MAE分別降低了12.10%、9.33%和3.65%,MSE分別降低了17.54%、11.68%和3.73%,RMSE分別降低了9.19%、6.02%和1.88%;在數(shù)據(jù)集2中改進(jìn)PSO-LSTM模型相較于BP模型、RNN模型和LSTM模型,預(yù)測(cè)結(jié)果的MAE分別降低了19.38%、7.71%和4.82%,MSE分別降低了32.85%、8.72%和3.22%,RMSE分別降低了18.05%、4.46%和1.63%。這表明改進(jìn)PSO-LSTM模型在2個(gè)數(shù)據(jù)集中各個(gè)評(píng)價(jià)指標(biāo)上均優(yōu)于其他三個(gè)模型。
4種模型的預(yù)測(cè)結(jié)果基本符合實(shí)際值的變化曲線,改進(jìn)PSO-LSTM模型在2個(gè)數(shù)據(jù)集中各個(gè)評(píng)價(jià)指標(biāo)上均優(yōu)于BP模型、RNN模型和LSTM模型,說(shuō)明相較于其他三個(gè)模型,改進(jìn)PSO-LSTM模型預(yù)測(cè)精度更高。
3 ?結(jié) ?論
本文提出了一種改進(jìn)PSO-LSTM模型用于對(duì)帶時(shí)序信息的氣溫?cái)?shù)據(jù)進(jìn)行預(yù)測(cè)。通過(guò)非線性變化慣性權(quán)重和學(xué)習(xí)因子的PSO算法對(duì)LSTM進(jìn)行優(yōu)化,使用自動(dòng)調(diào)參提升LSTM預(yù)測(cè)的精度和全局優(yōu)化能力。使用來(lái)源于中國(guó)氣象數(shù)據(jù)網(wǎng)的氣象數(shù)據(jù),預(yù)處理后得到了2個(gè)不同氣象站點(diǎn)的數(shù)據(jù)集用于實(shí)驗(yàn)驗(yàn)證。實(shí)驗(yàn)結(jié)果表明,相較于BP模型、RNN模型和LSTM模型,改進(jìn)PSO-LSTM模型具有更高的預(yù)測(cè)精度。
參考文獻(xiàn):
[1] 施曉芬,陳翔,曹永勇,等.基于回歸BP神經(jīng)網(wǎng)絡(luò)誤差分級(jí)迭代法的逐時(shí)氣溫預(yù)測(cè)方法研究 [J].數(shù)學(xué)的實(shí)踐與認(rèn)識(shí),2019,49(1):145-151.
[2] FUENTES M,CAMPOS C,GARCIA-LOYOLA S.Application of artificial neural networks to frost detection in central Chile using the next day minimum air temperature forecast [J].Chilean Journal of Agricultural Research,2018,78(3):327-338.
[3] LIANG Y,QIU L,ZHU J,et al.A Digester Temperature Prediction Model Based on the Elman Neural Network [J].Applied Engineering in Agriculture,2017,33(2):143-148.
[4] 林希,張政.基于Elman神經(jīng)網(wǎng)絡(luò)的氣溫時(shí)間序列預(yù)測(cè) [J].科技咨詢導(dǎo)報(bào),2007(25):4-5.
[5] 陶曄,杜景林.基于隨機(jī)森林的長(zhǎng)短期記憶網(wǎng)絡(luò)氣溫預(yù)測(cè) [J].計(jì)算機(jī)工程與設(shè)計(jì),2019,40(3):737-743.
[6] XU C L,CHEN H X,WANG J Y,et al.Improving prediction performance for indoor temperature in public buildings based on a novel deep learning method [J].Building and Environment,2019(148):128-135.
[7] 倪錚,梁萍.基于LSTM深度神經(jīng)網(wǎng)絡(luò)的精細(xì)化氣溫預(yù)報(bào)初探 [J].計(jì)算機(jī)應(yīng)用與軟件,2018,35(11):233-236+271.
作者簡(jiǎn)介:楊孟達(dá)(1995.06-),男,漢族,四川廣元人,在讀研究生,研究方向:計(jì)算機(jī)技術(shù)。