趙奕昕,李 薇,朱家明
(1.南京師范大學(xué) 電氣與自動化工程學(xué)院,江蘇 南京 210023;2.南京師范大學(xué) 數(shù)學(xué)科學(xué)學(xué)院,江蘇 南京 210023;3.安徽財經(jīng)大學(xué) 統(tǒng)計與應(yīng)用數(shù)學(xué)學(xué)院,安徽 蚌埠 233000)
近兩年來,河南、陜西、湖北等地遇到了極為罕見的強降雨天氣,對當(dāng)?shù)厝嗣竦纳拓敭a(chǎn)安全構(gòu)成了嚴(yán)重威脅,嚴(yán)重影響了生產(chǎn)和生活。以鄭州市為例,2021 年7 月18 日18:00 到21 日0:00,出現(xiàn)暴雨和特大暴雨,累計平均降水量為449 毫米。相關(guān)研究顯示,在全球氣候變暖的背景下,我國未來降水的數(shù)量、強度、頻率和類型都將受到影響。預(yù)計在本世紀(jì)末,降水量將增加約10%,極端降水的概率將大幅增加。由于我國幅員遼闊,在各種類型地形和地貌的綜合影響下,不同城市的降水特征呈現(xiàn)出不同的特點。因此,當(dāng)務(wù)之急是建立一個可以通過不同天氣特征變量來預(yù)測潛在極端降水事件的定量預(yù)測模型。對于降雨量的預(yù)測有多種方法[1-3],本文選擇基于神經(jīng)網(wǎng)絡(luò)對降水量進(jìn)行定量預(yù)測。
數(shù)據(jù)來源于2021 年第七屆數(shù)維杯國際大學(xué)生數(shù)學(xué)建模挑戰(zhàn)賽B 題。其中,鄭州市近10 年的氣象數(shù)據(jù)由題目提供,南京市、太原市、北京市、上海市和廣州市近10 年每隔3 小時的氣象數(shù)據(jù)來源于世界天氣數(shù)據(jù)網(wǎng)站https://rp5.ru 和《中國統(tǒng)計年鑒》。為便于解決問題,提出以下兩條假設(shè):(1)假設(shè)剔除所給數(shù)據(jù)中的部分損壞或無關(guān)數(shù)據(jù)對模型研究不產(chǎn)生影響;(2)假設(shè)對于其他未提及的分子描述變量或因素,不影響模型研究。
由于所下載天氣數(shù)據(jù)集是5 個城市近10 年每隔3 小時的氣象數(shù)據(jù),并且每個城市某一時刻的降水量與49 個不同的氣象特征(如:大氣濕度、大氣壓、風(fēng)速、能見度等)有關(guān),若將每一時刻的降水量和49 個變量全部導(dǎo)入神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,模型維度過高,將導(dǎo)致訓(xùn)練速度慢,訓(xùn)練效率低下。因此,需要對49 個氣象特征變量進(jìn)行選擇,篩選出前7 個對降水量具有顯著影響的氣象特征變量。首先,對數(shù)據(jù)進(jìn)行預(yù)處理,剔除數(shù)據(jù)缺失或無變化的氣象特征變量。然后,采用皮爾遜相關(guān)系數(shù)(Pearson correlation coefficient)法建立反映變量之間相關(guān)關(guān)系密切程度的模型,展示不同氣象特征變量對降水量的影響強度,取降水量與預(yù)處理篩選出來的氣象特征變量進(jìn)行相關(guān)性分析,得到降水量與各氣象特征變量之間的相關(guān)系數(shù),進(jìn)而對相關(guān)系數(shù)的絕對值進(jìn)行排序,取排名前7 名的變量,即對降水量最具影響的前7 個氣象特征變量,有利于減少數(shù)據(jù)冗余,提高神經(jīng)網(wǎng)絡(luò)運算效率。
2.2.1 數(shù)據(jù)預(yù)處理 通過觀察5 個城市近10 年每隔3 小時的氣象數(shù)據(jù)表格,發(fā)現(xiàn)在49 個氣象特征變量中,部分變量數(shù)據(jù)缺失或變量值均為999.9,雖然數(shù)據(jù)缺失或均為同一數(shù)值并非沒有實際意義,有可能是該變量無法觀測,但顯然對降水量的影響程度較低,為減少后續(xù)計算量,先將這些變量剔除,可視作這些氣象特征變量對降水量幾乎無影響。同時,對沒有降水量數(shù)據(jù)的時間點,刪去氣象數(shù)據(jù)。因此,后續(xù)只需對余下的38 個氣象特征變量進(jìn)行排序篩選。
2.2.2 皮爾遜相關(guān)系數(shù)分析 皮爾遜相關(guān)系數(shù)可用于度量兩個變量之間的相關(guān)程度[4],本文采用皮爾遜相關(guān)系數(shù)來描述不同氣象特征變量與當(dāng)前時刻降水量的相關(guān)性。本文的天氣數(shù)據(jù)是5 個城市近10 年每隔3 小時的氣象數(shù)據(jù),樣本容量近30 000 個,結(jié)果具有一定的普遍性,可以運用相關(guān)系數(shù)判斷其相關(guān)性。
用MATLAB 軟件計算38 個氣象特征變量與降水量值的皮爾遜相關(guān)系數(shù),并對計算結(jié)果的絕對值進(jìn)行排序,得出前7 個對降水量最具有影響的氣象特征變量,變量篩選結(jié)果與各變量含義見表1。

