魏爽,王麗吉,吳書成,魯奕岑
(浙江省氣象信息網絡中心,杭州310017)
隨著全球氣溫的升高,氣候變化已經引起人們的普遍關注。由于影響氣溫變化的機制和因素十分復雜,長期氣溫預報主要依靠的統計預報方法對復雜變化過程的擬合有較大局限性,所以預測的準確率難以令人滿意。人工神經網絡模型結構靈活并具有模擬非線性關系的能力,因而在氣象等領域有較廣泛的應用。嚴紹瑾等人[1]利用神經網絡BP 型多映射模式對月平均溫度進行了預測,馬學款等人[2]也利用BP(Back-Propagation)型神經網絡對西藏中短期極端溫度預測方法進行了研究。
近年來,氣象預測研究中經常采用BP 型網絡,由于其所用的梯度下降方法容易造成收斂速度慢和局部極小的不足,采用能逼近任意精度的RBF 神經網絡作為預測模型,克服BP 網絡函數值的不緊密性,使收斂速度大大加快,并嘗試利用基于遺傳操作的粒子群算法優化RBF 網絡的關鍵參數,通過增加交叉、變異操作,擴大了粒子群的搜索范圍,能夠避免粒子群早熟現象。應用該方法對月平均溫度進行預測實驗,通過實驗結果說明算法的有效性。
RBF 神經網絡[3-4]是具有三層結構的前向型神經網絡。考慮采用Gaussian 型徑向基函數,對于給定輸入向量x∈Rn×1,RBF 網絡將其映射到輸出向量y∈Rm×1,此時網絡輸出定義為:

其中,ci為隱含層第i 個基函數的中心;‖·‖為歐氏范數;σ為函數的基寬度;wi為第i 個隱節點至輸出的連接權值;h 為隱層單元數。
在徑向基函數網絡中,需要優化確定的關鍵參數[5]有兩類:①基函數的中心ci和基寬度σ;②隱層與輸出層間的連接權值wi。
粒子群算法[6]是一種基于種群搜索的自適應進化計算技術。其思想是受鳥類群體行為研究結果的啟發,用組織社會行為代替了進化算法的自然選擇機制,通過種群間個體協作來實現對問題最優解的搜索。
假設搜索空間為N 維,第i 個粒子在N 維空間的位置表示為xi=(xi1,xi2,…,xiN),飛行速度為vi=(vi1,vi2,…,viN),每個粒子都有一個由被優化目標函數決定的適應值(Fitness value),各個粒子記憶、追隨當前的最優粒子,在解空間中搜索。每一次迭代中,粒子通過跟蹤兩個“極值”來更新自己:第一個是粒子自身搜索到的最優解,叫做個體極值點,用pbest表示;另一個是目前整個群體所發現的最優解,叫做全局極值點,用gbest表示。
每個粒子的速度和位置按式(2)、式(3)進行迭代修改:

其中,w 為慣性權重;r1、r2是均勻分布在[0,1]的兩個隨機數;c1、c2為學習因子;k 為迭代次數。
實際應用中,PSO 算法容易陷入局部最優點,導致得不到全局最優解。其原因是PSO 算法容易喪失種群多樣性,致使群體中的大部分個體聚集在一個很小的范圍內,從而失去了大范圍搜索的能力。因此,在PSO算法的基礎上結合遺傳操作[7],可以使種群多樣性不致喪失過快或始終保持一定的多樣性水平,當算法陷入局部最優時,使之能夠跳出局部最優點,有利于算法的全局搜索,并且可以提高搜索精度。
現在設置遺傳操作觸發的條件為:當算法未達到總迭代次數M,若連續t 次迭代,得到的最優解都不改變,則認為算法陷入局部最優點,此時觸發遺傳操作,具體如下:
(1)選擇:采用隨機競爭選擇方式[8]。先計算出適應度值,然后采用輪盤賭方法選出染色體對,通過染色體對之間的比較,選出高適應度值的個體進入交配池。
(2)交叉:根據染色體結構,采用算術交叉方法[8],保證產生的子代均在可行區域內。假設X1和X2為要進行交叉父代個體,則交叉后的子代個體如式(4)。

其中r∈[0,1]。
(3)變異:采用均勻變異[9],使搜索點可以在整個搜索空間內自由的移動,從而增加種群多樣性。假設個體X=x1x2…xk…xl,xk為變異點,取值范圍為新個體為X=x1x2…xk'…xl,則新基因值如式(5),其中r'∈[0,1]的一個隨機數。

(4)交叉和變異概率的選擇:為了防止算法不能收斂或收斂過程過長,應設定交叉概率隨著迭代次數逐漸變小,最后趨于某一穩定值,同時使變異概率逐漸變大,防止個體出現未成熟收斂的情況。所以采用基于捕食搜索策略[10]的遺傳算法,使交叉概率pc和變異概率pm隨著進化代數動態改變。

其中,k 為迭代次數,M 為總迭代次數,pcmax、pcmin分別為最大、最小交叉概率;pmmax、pmmin分別為最大、最小變異概率。
傳統的RBF 網絡學習算法[11]對RBF 參數的設置是基于參數空間局部信息的,不是參數空間的全局最優。為獲得具有最優結構的RBF 網絡,提出一種基于PSO-GA 混合優化的RBF 網絡算法。
首先確定神經網絡的結構:輸入層為n 個輸入,隱層單元數為h,輸出層為m 個神經元。對粒子群的位置向量xi進行實數編碼,一個編碼代表一個可行解,分別按行展開,結構如式(7)。

