焦國(guó)梅
(甘肅省武威水文水資源勘測(cè)局,甘肅 武威 733000)
由于我國(guó)水資源短缺的現(xiàn)狀,現(xiàn)如今國(guó)內(nèi)相關(guān)用水管理部門急需找出合理的方法對(duì)水文變量進(jìn)行模擬,以期為水資源管理辦法及相關(guān)政策制定提供依據(jù)[1- 2]。徑流作為水資源優(yōu)化配置、防旱減災(zāi)措施制定的主要依據(jù)之一,其精確預(yù)報(bào)對(duì)區(qū)域水資源供需平衡發(fā)展具有十分重要的意義。已有研究表明,影響徑流變化的主要因素包括氣象因素、人類活動(dòng)和下墊面變化3大類[3- 4],可將長(zhǎng)時(shí)間徑流序列看作是由不同頻率組成的非線性非平穩(wěn)序列[5- 6]。傳統(tǒng)的水文模擬方法主要包括時(shí)間序列法[7]、多元線性回歸法[8]、組合回歸法[9]等,這些方法操作簡(jiǎn)單,在一定條件下可對(duì)徑流進(jìn)行模擬,但由于要求的條件過高,導(dǎo)致精度無法滿足日常工作的需要。
隨著計(jì)算機(jī)技術(shù)的不斷發(fā)展,神經(jīng)網(wǎng)絡(luò)模型能從復(fù)雜的數(shù)據(jù)中自動(dòng)發(fā)現(xiàn)規(guī)律、學(xué)習(xí)規(guī)律,并通過數(shù)據(jù)訓(xùn)練對(duì)數(shù)據(jù)進(jìn)行模擬,已被逐漸廣泛應(yīng)用于數(shù)據(jù)模擬與預(yù)測(cè)中。常用的神經(jīng)網(wǎng)絡(luò)模型包括BP神經(jīng)網(wǎng)絡(luò)模型、小波神經(jīng)網(wǎng)絡(luò)模型、廣義回歸神經(jīng)網(wǎng)絡(luò)模型等[10],不同模型在不同區(qū)域的精度及訓(xùn)練時(shí)間不同,因此需找出合理的方法對(duì)傳統(tǒng)神經(jīng)網(wǎng)絡(luò)模型進(jìn)行優(yōu)化,進(jìn)一步提高模型精度。崔東文[11]基于多組群教學(xué)優(yōu)化神經(jīng)網(wǎng)絡(luò)算法建立了水文預(yù)測(cè)模型,指出該模型的計(jì)算精度優(yōu)于傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)模型;何國(guó)棟等[12]基于陰陽對(duì)算法優(yōu)化的隨機(jī)森林及支持向量機(jī)的組合模型建立了徑流預(yù)測(cè)模型,指出該模型對(duì)數(shù)據(jù)訓(xùn)練、檢驗(yàn)和預(yù)測(cè)的平均相對(duì)誤差分別為2.76%、4.64%、3.02%,精度較高;李文敬等[13]基于IQPSO優(yōu)化SVM模型構(gòu)建了徑流預(yù)測(cè)模型,指出該算法能夠有效提高月徑流預(yù)報(bào)精度。
誤差反向神經(jīng)網(wǎng)絡(luò)模型(BPNN)是神經(jīng)網(wǎng)絡(luò)算法的基本模型之一,該算法存在收斂速度慢且易產(chǎn)生局部極值的缺點(diǎn),限制了該模型的應(yīng)用。思維進(jìn)化算法(MEA)和遺傳算法(GA)均可用于優(yōu)化BPNN神經(jīng)網(wǎng)絡(luò)模型,已在數(shù)據(jù)預(yù)測(cè)領(lǐng)域得到了廣泛的應(yīng)用[14- 15],但是在徑流模擬中的應(yīng)用較少。本文基于思維進(jìn)化算法(MEA-BPNN)及遺傳算法(GA-BPNN)分別優(yōu)化BPNN模型,采用EEMD 方法將入庫(kù)徑流序列逐級(jí)分解成多個(gè)不同頻率的IMF本征模態(tài)函數(shù),建立徑流預(yù)報(bào)模型。
BPNN神經(jīng)網(wǎng)絡(luò)模型是一種多層反饋的模型,其主要組成部分包括輸入層、隱含層和輸出層3部分,具體原理圖如圖1所示。該模型通過輸入層將變量輸入模型中,通過隱含層確定變量最優(yōu)解,若初始解不滿足要求,則重新進(jìn)行運(yùn)算,直至滿足要求為止。BPNN模型可通過訓(xùn)練變量,得出變量的潛在規(guī)律,從而實(shí)現(xiàn)對(duì)數(shù)據(jù)的模擬及預(yù)測(cè),具體步驟如下。
(1)模型初始化。根據(jù)圖1中的基本原理,確定模型結(jié)構(gòu)的主要參數(shù),其中主要包括:輸入層節(jié)點(diǎn)數(shù)p,輸出層節(jié)點(diǎn)數(shù)m,隱含層節(jié)點(diǎn)數(shù)l及不同數(shù)據(jù)層之間的權(quán)重Wij和Wjk。初始化隱含層閾值a,輸出層閾值b,給定學(xué)習(xí)速率η和神經(jīng)元激勵(lì)函數(shù)f。
(2)輸出計(jì)算。根據(jù)隱含層輸出結(jié)果,確定最終輸出層結(jié)果,具體公式如下:
(1)
式中,Ok—輸出結(jié)果;Hj—隱含層輸出結(jié)果;bk—輸出層閾值。
(3)誤差計(jì)算。根據(jù)模型輸出值與期望輸出值對(duì)比,算出誤差,若誤差滿足要求,則計(jì)算結(jié)束,不滿足要求則重新進(jìn)行計(jì)算。誤差計(jì)算公式如下:
ek=Yk-Ok,k=1,2,……m
(2)
式中,ek—計(jì)算誤差,Yk—期望輸出值。
圖1 BPNN模型原理圖
由于傳統(tǒng)的BPNN模型具有收斂速度慢且易發(fā)生局部極值的缺點(diǎn),導(dǎo)致當(dāng)訓(xùn)練樣本數(shù)量較多時(shí),該模型的精度較低,這極大程度上限制了BPNN模型的使用。GA算法可通過群體搜索技術(shù),基于適者生存的原則找出最優(yōu)解,加快運(yùn)算速率,因此,基于遺傳算法對(duì)BPNN模型進(jìn)行優(yōu)化,可在一定程度上解決BPNN存在的問題,主要流程可分為BPNN模型結(jié)構(gòu)確定、GA算法優(yōu)化計(jì)算權(quán)重及模型輸出3個(gè)部分,具體步驟可見文獻(xiàn)[15]。
隨著研究的逐漸深入,發(fā)現(xiàn)GA算法在運(yùn)算過程中對(duì)變量的輸入具有一定的依賴性,這使得GA算法運(yùn)算效率逐漸無法滿足要求。MEA算法可彌補(bǔ)GA算法的缺點(diǎn),在GA算法的基礎(chǔ)上提出了“趨同”和“異化”的步驟,使得MEA-BPNN模型具有了良好的擴(kuò)充性、移植性和極強(qiáng)的全局優(yōu)化能力,MEA-BPNN模型具體步驟可見文獻(xiàn)[14]。
由于徑流是一個(gè)由不同頻率數(shù)據(jù)組合成的長(zhǎng)時(shí)間序列,因此在預(yù)測(cè)時(shí)需對(duì)數(shù)據(jù)進(jìn)行去噪處理,保證模型計(jì)算精度。EEMD算法可對(duì)輸入數(shù)據(jù)進(jìn)行平滑處理,將復(fù)雜頻率的信號(hào)分解成不同級(jí)別頻率的信號(hào),具體步驟如下。
(1)針對(duì)原始信號(hào)x(t),加入空白信號(hào)y(t),形成新的序列s(t)。
(2)應(yīng)用EEMD算法分解s(t) 序列,最終可得出不同IMF分解層zij(t)和殘余項(xiàng)R(t),具體公式如下:
(3)
(3)重復(fù)上述步驟,得出最大迭代次數(shù)N,計(jì)算IMF分解層均值,消除空白信號(hào)的影響,得出最終分解結(jié)果,具體公式如下:
(4)
(5)
將EEMD算法分解的不同IMF分解層,帶入MEA-BPNN模型及GA-BPNN模型中,分別對(duì)不同時(shí)期徑流進(jìn)行預(yù)測(cè),模型計(jì)算精度指標(biāo)可采用以均方根誤差(RMSE),相對(duì)均方根誤差(RRMSE),確定系數(shù)(R2),平均絕對(duì)誤差(MAE)和效率系數(shù)(Ens)5種指標(biāo)形成評(píng)價(jià)指標(biāo)體系來評(píng)判不同模型的精度,具體公式如下:
(6)
(7)
(8)
(9)
(10)
基于EEMD法對(duì)實(shí)測(cè)徑流量長(zhǎng)時(shí)間序列進(jìn)行分解,可得到IMF分量共7項(xiàng),7項(xiàng)分量由高頻到低頻依次排序,包括1項(xiàng)殘差項(xiàng),結(jié)果如圖2所示。其中,殘差項(xiàng)表示徑流量長(zhǎng)時(shí)間序列的時(shí)間變化趨勢(shì),由殘差項(xiàng)圖可知,徑流量隨時(shí)間的變化呈現(xiàn)逐漸降低的趨勢(shì),這與實(shí)際相符,可將不同IMF分量代入模型中,用于訓(xùn)練與模擬徑流。
對(duì)EEMD方法分解出的8個(gè)徑流序列分量分別使用MEA-BPNN模型、GA-BPNN模型和BPNN模型進(jìn)行模擬,不同分量模擬精度見表1。由表1可以看出,不同模型不同分量的模擬結(jié)果有所不同,其中,隨著IMF分量頻率的降低,不同模型的模擬精度均出現(xiàn)升高的趨勢(shì),同時(shí)MEA-BPNN模型的精度最高,整體精度在訓(xùn)練期RMSE為0.280m3/s,RRMSE為12.56%,R2為0.960,Ens為0.958,MAE為0.210m3/s,預(yù)測(cè)期RMSE為0.330m3/s,RRMSE為15.41%,R2為0.932,Ens為0.931,MAE為0.261m3/s,誤差指標(biāo)最低而一致性指標(biāo)最高,該模型精度最高。
圖2 EEMD分解結(jié)果
圖3為不同模型模擬結(jié)果與徑流量實(shí)測(cè)值月值擬合結(jié)果對(duì)比。由圖3可以看出,不同模型計(jì)算精度雖有所差異,但模擬結(jié)果的變化趨勢(shì)基本一致,在全年內(nèi)均呈現(xiàn)了先升高后降低的豐枯水期交替變化趨勢(shì)。不同模型在汛期計(jì)算結(jié)果要明顯優(yōu)于枯水期,同時(shí)MEA-BPNN模型模擬結(jié)果與實(shí)測(cè)值的擬合性最好。
綜上所述,該模型可作為徑流預(yù)測(cè)的標(biāo)準(zhǔn)模型使用。
表1 BPNN模型 IMF分量及預(yù)報(bào)結(jié)果
表2 GA-BPNN模型 IMF分量及預(yù)報(bào)結(jié)果
表3 MEA-BPNN模型 IMF分量及預(yù)報(bào)結(jié)果
表4 MEA-BPNN模型不同月份不同預(yù)報(bào)方式精度對(duì)比
圖3 不同模型模擬徑流結(jié)果對(duì)比
已有研究表明,不同時(shí)期采用連續(xù)滾動(dòng)預(yù)報(bào)和同期預(yù)報(bào)2種方式所得模擬結(jié)果的精度不同,為找出不同時(shí)期MEA-BPNN模型的最優(yōu)預(yù)報(bào)方式,本文分別對(duì)該模型2種預(yù)報(bào)方式下不同月份的徑流預(yù)測(cè)精度進(jìn)行了對(duì)比,結(jié)果見表4。由表4可以看出,MEA-BPNN模型在不同預(yù)報(bào)方式下均呈現(xiàn)5—10月的豐水期精度高于枯水期,在豐水期,連續(xù)滾動(dòng)預(yù)報(bào)的精度優(yōu)于同期預(yù)報(bào),而11月—次年4月的枯水期同期預(yù)報(bào)精度較優(yōu)。這可能是由于徑流量在豐水期的取值較大,連續(xù)滾動(dòng)預(yù)報(bào)在追求豐水期的精度的同時(shí)忽略了枯水期的貢獻(xiàn)率,同時(shí)豐水期年內(nèi)變化趨勢(shì)較劇烈,而枯水期變化趨勢(shì)較緩。因此,采用MEA-BPNN模型預(yù)測(cè)徑流時(shí),在豐水期采用連續(xù)滾動(dòng)預(yù)報(bào),而在枯水期采用同期預(yù)報(bào),可保證模型擁有最高的精度。
本文基于MEA-BPNN模型構(gòu)建了水文預(yù)測(cè)模型,并與GA-BPNN模型與BPNN模型精度進(jìn)行了對(duì)比,得出以下結(jié)論。
(1)采用EEMD方法對(duì)徑流實(shí)測(cè)序列進(jìn)行分解,得出8項(xiàng)IMF分量,對(duì)不同分量預(yù)測(cè)結(jié)果進(jìn)行對(duì)比,指出頻率越低的分量精度越高,該方法可為模型訓(xùn)練提供數(shù)據(jù)基礎(chǔ)。
(2)不同模型模擬結(jié)果變化趨勢(shì)與實(shí)測(cè)值基本一致,其中MEA-BPNN模型精度最高,同時(shí)在豐水期的預(yù)測(cè)精度要高于枯水期。
(3)不同時(shí)期基于連續(xù)滾動(dòng)預(yù)報(bào)和同期預(yù)報(bào)2種方式的MEA-BPNN模型預(yù)測(cè)精度有所區(qū)別,其中在豐水期采用連續(xù)滾動(dòng)預(yù)報(bào),而在枯水期采用同期預(yù)報(bào)可保證MEA-BPNN模型精度最高。
(4)本文基于思維進(jìn)化算法優(yōu)化BPNN神經(jīng)網(wǎng)絡(luò)模型,構(gòu)建了MEA-BPNN模型在月徑流的預(yù)測(cè)中取得了較高的精度,在今后的研究中,可基于該模型分析日尺度、旬尺度不同時(shí)間尺度的徑流預(yù)測(cè)精度。