表1 前7 個對降水量最具影響的氣象特征變量Tab.1 Top 7 most influential meteorological characteristic variables on precipitation
上述7 個氣象特征變量與降水量的相關(guān)系數(shù)熱力矩陣圖如圖1 所示(其中,RRR為降水量)。

圖1 相關(guān)矩陣熱力圖Fig.1 The map of related matrix heat
根據(jù)降水量(因變量)與7 個氣象特征變量(自變量)之間的對應(yīng)關(guān)系,通過神經(jīng)網(wǎng)絡(luò)模型來擬合這種非線性邏輯關(guān)系,構(gòu)建某一時刻降水量的定量預(yù)測模型。將經(jīng)過處理的5 個城市近10 年的氣象數(shù)據(jù)導(dǎo)入MATLAB 軟件,構(gòu)建神經(jīng)網(wǎng)絡(luò)模型,建立7 個自變量與1 個因變量之間的非線性關(guān)系。通過多次訓(xùn)練與優(yōu)化,生成能根據(jù)氣象特征變量準(zhǔn)確預(yù)測降水量的定量預(yù)測模型。
3.2.1 BP 神經(jīng)網(wǎng)絡(luò) 人工神經(jīng)網(wǎng)絡(luò)(artificial neural networks,ANN)是由大量的處理單元(神經(jīng)元,neurons)廣泛互聯(lián)而成的網(wǎng)絡(luò),是對大腦的抽象、簡化和模擬,反映人腦的基本特性,適合處理非線性擬合問題。它是由簡單的處理單元所組成的大量并行分布的處理機,這種處理機具有儲存和應(yīng)用經(jīng)驗知識的自然特性,它與人腦的相似之處可概括兩個方面:一是通過學(xué)習(xí)過程利用神經(jīng)網(wǎng)絡(luò)從外部環(huán)境中獲取知識;二是內(nèi)部神經(jīng)元用來存儲獲取的知識信息[5-6]。
使用誤差反向傳播算法(BP 算法)訓(xùn)練的神經(jīng)網(wǎng)絡(luò),稱之為BP 神經(jīng)網(wǎng)絡(luò),1986 年由Rumelhart 和McClelland 為首的科學(xué)家提出的概念,是一種按照誤差逆向傳播算法訓(xùn)練的多層前饋神經(jīng)網(wǎng)絡(luò),是應(yīng)用最廣泛的神經(jīng)網(wǎng)絡(luò)之一。在人工神經(jīng)網(wǎng)絡(luò)的實際應(yīng)用中,BP 網(wǎng)絡(luò)廣泛應(yīng)用于函數(shù)逼近、模式識別/分類、數(shù)據(jù)壓縮等,80% 左右的人工神經(jīng)網(wǎng)絡(luò)模型采用BP 網(wǎng)絡(luò)或它的變化形式。
應(yīng)用BP 神經(jīng)網(wǎng)絡(luò)進(jìn)行建模時,模型輸入可以表示為xj(t) (j=1,2,…,N),其中j表示輸入量離散后的下標(biāo),N為離散量的總數(shù);模型輸出可以表示為tj(t) (j=1,2,…,N),其中j表示輸出量離散后的下標(biāo)。對于降水量與7 個氣象學(xué)變量之間的關(guān)系來說,模型的輸入是7 個氣象學(xué)變量值,模型的輸出是對應(yīng)降水量大小,需要注意的是模型的輸入輸出是嚴(yán)格對應(yīng)的。
BP 神經(jīng)網(wǎng)絡(luò)為三層結(jié)構(gòu)(圖2),分別為輸入層、隱含層、輸出層。每一層神經(jīng)元的個數(shù)可以不相同,輸入層神經(jīng)元與隱含層神經(jīng)元之間有輸入層權(quán)重w和隱含層偏置b連接,隱含層神經(jīng)元與輸出層神經(jīng)元之間有輸出層權(quán)重和輸出層偏置的連接。