然后利用PSO-GA 混合算法搜索最優位置,適應度函數采用平均絕對誤差(Mean Absolute Error,MAE)公式加上1 的倒數,即:

其中,N 為訓練樣本總數,yi為理想輸出值,yi'為實際輸出值。適應度函數值越大,表示預測效果越好。表1 給出了實驗初始化參數。

表1 初始化參數表
(1)初始化參數。給定粒子群規模S,隱層單元數h,迭代計數器t 和總迭代次數M。
(2)初始化粒子群。設定學習因子c1,c2,慣性權重w,隨機產生規模為S 的粒子群和每個粒子的初始速度vi,對每個粒子位置采用式(7)結構進行編碼。
(3)用式(2)和式(3)對每個粒子的速度和位置進行更新,產生下一代粒子群。
(4)對每個粒子,根據式(8)求出每個粒子適應度值,并更新當前個體極值pbest和全局極值gbest。
(5)檢查是否陷入局部最優,若陷入則觸發遺傳操作,否則轉向步驟(6)。
(6)判斷是否達到總迭代次數,若是則輸出最優粒子位置編碼。否則轉向步驟(3)。
(7)用梯度下降法進一步修正最優粒子編碼,再將得到的基函數的中心ci、基寬度σ和輸出層與隱層間的連接權值wi代入RBF 網絡中,得到月平均氣溫預測序列。
算法流程圖如圖1 所示。

圖1 基于PSO-GA混合優化RBF神經網絡流程圖
為驗證混合算法在預測應用中的性能,選用浙江省杭州站1985~2018 年月平均氣溫資料,以1985~2014 年30 年的數據作為訓練數據,用以預測2015~2017 年的月平均氣溫,并利用平均絕對百分比誤差(MAPE)和均方誤差(RMSE)2 個統計指標將預測值與實況值進行比較,以分析預測的準確程度。
將多年月平均溫度看成是一個離散的時間序列y(t),認為每一時間點的數據值與此前n 個時間值有關(n 稱為時延或時滯),即有一函數F,使時間序列y(t)滿足

為了確定參數n 的值,以30 年的訓練數據為基礎,初步限定時延窗口在3~7 的范圍內,進行重復迭代訓練得到平均絕對誤差MAE,如表2 所示。其中,最小的平均絕對誤差是1.12,因此選取時延n=6,即以過去的6 個值來預測當前值。

表2 不同輸入參數得到的MAE 值
將樣本按前述劃分方法分為訓練集和測試集,得到2015~2017 年各月平均氣溫預測值,并與標準的RBF 網絡和BP 網絡同期對應的預測結果進行比較,將月尺度的預測值按時間順序連成一條曲線,由圖2 可見,混合優化RBF 網絡模型預測結果比傳統神經網絡對實況溫度擬合效果更好,預測的溫度變化趨勢和相位與實際情況更一致。

圖2 2015~2017年各月平均氣溫實測及預測值對比
計算三種網絡模型對2015~2017 年3 年月平均溫度預測的統計指標值(表3)。可見,混合優化的RBF網絡模型各種誤差整體上比傳統的RBF 和BP 網絡模型相應的誤差值更小。表明混合優化的RBF 網絡模型對南京站月平均氣溫的擬合預測效果是理想的。
為了檢驗基于PSO-GA 混合優化的RBF 網絡模型的預測能力和穩定性,對2018 年1~12 月進行了逐月平均氣溫預測。如圖3。三種模型都比較成功的預測了2018 年月平均溫度的變化趨勢,同樣進行誤差分析,如表4 所示。混合優化的RBF 網絡模型預測的各種誤差仍然很小,平均絕對誤差比傳統的RBF 和BP網絡模型分別小了6.44%和7.65%,均方誤差同樣小了0.64℃和1.03℃。

表3 2015~2017 年三種模型月平均氣溫預測指數對比
為了檢驗基于PSO-GA 混合優化的RBF 網絡模型的預測能力和穩定性,對2018 年1~12 月進行了逐月平均氣溫預測。如圖3。三種模型都比較成功的預測了2018 年月平均溫度的變化趨勢,同樣進行誤差分析,如表4 所示。混合優化的RBF 網絡模型預測的各種誤差仍然很小,平均絕對誤差比傳統的RBF 和BP網絡模型分別小了6.44%和7.65%,均方誤差同樣小了0.64℃和1.03℃。

圖3 2018年1~12月各月平均氣溫預測值與實測值對比
最后,對浙江省溫州、奉化、麗水3 個站點2018 年1~12 月月平均氣溫利用上述方法建模,如表5 所示。結果同樣表明,混合優化的RBF 網絡模型在預測精度上仍優于標準的RBF 和BP 網絡模型,具有普遍的適用性。

表4 2018 年1~12 月三種模型預測值及預測指數對比

表5 2018 年1~12 月三種模型預測指數對比
為解決傳統的RBF 網絡學習算法對關鍵參數的設置基于空間局部信息的不足這一問題,提出一種基于遺傳操作的粒子群混合優化的RBF 網絡預測算法,通過增加選擇、交叉和變異操作,融合PSO 與GA 兩者的優勢,從而避免了PSO 早熟現象。實驗證明,與傳統的RBF 和BP 網絡模型相比,混合優化的RBF 網絡模型預測的溫度變化趨勢和相位與實際情況更一致,具有預報精度高,預測能力穩定等特點,可以為短期氣候預測提供借鑒和參考。