梅真好
摘要:該文針對BP神經(jīng)網(wǎng)絡(luò)存在的學(xué)習(xí)速度慢、容易陷入局部最優(yōu)等缺點,在原有的BP神經(jīng)網(wǎng)絡(luò)模型基礎(chǔ)上,引入粒子群算法(PSO),構(gòu)建了基于改進的PSO算法兩次優(yōu)化BP神經(jīng)網(wǎng)絡(luò)預(yù)測模型(D-PSO-BP)。并與其他預(yù)測模型進行比較,實驗結(jié)果表明:D-PSO-BP預(yù)測模型能夠克服BP神經(jīng)網(wǎng)絡(luò)的缺點,具有更好的預(yù)測效果。在對我國安徽省蕪湖縣1986-2017年日最高氣溫的預(yù)測應(yīng)用中,改進的預(yù)測模型表現(xiàn)出了更好的預(yù)測準(zhǔn)確性和穩(wěn)定性。
關(guān)鍵詞:粒子群算法;BP神經(jīng)網(wǎng)絡(luò)模型;日最高氣溫;預(yù)測
中圖分類號:TP311 文獻標(biāo)識碼:A 文章編號:1009-3044(2018)30-0201-02
隨著社會和經(jīng)濟的日趨發(fā)展,極端氣候事件給社會經(jīng)濟、農(nóng)業(yè)發(fā)展帶來了嚴(yán)重的負(fù)面影響,尤其是極端氣溫和極端降水等極端氣候事件。據(jù)中國氣象局?jǐn)?shù)據(jù)統(tǒng)計顯示,在我國每年因天氣的極端溫度變化導(dǎo)致有5000萬公頃面積的農(nóng)作物受災(zāi),所造成的損失占整個國內(nèi)生產(chǎn)總值(GDP)的3%。因此,對極端氣溫進行準(zhǔn)確的預(yù)測,可以為政府防災(zāi)減災(zāi)提供決策依據(jù),可以有效地減少異常天氣給社會經(jīng)濟、農(nóng)業(yè)發(fā)展所帶來的嚴(yán)重影響。而目前國內(nèi)常用的數(shù)值預(yù)報產(chǎn)品包括歐洲中期天氣預(yù)報中心推出的預(yù)報產(chǎn)品等都是通過尋求找到氣象要素間的非線性關(guān)系,來改善預(yù)報效果[1]。但是這些數(shù)值預(yù)報產(chǎn)品本身也存在一些不足,如針對不同的天氣系統(tǒng)數(shù)值預(yù)報偏差較大[1]。為了克服數(shù)值預(yù)報產(chǎn)品的這些不足,國內(nèi)外學(xué)者開始嘗試將人工神經(jīng)網(wǎng)絡(luò)等方法應(yīng)用到氣象預(yù)報當(dāng)中,結(jié)果表明了人工神經(jīng)網(wǎng)絡(luò)等方法在氣象預(yù)報中的有效性和適用性[2-9]。但是,人工神經(jīng)網(wǎng)絡(luò)等方法在預(yù)測準(zhǔn)確性和預(yù)測穩(wěn)定性上還需要進一步提高[10,11]。為此,本文根據(jù)安徽省蕪湖縣31年的日最高氣溫數(shù)據(jù),構(gòu)建基于改進的PSO算法兩次優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的預(yù)測模型,對日最高氣溫進行預(yù)測分析,以期為準(zhǔn)確進行天氣預(yù)報提供參考。
1 日最高氣溫預(yù)測模型的構(gòu)建
1.1 BP神經(jīng)網(wǎng)絡(luò)
BP神經(jīng)網(wǎng)絡(luò)是人工神經(jīng)網(wǎng)絡(luò)的一種,屬于多層前饋網(wǎng)絡(luò)。目前,BP神經(jīng)網(wǎng)絡(luò)模型已經(jīng)廣泛應(yīng)用于氣象、氣候等領(lǐng)域,并取得了比較好的預(yù)測效果[2-9]。傳統(tǒng)的BP神經(jīng)網(wǎng)絡(luò)預(yù)測模型,一般分為三層結(jié)構(gòu),即輸入層、隱藏層、輸出層。其中,輸入層和輸出層的節(jié)點個數(shù)可以通過訓(xùn)練數(shù)據(jù)的維度來確定,而隱藏層的節(jié)點個數(shù),一般采用經(jīng)驗公式,多次測試來確定的。在進行實際數(shù)據(jù)的預(yù)測模擬的時候,BP神經(jīng)網(wǎng)絡(luò)需要先輸入訓(xùn)練數(shù)據(jù)來對整個網(wǎng)絡(luò)進行訓(xùn)練,在訓(xùn)練過程中,會對各層的權(quán)閾值進行調(diào)整,使網(wǎng)絡(luò)找出輸入層數(shù)據(jù)與輸出層數(shù)據(jù)間的非線性關(guān)系,從而具備解決問題的能力。其拓?fù)浣Y(jié)構(gòu)見圖1所示:
Wij和Wjk為網(wǎng)絡(luò)的權(quán)值。
1.2 改進PSO算法
PSO是粒子群優(yōu)化算法(Particle Swarm Optimization)的英文縮寫,是模擬鳥群蜂群覓食行為的一種算法,由Eberhart和Kennedy于1995年提出[12]。該算法的基本思想是通過群體中個體之間的協(xié)作和信息共享的方式來尋找全局范圍內(nèi)的最優(yōu)解。其中,一個粒子自身含有四個變量,分別是粒子所在位置序列Present、粒子的速度序列V、粒子本身與食物相距最短時的地址Pbest和所有粒子中與食物相距最短時的地址Gbest。搜查最優(yōu)粒子的區(qū)域時,粒子的位置、速度的改變會受到Pbest和Gbest的影響,其每迭代一次的改變公式如下:
事實上,標(biāo)準(zhǔn)的PSO算法雖然能以較快的速率找出局部最優(yōu)解,但其尋找全局最優(yōu)解的能力較弱,往往容易陷入局部最優(yōu)。因此,為了增加粒子的多樣性,為了避免粒子過早地陷入局部最優(yōu),本文提出了改進的粒子群優(yōu)化算法,即在更新粒子位置的時候,引入自適應(yīng)的變異算子σ,當(dāng)粒子更新后的位置Pij(t+1)差于未更新的Pij(t),則引入一次變異操作,從而避免算法陷入局部最優(yōu)。
1.3 構(gòu)建日最高氣溫預(yù)測模型
考慮到BP神經(jīng)網(wǎng)絡(luò)在氣象預(yù)測中的廣泛應(yīng)用,所以本文將采用傳統(tǒng)的BP神經(jīng)網(wǎng)絡(luò)預(yù)測模型。但是傳統(tǒng)的BP神經(jīng)網(wǎng)絡(luò)模型還是存在諸如收斂速度慢,容易陷入局部最優(yōu)等缺點。所以,本文將引入改進的PSO算法,利用改進的PSO算法兩次優(yōu)化BP神經(jīng)網(wǎng)絡(luò),即第一次優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的初始參數(shù),第二次優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的預(yù)測結(jié)果值,來克服傳統(tǒng)的BP神經(jīng)網(wǎng)絡(luò)的一些缺點,提高模型的預(yù)測準(zhǔn)確性和預(yù)測的穩(wěn)定性。具體步驟:1)確定模型的輸入層和輸出層的節(jié)點個數(shù)I和O,本文模型的輸入層和輸出層節(jié)點個數(shù)為3和1,然后,根據(jù)經(jīng)驗公式,多次模擬測試,計算出該模型隱藏層的最佳節(jié)點個數(shù)H,經(jīng)過多次實驗,本文確定了模型的隱藏層節(jié)點個數(shù)為4;2)對于I-H-O的三層BP神經(jīng)網(wǎng)絡(luò),確定PSO算法中的粒子維度為I*H+H*O+H+O,并根據(jù)神經(jīng)網(wǎng)絡(luò)的誤差平方和作為PSO算法的適應(yīng)度函數(shù),通過多次迭代,尋找到模型的最佳參數(shù);3)在2)基礎(chǔ)上構(gòu)建的模型,經(jīng)過8次預(yù)測,獲得8份不同的預(yù)測值,再使用PSO算法,對這些值進行函數(shù)擬合,構(gòu)建一個擬合函數(shù),最終構(gòu)建了本文的D-PSO-BP兩次優(yōu)化后的預(yù)測模型。
2 實際應(yīng)用
2.1 數(shù)據(jù)來源
本文使用的氣溫樣本數(shù)據(jù)選取蕪湖縣1986年1月1日至2017年12月31日的日最高氣溫數(shù)據(jù),來源于美國國家海洋和大氣管理局(National Oceanic and Atmospheric Administration,NOAA)。此外,對于氣溫樣本數(shù)據(jù),本文做了如下處理:首先,將1986-2017年的日最高氣溫數(shù)據(jù),共計11680個樣本數(shù)據(jù),進行劃分,取1986-2016這31年的樣本數(shù)據(jù)作為訓(xùn)練集,2017年的數(shù)據(jù)作為測試集,并對數(shù)據(jù)進行歸一化處理;其次,對于極端氣溫的預(yù)測,本文將采用窗口數(shù)目為3的滑動窗口,進行預(yù)測,公式為 X(t+3) = f( X(t) , X(t+1) , X(t+2) ),即通過t、t+1、t+2時刻的數(shù)據(jù)來預(yù)測t+3時刻的數(shù)據(jù)。
2.2 實驗環(huán)境
實驗環(huán)境:以MATLAB作為實驗開發(fā)軟件,編寫PSO優(yōu)化算法、BP神經(jīng)網(wǎng)絡(luò)模型等MATLAB程序。
2.3 性能評價指標(biāo)
為了更好地評估改進的預(yù)測模型對日最高氣溫的預(yù)測效果,本文將采用RMSE(均方根誤差)、MAE(平均絕對誤差)、R2(相關(guān)系數(shù))這3個指標(biāo)作為預(yù)測模型的評價準(zhǔn)則。
2.4 預(yù)測模型的驗證分析
本文采用1986年-2016年安徽省蕪湖縣共31年的日最高氣溫數(shù)據(jù)作為預(yù)測模型的訓(xùn)練數(shù)據(jù)集,并使用訓(xùn)練好的預(yù)測模型對安徽省蕪湖縣2017年全年日最高氣溫的數(shù)據(jù)進行預(yù)測。具體來說,首先基于機器學(xué)習(xí)理論建立三層BP神經(jīng)網(wǎng)絡(luò)模型,即輸入層、隱藏層、輸出層,節(jié)點個數(shù)分別設(shè)置為3、4、1,學(xué)習(xí)率設(shè)置為0.01,迭代次數(shù)設(shè)置為200,激活函數(shù)選擇sigmoid函數(shù)。此外,為了更好地比較引入PSO算法前后的預(yù)測效果,本文分別建立了改進的D-PSO-BP預(yù)測模型和未改進的傳統(tǒng)的BP網(wǎng)絡(luò)預(yù)測模型,通過比較,證明了改進的D-PSO-BP預(yù)測模型預(yù)測準(zhǔn)確性和穩(wěn)定性都有所提高。利用以上參數(shù)設(shè)置規(guī)則,建立日最高氣溫預(yù)測模型,對安徽省蕪湖縣2017年全年日最高氣溫數(shù)據(jù)進行預(yù)測,其預(yù)測結(jié)果如下所示:
由表1和圖2可以看出,采用改進的PSO算法優(yōu)化的BP神經(jīng)網(wǎng)絡(luò)和傳統(tǒng)的BP神經(jīng)網(wǎng)絡(luò)建立了兩種氣溫預(yù)測模型,通過對比兩種模型的均方誤差值、平均絕對誤差值和相關(guān)系數(shù)可知,采用改進的PSO算法優(yōu)化的BP神經(jīng)網(wǎng)絡(luò)預(yù)測模型的預(yù)測效果明顯優(yōu)于傳統(tǒng)的BP神經(jīng)網(wǎng)絡(luò)模型。
3 結(jié)論
本文通過改進的PSO算法兩次優(yōu)化BP神經(jīng)網(wǎng)絡(luò)模型,構(gòu)建了D-PSO-BP預(yù)測模型,并將其應(yīng)用于安徽省蕪湖縣2017年日最高氣溫的數(shù)據(jù)預(yù)測。通過與未改進的傳統(tǒng)的BP神經(jīng)網(wǎng)絡(luò)模型進行比較,實驗結(jié)果表明:改進的D-PSO-BP預(yù)測模型,在預(yù)測準(zhǔn)確性和預(yù)測穩(wěn)定性上比傳統(tǒng)預(yù)測模型更好些。
參考文獻:
[1] 陳廣.基于改進PSO-RBF神經(jīng)網(wǎng)絡(luò)的氣溫預(yù)測模型[D].蘭州大學(xué),2015.
[2] 閉祖良,張展羽,朱新國,等.基于RBF神經(jīng)網(wǎng)絡(luò)馬爾可夫模型的降水量預(yù)測[J].節(jié)水灌溉,2010(11):1-3+10.
[3] 苗春生,段婧,徐春芳.人工神經(jīng)網(wǎng)絡(luò)方法在短期天氣預(yù)報中的應(yīng)用[J].江南大學(xué)學(xué)報(自然科學(xué)版),2007(6):648-653.
[4] 牛志娟,胡紅萍.基于主成分分析的BP神經(jīng)網(wǎng)絡(luò)和RBF神經(jīng)網(wǎng)絡(luò)月平均氣溫預(yù)測模型[J].高師理科學(xué)刊,2015,35(11):6-8.
[5] 薛宇峰,楊超梅.基于卡爾曼濾波的神經(jīng)網(wǎng)絡(luò)月平均氣溫預(yù)測模型[J].四川氣象,2005(4):4-6.
[6] 曹曉宇,佘昊龍,趙桓鋒.灰色-BP神經(jīng)網(wǎng)絡(luò)模型預(yù)測區(qū)域氣溫[J].無線互聯(lián)科技,2012(7):218.
[7] 滕少華,樊繼慧,陳瀟,等.SVM多分類器協(xié)同挖掘局域氣象數(shù)據(jù)[J].廣西大學(xué)學(xué)報(自然科學(xué)版),2014,39(5):1131-1137.
[8] 王軍,費凱,程勇.基于改進的Adaboost-BP模型在降水中的預(yù)測[J].計算機應(yīng)用,2017,37(9):2689-2693.
[9] 李瑩.灰色預(yù)測模型在北京市奧運會期間降水過程預(yù)測中的應(yīng)用[A]. 中國氣象學(xué)會.第34屆中國氣象學(xué)會年會 S6 東亞氣候多時間尺度變異機理及氣候預(yù)測論文集[C].中國氣象學(xué)會:,2017:2.
[10] 張嶺.人工神經(jīng)網(wǎng)絡(luò)模型預(yù)測的分析與研究[D]. 南京信息工程大學(xué), 2010.
[11] 李夢歡.人工神經(jīng)網(wǎng)絡(luò)結(jié)合智能算法在結(jié)構(gòu)優(yōu)化中的應(yīng)用[D].廣州大學(xué),2016.
[12] Kenedy J,Eberhart R. Particle Swarm Optimization[R].In:Proc. IEEEIntl.Conf. on Neural Networks,IV,Piscataway,NJ:IEEE Service Center.1995.
【通聯(lián)編輯:梁書】