圖2 BP 神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)圖Fig.2 The structure of BP neural network
對于任意N個離散的訓(xùn)練數(shù)據(jù),具有L個隱含層神經(jīng)元的單隱含層BP 神經(jīng)網(wǎng)絡(luò)為

其中:o(t)為網(wǎng)絡(luò)的輸出向量,x(t)為輸入向量,bi(t)為每一個隱含層的偏置;wi(t)和βi(t)分別為輸入層權(quán)重和輸出層權(quán)重。g(·)代表激活函數(shù),G(·) 為激活函數(shù)的詳細(xì)展開,可以選取正弦函數(shù)、S 型函數(shù)、線性函數(shù)和硬限幅函數(shù)等類型函數(shù)。
神經(jīng)網(wǎng)絡(luò)的核心是不斷更新參數(shù)(wi,bi) 和βi使得式(2)得以滿足,即使tj和oj之間的均方差和盡可能小。

3.2.2 基于GA 優(yōu)化的BP 神經(jīng)網(wǎng)絡(luò) 基于BP 神經(jīng)網(wǎng)絡(luò)教師學(xué)習(xí)算法雖然可以穩(wěn)定得到權(quán)值,但學(xué)習(xí)收斂速度較慢,不一定為全局最優(yōu)解,極易陷入局部極小模式。因此,需要對其進(jìn)行優(yōu)化。
遺傳算法(genetic algorithms,GA)是模擬生物在自然環(huán)境中的遺傳和進(jìn)化過程而形成的一種通用性優(yōu)化算法,由John H.Holland 教授提出。作為一種實用、高效、魯棒性強的優(yōu)化算法,其發(fā)展極為迅速,已成功應(yīng)用于各個領(lǐng)域的優(yōu)化問題,引起了國內(nèi)外研究學(xué)者的廣泛關(guān)注。遺傳算法主要特點是群體搜索策略和群體中個體間的信息交換,搜索不依賴梯度信,簡化計算過程[7-10]。
用遺傳算法優(yōu)化BP 神經(jīng)網(wǎng)絡(luò),可對三個方面進(jìn)行優(yōu)化:連接權(quán)值、網(wǎng)絡(luò)結(jié)構(gòu)和學(xué)習(xí)規(guī)則。目前使用GA 進(jìn)行BP 神經(jīng)網(wǎng)絡(luò)的優(yōu)化主要是對連接權(quán)值w進(jìn)行最優(yōu)化選擇,主要步驟如下:
(1)對不同結(jié)構(gòu)(不同隱含層節(jié)點數(shù)量、層數(shù))的神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練與測試,選出最優(yōu)神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu);
(2)對最優(yōu)結(jié)構(gòu)的神經(jīng)網(wǎng)絡(luò)進(jìn)行預(yù)訓(xùn)練一定次數(shù),取得權(quán)值和閾值的取值范圍[Umin,Umax];
(3)初始化遺產(chǎn)算法種群,包括選擇規(guī)模、交叉概率、變異概率及初始權(quán)值;
(4)計算種群中每一個個體的適應(yīng)度值,并將其排序;
(5)進(jìn)行染色體選擇、交叉、變異,形成下一代種群;
(6)重新計算適應(yīng)度值,判斷最優(yōu)個體是否滿足終止進(jìn)化的條件,若滿足,則停止迭代并輸出結(jié)果;否則,返回步驟4;
(7)更新BP 神經(jīng)網(wǎng)絡(luò)權(quán)值閾值,訓(xùn)練神經(jīng)網(wǎng)絡(luò)模型。
因此,結(jié)合遺傳算法和BP 神經(jīng)網(wǎng)絡(luò)可以對網(wǎng)絡(luò)初始的權(quán)值和閾值進(jìn)行一定程度的優(yōu)化處理,改進(jìn)BP神經(jīng)網(wǎng)絡(luò)對初始權(quán)重依賴的問題。GA-BP 神經(jīng)網(wǎng)絡(luò)算法流程圖如圖3 所示。

圖3 GA-BP 算法流程圖Fig.3 Flow chart of GA-BP algorithm
將數(shù)據(jù)中的降水量數(shù)值和7 個相關(guān)氣象特征變量數(shù)值U、Ff、Td、P0、P、VV和T一同導(dǎo)入MATLAB,訓(xùn)練BP 神經(jīng)網(wǎng)絡(luò)模型,進(jìn)行多次訓(xùn)練并通過比較擬合優(yōu)度系數(shù)選出最優(yōu)的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)(圖4)。

圖4 神經(jīng)網(wǎng)絡(luò)模型簡化圖Fig.4 Simplified diagram of neural network model
如圖4 所示,當(dāng)隱含層數(shù)量設(shè)置為10,且為單隱含層時,BP 神經(jīng)網(wǎng)絡(luò)擬合效果最好,該訓(xùn)練模型有7 個輸入變量與1 個對應(yīng)的輸出變量。其中,設(shè)置BP 神經(jīng)網(wǎng)絡(luò)最大訓(xùn)練次數(shù)設(shè)置為1 000,學(xué)習(xí)率設(shè)置為1e-3,訓(xùn)練目標(biāo)設(shè)置為1e-6,輸入層到隱含層傳遞函數(shù)使用雙極性傳輸函數(shù)tansig,隱含層到輸出層傳遞函數(shù)使用線性函數(shù)purelin,訓(xùn)練算法選擇L-M(Levenberg-Marquardt)算法。將此BP 神經(jīng)網(wǎng)絡(luò)模型應(yīng)用GA 算法進(jìn)行進(jìn)一步優(yōu)化,得出最優(yōu)權(quán)值閾值,再次進(jìn)行訓(xùn)練。
將后100 組數(shù)據(jù)作為測試集,該GA-BP 神經(jīng)網(wǎng)絡(luò)模型對測試樣本的預(yù)測結(jié)果如圖5 所示。

圖5 對后100 個數(shù)據(jù)的預(yù)測結(jié)果Fig.5 Prediction results for the last 100 data
對測試集樣本預(yù)測結(jié)果的擬合優(yōu)度參數(shù)見表2。從表2 可知,該模型對測試集100 組數(shù)據(jù)的預(yù)測效果良好,確定系數(shù)R2達(dá)0.527。該GA-BP 神經(jīng)網(wǎng)絡(luò)模型對訓(xùn)練集數(shù)據(jù)的擬合情況如圖6 所示。從圖6可以看出,該神經(jīng)網(wǎng)絡(luò)模型對降水量大小的預(yù)測較為準(zhǔn)確,能正確反應(yīng)降水量的周期性變化規(guī)律,可用于城市降水量的預(yù)測。

圖6 對訓(xùn)練集數(shù)據(jù)的擬合Fig.6 Fitting to the training data

表2 擬合優(yōu)度參數(shù)Tab.2 Goodness-of-fit parameters
以鄭州市2021 年7 月份為例,將鄭州市2021 年7 月1 日至2021年7 月31 日的天氣數(shù)據(jù)中,7 個相關(guān)變量T、P0、P、U、Ff、VV和Td導(dǎo)入MATLAB,利用上述GA-BP 神經(jīng)網(wǎng)絡(luò)模型對降水量進(jìn)行預(yù)測,結(jié)果如圖7 所示。

圖7 鄭州市2021 年7 月降水量預(yù)測結(jié)果Fig.7 Precipitation forecast results for July 2021 in Zhengzhou
從圖7 可以看出,該模型能較為準(zhǔn)確地預(yù)測鄭州市2021 年7 月18 日到21 日的降水量猛增情況,對無降雨或降水量較少的天氣也能較精確地預(yù)測。因此,該模型能夠較為準(zhǔn)確地預(yù)測極端降水天氣,對極端降水預(yù)測和提前防范洪澇災(zāi)害具有重要意義。
本文從南京市、太原市、北京市、上海市和廣州市最近10 年的歷史氣象數(shù)據(jù)出發(fā),采用皮爾遜相關(guān)系數(shù)法對每個城市年降水量與多個氣象特征變量進(jìn)行相關(guān)性分析,通過計算皮爾遜相關(guān)系數(shù)的絕對值,篩選出了前7 個對降水量最具有影響的氣象特征變量。使用GA-BP 神經(jīng)網(wǎng)絡(luò)構(gòu)建了7 個氣象特征變量與降水量之間的非線性關(guān)系,通過訓(xùn)練得到了一個神經(jīng)網(wǎng)絡(luò)定量預(yù)測模型。以鄭州市2021 年7 月份為例,利用訓(xùn)練得到的神經(jīng)網(wǎng)絡(luò)模型對降水量進(jìn)行預(yù)測,結(jié)果顯示該模型能較為準(zhǔn)確地預(yù)測極端降水天氣。對于重點城市的極端降水天氣的預(yù)測與提前防范洪澇災(zāi)害具有重要意義和參考價值,同時,也可應(yīng)用于氣象數(shù)據(jù)分析時缺失值的精準(zhǔn)補全。