李忠波,高茂庭
(上海海事大學(xué)信息工程學(xué)院,上海201306)
考慮季節(jié)因素的SIGA-BP網(wǎng)絡(luò)水質(zhì)預(yù)測(cè)方法
李忠波,高茂庭
(上海海事大學(xué)信息工程學(xué)院,上海201306)
針對(duì)水質(zhì)指標(biāo)數(shù)據(jù)所具有的非平穩(wěn)季節(jié)性特征,在基于IGA-BP網(wǎng)絡(luò)的水質(zhì)預(yù)測(cè)模型基礎(chǔ)上,提出考慮季節(jié)因素的SIGA-BP網(wǎng)絡(luò)水質(zhì)預(yù)測(cè)方法,通過構(gòu)建季節(jié)性樣本來凸現(xiàn)水質(zhì)監(jiān)測(cè)數(shù)據(jù)的季節(jié)性特征,用遺傳算法優(yōu)化BP網(wǎng)絡(luò)的結(jié)構(gòu)、隱層神經(jīng)元閾值和連接權(quán)值,將輸入層神經(jīng)元個(gè)數(shù)加入編碼方案和適應(yīng)度函數(shù),并改進(jìn)選擇算子,以上海青浦急水港2004-2016年逐月水質(zhì)監(jiān)測(cè)的DO值數(shù)據(jù)為例與IGA-BP網(wǎng)絡(luò)和BP神經(jīng)網(wǎng)絡(luò)進(jìn)行的水質(zhì)預(yù)測(cè)對(duì)比實(shí)驗(yàn),表明考慮季節(jié)因素的SIGA-BP神經(jīng)網(wǎng)絡(luò)模型進(jìn)行水質(zhì)預(yù)測(cè)更為有效。
上海市科委科技創(chuàng)新項(xiàng)目(No.12595810200)
水是生命之源,在人類社會(huì)及經(jīng)濟(jì)領(lǐng)域中發(fā)揮重要的作用,決定生態(tài)自然環(huán)境的優(yōu)劣,關(guān)系到人類文明、經(jīng)濟(jì)、生態(tài)和社會(huì)的可持續(xù)發(fā)展。但近年來由于非正常的使用和破壞,水質(zhì)狀況惡化的情況不斷發(fā)生,為了能夠及時(shí)了解水質(zhì)狀況,對(duì)水污染事件的發(fā)生進(jìn)行及時(shí)的預(yù)防,就需要對(duì)水質(zhì)進(jìn)行監(jiān)督和管理,提前預(yù)測(cè)水質(zhì)狀況。目前常用的水質(zhì)預(yù)測(cè)方法主要有時(shí)間序列預(yù)測(cè)法[1]、灰色預(yù)測(cè)法[2]、回歸分析法[3]和BP神經(jīng)網(wǎng)絡(luò)[4]等。
前期針對(duì)傳統(tǒng)BP神經(jīng)網(wǎng)絡(luò)模型收斂速度慢、對(duì)隱層結(jié)點(diǎn)難以合理取舍等問題,引入遺傳算法優(yōu)化BP網(wǎng)絡(luò)結(jié)構(gòu)、隱層神經(jīng)元閾值和連接權(quán)值,通過設(shè)計(jì)實(shí)數(shù)編碼方案和新型交叉算子等,對(duì)實(shí)數(shù)編碼遺傳算法進(jìn)行改進(jìn),提出基于改進(jìn)的實(shí)數(shù)編碼遺傳算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的IGA-BP(Improved Genetic Algorithm BP)水質(zhì)預(yù)測(cè)模型[5]取得較好的效果。然而,相關(guān)研究表明[6-8],水質(zhì)指標(biāo)具有明顯的季節(jié)性特征,不同時(shí)段的指標(biāo)都有其自身的演變規(guī)律。如2008年浙江省長(zhǎng)潭水庫(kù)可溶解氧(DO)的研究表明:該水庫(kù)DO含量處于I類水平,呈明顯的季節(jié)性變化,表現(xiàn)為春季和冬季比較高,夏季和秋季比較低。但是IGA-BP神經(jīng)網(wǎng)絡(luò)水質(zhì)預(yù)測(cè)模型只考慮了水質(zhì)指標(biāo)的非線性變化,通過提高收斂速度和尋找全局最優(yōu)等方面來提高預(yù)測(cè)精度,沒有利用水質(zhì)指標(biāo)的季節(jié)性特征來提高預(yù)測(cè)精度。
為此,在IGA-BP水質(zhì)預(yù)測(cè)模型的基礎(chǔ)上,通過對(duì)水質(zhì)狀況季節(jié)性特征因素的挖掘,在IGA-BP算法的基礎(chǔ)上,考慮到BP網(wǎng)絡(luò)輸入層神經(jīng)元個(gè)數(shù)、編碼方案、適應(yīng)度函數(shù)和選擇算子對(duì)算法性能的影響,構(gòu)建考慮季節(jié)因素的SIGA-BP(Seasonal IGA-BP)神經(jīng)網(wǎng)絡(luò)水質(zhì)預(yù)測(cè)模型。
對(duì)于網(wǎng)絡(luò)的層數(shù),Kolmogarav根據(jù)實(shí)驗(yàn)經(jīng)驗(yàn)提出BP網(wǎng)絡(luò)的網(wǎng)絡(luò)結(jié)構(gòu)在合理的結(jié)構(gòu)和恰當(dāng)?shù)臋?quán)值選取恰當(dāng)?shù)那闆r下,三層網(wǎng)絡(luò)能夠以任意的精度逼近任何有界非線性函數(shù),因此,IGA-BP算法以三層網(wǎng)絡(luò)作為結(jié)構(gòu)。對(duì)于輸入層神經(jīng)元個(gè)數(shù),根據(jù)時(shí)間序列分析法[9]分析得到。輸出層神經(jīng)元個(gè)數(shù)考慮模型基于單變量研究,因此,輸出層神經(jīng)元個(gè)數(shù)是1。隱含層神經(jīng)元個(gè)數(shù),通過將其編入遺傳算法編碼方案內(nèi)學(xué)習(xí)優(yōu)化來得到。下文用si表示輸入層神經(jīng)元個(gè)數(shù),用so表示輸出層神經(jīng)元個(gè)數(shù),用sh表示隱層神經(jīng)元個(gè)數(shù)。
(1)編碼,初始化種群
IGA-BP模型采用混合實(shí)數(shù)編碼的遺傳算法進(jìn)行優(yōu)化求解。對(duì)于輸出層每一個(gè)神經(jīng)元vi,i=1,2,…,so,都對(duì)應(yīng)一個(gè)閾值bi。對(duì)于隱層每一個(gè)神經(jīng)元,ui,i=1,2,…,sh,各自對(duì)應(yīng)一個(gè)閾值Bi,并且它到si個(gè)輸入層神經(jīng)元和so個(gè)輸出層神經(jīng)元都對(duì)應(yīng)一個(gè)權(quán)值wik(k=1,2,…,si,si+1,…,si+so),共有si+so個(gè)權(quán)值,用Wi表示wi1,wi2,…,wik,…,i=1,2,…,sh。將以上參數(shù)混合進(jìn)行編碼,得到了IGA編碼方案,見圖1。
圖1 IGA編碼方案
(2)適應(yīng)度函數(shù)
適應(yīng)度函數(shù)為式(1):
式(1)中,Eb表示樣本均方誤差,λ稱為網(wǎng)絡(luò)復(fù)雜性系數(shù),適應(yīng)度和網(wǎng)絡(luò)的性能成正比。
(3)遺傳操作
選擇操作采用輪盤賭方法計(jì)算其個(gè)體選擇概率,該方法雖然得到了廣泛的應(yīng)用,但卻存在兩個(gè)問題[10]:一是在進(jìn)化初期,適應(yīng)度很高的個(gè)體可能被選擇的概率很大,從而復(fù)制出很多后代,容易導(dǎo)致個(gè)體單一而無法繼續(xù)進(jìn)化,從而使搜索陷入局部最優(yōu);二是在進(jìn)化后期,當(dāng)各個(gè)個(gè)體的適應(yīng)度差距不大時(shí),該方法已經(jīng)不再具有選擇能力,難以體現(xiàn)出個(gè)體的優(yōu)劣,因此,需要改進(jìn)選擇算子來優(yōu)化遺傳。
交叉操作采用線性交叉和凸交叉結(jié)合起來構(gòu)造的交叉算子;變異操作采用均勻變異。
當(dāng)時(shí)間序列受到較強(qiáng)的季節(jié)因素影響時(shí),數(shù)據(jù)本身潛在的變動(dòng)規(guī)律就難已顯現(xiàn)出來,其中包括真實(shí)信息、基本變化以及非季節(jié)特征。因此,為了能夠提取數(shù)據(jù)本身所要傳達(dá)的規(guī)律,就要消除季節(jié)因素對(duì)數(shù)據(jù)的影響[11]。IGA-BP神經(jīng)網(wǎng)絡(luò)水質(zhì)預(yù)測(cè)模型在進(jìn)行預(yù)測(cè)時(shí)通過提高收斂速度和尋找全局最優(yōu)等方面來提高預(yù)測(cè)精度,為了提高模型的預(yù)測(cè)精度,在IGA-BP水質(zhì)預(yù)測(cè)模型中考慮季節(jié)性因素,并改進(jìn)相關(guān)的優(yōu)化部分,形成考慮季節(jié)因素的SIGA-BP水質(zhì)預(yù)測(cè)模型。下面分別討論季節(jié)性樣本的構(gòu)建和SIGA-BP網(wǎng)絡(luò)模型。
針對(duì)季節(jié)因素對(duì)神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)造成影響的問題,相關(guān)專家、學(xué)者已經(jīng)做出了很多努力[12-14]。考慮季節(jié)因素的SIGA-BP神經(jīng)網(wǎng)絡(luò)模型以IGA-BP神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)模型為基礎(chǔ)。水質(zhì)預(yù)測(cè)中選擇合適的方式處理數(shù)據(jù)對(duì)預(yù)測(cè)的準(zhǔn)確性起著很重要的作用。對(duì)于時(shí)間序列,以往模型只考慮水質(zhì)數(shù)據(jù)的趨勢(shì)值,而忽略水質(zhì)數(shù)據(jù)的歷史同期值。從時(shí)間序列結(jié)構(gòu)性上考慮,預(yù)測(cè)點(diǎn)與其相距較近的趨勢(shì)值與歷史同期值相關(guān)性較強(qiáng),與其相距較遠(yuǎn)的趨勢(shì)值與歷史同期值相關(guān)性較弱。因此,時(shí)間序列中樣本值的選取對(duì)預(yù)測(cè)結(jié)果影響很大。
為了便于從時(shí)間序列中發(fā)現(xiàn)隱藏的規(guī)律,找到與預(yù)測(cè)點(diǎn)相關(guān)性較強(qiáng)的趨勢(shì)值和歷史同期值,將水質(zhì)指標(biāo)值按逐年逐月的形式進(jìn)行組織,每一行代表同一年的1-12月份的水質(zhì)指標(biāo)值,每一列代表不同年份同一月的水質(zhì)指標(biāo)值,如圖2所示。
圖2 水質(zhì)逐月數(shù)據(jù)資料
注:圖2中:xi,j為第i年第j月的水質(zhì)指標(biāo)值。
在SIGA-BP模型中,同時(shí)考慮時(shí)間序列數(shù)據(jù)的趨勢(shì)值和歷史同期值(季節(jié)項(xiàng))來重構(gòu)時(shí)間序列,利用網(wǎng)絡(luò)神經(jīng)元對(duì)所選取樣本點(diǎn)進(jìn)行學(xué)習(xí)和訓(xùn)練來模擬預(yù)測(cè)點(diǎn)與相關(guān)點(diǎn)的非線性關(guān)系。為了預(yù)測(cè)i年j月的水質(zhì)指標(biāo)xi,j,可以從預(yù)測(cè)點(diǎn)沿縱橫兩方向看:從橫向考慮水質(zhì)指標(biāo)序列值xi,j-n,…,xi,j-2,xi,j-1對(duì)xi,j的影響,這反映了水質(zhì)指標(biāo)變化的趨勢(shì)性,其中,i年1月之前的數(shù)據(jù)為i-1年12月的值,這與不考慮季節(jié)因素的數(shù)據(jù)序列相同;從縱向考慮歷史同期的水質(zhì)指標(biāo)值xi-m,j,…,xi-2,j,xi-1,j對(duì)xi,j的影響,這反映了水質(zhì)指標(biāo)變化的季節(jié)性,見圖3。
圖3 樣本數(shù)據(jù)的預(yù)測(cè)示意圖
其中,m和n分別表示輸入層神經(jīng)元中水質(zhì)指標(biāo)趨勢(shì)值和水質(zhì)指標(biāo)歷史同期值的個(gè)數(shù),并將這兩個(gè)方向的m+n個(gè)指標(biāo)值xi,j-n,…,xi,j-2,xi,j-1和
xi-m,j,…,xi-2,j,xi-1,j作為BP網(wǎng)絡(luò)模型的輸入神經(jīng)元。輸入神經(jīng)元的個(gè)數(shù)對(duì)訓(xùn)練結(jié)果會(huì)產(chǎn)生很大的影響,個(gè)數(shù)過少,則沒有足夠的信息讓神經(jīng)網(wǎng)絡(luò)捕捉;若個(gè)數(shù)過多,則會(huì)造成網(wǎng)絡(luò)規(guī)模太大,影響訓(xùn)練速度。因此,需要確定一個(gè)較為合理的取值范圍。
對(duì)模型本身來說,BP網(wǎng)絡(luò)預(yù)測(cè)結(jié)果受兩大因素影響:一是網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu);二是連接相鄰神經(jīng)元的權(quán)值和閾值[15]。為此,考慮季節(jié)因素的SIGA-BP網(wǎng)絡(luò)預(yù)測(cè)模型從兩個(gè)方面著手:一是把季節(jié)因素考慮進(jìn)來對(duì)時(shí)間序列進(jìn)行重構(gòu);二是將輸入層節(jié)點(diǎn)數(shù)也加入遺傳算法編碼方案和適應(yīng)度函數(shù)中,以節(jié)點(diǎn)本身的優(yōu)化來搜索合適的網(wǎng)絡(luò)結(jié)構(gòu)和最優(yōu)的權(quán)值閾值。
(1)輸入層、輸出層神經(jīng)元數(shù)目的確定理論上,三層結(jié)構(gòu)的BP網(wǎng)絡(luò)可以逼近任意的非線性映射關(guān)系,但在實(shí)際的訓(xùn)練過程中,常會(huì)因?yàn)榫W(wǎng)絡(luò)結(jié)構(gòu)不合理導(dǎo)致訓(xùn)練精度達(dá)不到要求,引起網(wǎng)絡(luò)的重新訓(xùn)練。IGA-BP網(wǎng)絡(luò)模型是使用時(shí)間序列分析方法來確定輸入層神經(jīng)元個(gè)數(shù),但是時(shí)間序列分析法因突出時(shí)間因素并沒有考慮外界因素的影響,所以有預(yù)測(cè)誤差的缺點(diǎn),一旦外界發(fā)生了很大的變化,這種方法便會(huì)存在較大偏差。為此,在選取輸入層神經(jīng)元個(gè)數(shù)時(shí),將其加入IGA編碼方案中,通過學(xué)習(xí)優(yōu)化來確定輸入神經(jīng)元的個(gè)數(shù)。
輸出層神經(jīng)元考慮模型基于單變量研究,因此so設(shè)置為1。
(2)編碼方案的確定
IGA-BP算法選用實(shí)數(shù)編碼作為編碼方案,考慮到當(dāng)隱層神經(jīng)元個(gè)數(shù)發(fā)生變化時(shí),相應(yīng)的初始權(quán)值和閾值也需改變,因此將隱藏層神經(jīng)元個(gè)數(shù)以及權(quán)值和閾值進(jìn)行了混合編碼。本文采用的SIGA算法在保留IGA算法編碼特色的基礎(chǔ)上,考慮到時(shí)間序列分析法存在預(yù)測(cè)誤差的缺陷和輸入層神經(jīng)元m和n的個(gè)數(shù)較難選取,因此,把輸入層神經(jīng)元個(gè)數(shù)也編碼到串中,以節(jié)點(diǎn)本身的優(yōu)化來搜索合適的網(wǎng)絡(luò)結(jié)構(gòu),然后在此結(jié)構(gòu)指導(dǎo)下,求得網(wǎng)絡(luò)的最優(yōu)解,具體編碼方案分為U1、U2和U3三個(gè)區(qū),如圖4所示。
圖4 SIGA編碼方案
圖4中,U1區(qū)為結(jié)構(gòu)編碼部分,共有3個(gè)個(gè)體,m和n分別代表重構(gòu)后時(shí)間序列的趨勢(shì)值和歷史同期值的階數(shù),sh代表隱層神經(jīng)元的個(gè)數(shù);U2區(qū)為輸出層節(jié)點(diǎn)各神經(jīng)元的閾值編碼,共有so個(gè)個(gè)體,bi表示輸出層第i節(jié)點(diǎn)的閾值編碼;U3區(qū)中共有sh組,每一組分別由Bi和Wi組成,Bi為隱層第i節(jié)點(diǎn)的閾值編碼,Wi為隱層與輸入層、輸出層之間一系列權(quán)值的集合,每組共1+m+n+so個(gè)個(gè)體,共有(1+m+n+so)*sh個(gè)個(gè)體。這樣,SIGA編碼方案中個(gè)體的有效長(zhǎng)度為s=3+so+(1+m+n+so)*sh。設(shè)Wi中Xi,j表示輸入層m個(gè)前期水質(zhì)指標(biāo)值節(jié)點(diǎn)中第i節(jié)點(diǎn)同隱層第j節(jié)點(diǎn)的連接權(quán)編碼;Yi,j表示輸入層n個(gè)歷史同期值節(jié)點(diǎn)中第i節(jié)點(diǎn)同隱層第j節(jié)點(diǎn)的連接權(quán)編碼;Zi,j表示隱層第i節(jié)點(diǎn)同輸出層第j節(jié)點(diǎn)的連接權(quán)編碼,Wi的具體結(jié)構(gòu)圖5所示。
圖5 編碼方案中Wi的權(quán)值分布
從圖5中可以很明顯的看出,輸入層神經(jīng)元m和n的取值影響到U3區(qū)中Wi的權(quán)值分布,因此,輸入層神經(jīng)元m和n的選取對(duì)編碼會(huì)有很大的影響。U3區(qū)這樣排列保留了IGA算法編碼的特色,因?yàn)殚撝岛蜋?quán)值的取值范圍是一樣的,當(dāng)隱層神經(jīng)元個(gè)數(shù)發(fā)生變化時(shí),可以方便地增加或刪除一組值。
在SIGA編碼時(shí),由于輸入層隱層神經(jīng)元個(gè)數(shù)在一定范圍內(nèi)取不同值,導(dǎo)致網(wǎng)絡(luò)需要優(yōu)化的參數(shù)也是不固定的,同時(shí)也防止出現(xiàn)交叉過程中染色體長(zhǎng)度不一致的問題,故SIGA編碼的長(zhǎng)度按其最大值smax=3+so+(1+max(m+n)+so)*sh來設(shè)計(jì)。在解碼時(shí),根據(jù)U1、U2和U3三個(gè)區(qū)各自對(duì)應(yīng)的權(quán)值閾值取出即可。
(3)適應(yīng)度函數(shù)
IGA-BP網(wǎng)絡(luò)主要從樣本均方誤差Eb和網(wǎng)絡(luò)結(jié)構(gòu)復(fù)雜程度兩個(gè)方面衡量性能優(yōu)劣。在SIGA-BP中,網(wǎng)絡(luò)結(jié)構(gòu)不再只是考慮隱層節(jié)點(diǎn),還將輸入層節(jié)點(diǎn)考慮了進(jìn)來。這是因?yàn)榫W(wǎng)絡(luò)結(jié)構(gòu)中不止有隱層,還有輸入層輸出層。但由于輸出層節(jié)點(diǎn)是固定的,因此,SIGABP網(wǎng)絡(luò)結(jié)構(gòu)復(fù)雜程度由輸入層和隱層確定,為此,SIGA的適應(yīng)度函數(shù)按式(2)選擇:
式(2)中:λ是網(wǎng)絡(luò)復(fù)雜性系數(shù)。適應(yīng)度越大,網(wǎng)絡(luò)的性能越好。
(4)遺傳操作
遺傳操作中,針對(duì)上文1.2.3所述的問題對(duì)選擇算子進(jìn)行改進(jìn):將群體中的所有個(gè)體按照適應(yīng)度從大到小進(jìn)行排列,排在最前面1/4的個(gè)體復(fù)制兩份,中間的2/4復(fù)制一份,最后面的1/4拋棄。此改進(jìn)方式的優(yōu)點(diǎn)是能夠淘汰掉適應(yīng)度比較低的個(gè)體,增加適應(yīng)度較高的個(gè)體數(shù)目,在某種程度上解決上面所提到的問題。交叉和變異操作仍采用IGA算法所優(yōu)化的方法。
(5)SIGA-BP流程圖
由水質(zhì)指標(biāo)樣本重構(gòu)方法優(yōu)化IGA-BP模型的訓(xùn)練流程如圖6所示。
圖6 SIGA-BP流程圖
SIGA-BP網(wǎng)絡(luò)模型的流程具體包括以下幾個(gè)步驟:
第1步,對(duì)季節(jié)性樣本進(jìn)行重構(gòu),將考慮季節(jié)因素的樣本值歸一化到[0,1]。
第2步,依據(jù)新的編碼方案,初始化種群。閾值B和連接權(quán)值W均為[-1,1]內(nèi)的隨機(jī)數(shù)[16]。
第3步,計(jì)算適應(yīng)度值。計(jì)算各個(gè)體的適應(yīng)度,并檢查適應(yīng)度是否達(dá)到要求,如果達(dá)到則保存該個(gè)體,算法轉(zhuǎn)第6步;否則執(zhí)行第4步。在計(jì)算適應(yīng)度時(shí),先要確定各對(duì)應(yīng)網(wǎng)絡(luò)層的激勵(lì)函數(shù)。
第4步,遺傳操作。使用改進(jìn)的選擇算子優(yōu)化遺傳,并對(duì)群體P(t)執(zhí)行上述的遺傳操作產(chǎn)生新種群P(t+1)。
第5步,檢查停止準(zhǔn)則。若t>T(T為最大進(jìn)化代數(shù)),或適應(yīng)度達(dá)到要求,則保留本次最優(yōu)解,算法轉(zhuǎn)第6步;否則返回第2步。
第6步,保留最優(yōu)解。季節(jié)性樣本每重構(gòu)一次得到的解與上次比較,保留最優(yōu)解,然后判斷m和n取值是否達(dá)到上限,返回第1步。
第7步,確定最優(yōu)的網(wǎng)絡(luò)結(jié)構(gòu),將優(yōu)化好的輸入層隱層神經(jīng)元個(gè)數(shù)、各神經(jīng)元的權(quán)值和閾值帶入BP神經(jīng)網(wǎng)絡(luò)中訓(xùn)練,進(jìn)而用來預(yù)測(cè)。
太湖流域位于中緯度地區(qū),屬濕潤(rùn)的北亞熱帶氣候區(qū),氣候具有明顯的季風(fēng)特征,四季分明。冬季有冷空氣入侵,多偏北風(fēng),寒冷干燥;春夏之交,暖濕氣流北上,冷暖氣流遭遇形成持續(xù)陰雨,稱為“梅雨”,易引起洪澇災(zāi)害;盛夏受副熱帶高壓控制,天氣晴熱,此時(shí)常受熱帶風(fēng)暴和臺(tái)風(fēng)影響,形成暴雨狂風(fēng)的災(zāi)害天氣。上海青浦急水港是太湖流域的重點(diǎn)斷面,選取上海青浦急水港2004-2016年逐月監(jiān)測(cè)的DO值進(jìn)行實(shí)驗(yàn)[17],以2004-2015年的數(shù)據(jù)作為模型預(yù)測(cè)的訓(xùn)練資料,以2016年的數(shù)據(jù)作為檢驗(yàn)資料。
為了驗(yàn)證考慮季節(jié)因素的SIGA-BP模型的有效性,將其與IGA-BP網(wǎng)絡(luò)模型和BP網(wǎng)絡(luò)模型對(duì)上海青浦急水港2016年的DO值進(jìn)行預(yù)測(cè)對(duì)比。為了便于比較,三個(gè)算法中的參數(shù)設(shè)置相同。選擇trainrp算法作為BP神經(jīng)網(wǎng)絡(luò)的訓(xùn)練函數(shù);最大訓(xùn)練次數(shù)1000次;學(xué)習(xí)速率設(shè)置為0.1;訓(xùn)練目標(biāo)設(shè)置為0.01;隱層神經(jīng)元的激勵(lì)函數(shù)為tansig,輸出層神經(jīng)元激勵(lì)函數(shù)選擇purelin。SI?GA中popsize=50,pc=0.8,pm=0.05,λ=0.005。
將輸入數(shù)據(jù)歸一化到[0,1],IGA-BP神經(jīng)網(wǎng)絡(luò)和BP神經(jīng)網(wǎng)絡(luò)依據(jù)時(shí)間序列分析法分析未重構(gòu)的時(shí)間序列得到輸入層神經(jīng)元個(gè)數(shù)為6時(shí),模型預(yù)測(cè)結(jié)果最優(yōu)。根據(jù)上文確定的輸入輸出層神經(jīng)元個(gè)數(shù),依據(jù)隱層神經(jīng)元經(jīng)驗(yàn)選擇公式(3)確定取值范圍:
式(3)中,l為1~10之間的整數(shù)。針對(duì)不同的隱層神經(jīng)元個(gè)數(shù),對(duì)IGA-BP神經(jīng)網(wǎng)絡(luò)以及BP神經(jīng)網(wǎng)絡(luò)進(jìn)行多次訓(xùn)練,比較后發(fā)現(xiàn),隱層神經(jīng)元個(gè)數(shù)8時(shí),這兩個(gè)模型性能指標(biāo)較優(yōu)。
對(duì)考慮季節(jié)因素的SIGA-BP模型,先要確定輸入層神經(jīng)元個(gè)數(shù)m與n的取值范圍,利用BP網(wǎng)絡(luò)對(duì)m和n取值不同的時(shí)間序列進(jìn)行訓(xùn)練,考量其誤差值來確定取值范圍的區(qū)間。經(jīng)過多次訓(xùn)練與比較,得到m和n值在2~7之間取值比較合適;其次隱層神經(jīng)元個(gè)數(shù)由輸入層神經(jīng)元個(gè)數(shù)來確定:依據(jù)隱層神經(jīng)元個(gè)數(shù)選擇公式(3),當(dāng)輸入層神經(jīng)元個(gè)數(shù)m和n均取最小值時(shí),將得到的取值范圍的下限作為隱層神經(jīng)元個(gè)數(shù)取值范圍的下限;輸入層神經(jīng)元個(gè)數(shù)m和n均取最大值時(shí),將得到的取值范圍的上限作為隱層神經(jīng)元個(gè)數(shù)取值范圍的上限,這樣可避免時(shí)間序列每重構(gòu)一次都要再次重新確定隱層神經(jīng)元個(gè)數(shù)的取值范圍,可簡(jiǎn)化算法的復(fù)雜度;最后將不同的輸入層隱層神經(jīng)元個(gè)數(shù)加入編碼方案,經(jīng)過遺傳算法不斷的迭代優(yōu)化,得出該神經(jīng)網(wǎng)絡(luò)模型較優(yōu)的輸入層神經(jīng)元個(gè)數(shù)m=4和n=4,隱層神經(jīng)元個(gè)數(shù)sh=6。三個(gè)模型在檢驗(yàn)階段預(yù)測(cè)結(jié)果和擬合曲線如表1和圖7所示。
圖7 三種算法的擬合曲線
表1中,考慮季節(jié)因素的SIGA-BP模型預(yù)測(cè)結(jié)果的相對(duì)誤差整體有了顯著降低。除1月和3月之外,SIGA-BP模型預(yù)測(cè)結(jié)果的相對(duì)誤差的變化比較均勻,其相對(duì)誤差變化均在10%以下,并且其平均相對(duì)誤差要明顯低于BP和IGA-BP網(wǎng)絡(luò)。
圖7為2016年DO實(shí)際監(jiān)測(cè)值和BP、IGA-BP、SIGA-BP預(yù)測(cè)模型的擬合曲線圖,可以看出,考慮季節(jié)因素的SIGA-BP模型已經(jīng)很大程度地?cái)M合了實(shí)際水質(zhì)指標(biāo)值的變化趨勢(shì),其曲線比較平滑、穩(wěn)定,擬合效果比較BP和標(biāo)準(zhǔn)IGA-BP模型好。而未考慮季節(jié)因素的IGA-BP和BP模型的預(yù)測(cè)值曲線波動(dòng)相對(duì)較大,尤其是BP神經(jīng)網(wǎng)絡(luò),呈現(xiàn)不穩(wěn)定的狀態(tài),這樣容易產(chǎn)生較大的預(yù)測(cè)誤差。
表1 檢驗(yàn)階段各模型預(yù)測(cè)結(jié)果對(duì)照表
SIGA-BP模型的確定性系數(shù)較之BP和IGA-BP模型有一個(gè)明顯的提升,這說明該模型擬合度較好,與實(shí)際監(jiān)測(cè)值線性關(guān)系較強(qiáng)。實(shí)驗(yàn)結(jié)果表明,考慮季節(jié)因素的SIGA-BP網(wǎng)絡(luò)的預(yù)測(cè)效果要優(yōu)于以上兩種。綜合比較下,考慮季節(jié)因素的SIGA-BP網(wǎng)絡(luò)模型擬合效果得到優(yōu)化。
在研究考慮水質(zhì)指標(biāo)在月時(shí)段所體現(xiàn)不同特征的基礎(chǔ)上,通過對(duì)時(shí)間序列進(jìn)行重構(gòu)將季節(jié)性因素引IGA-BP網(wǎng)絡(luò)預(yù)測(cè)模型中,將輸入層節(jié)點(diǎn)加入編碼方案和適應(yīng)度函數(shù)以及優(yōu)化遺傳操作等,形成考慮季節(jié)因素的SIGA-BP網(wǎng)絡(luò)預(yù)測(cè)模型,并運(yùn)用到水質(zhì)預(yù)測(cè)中。實(shí)驗(yàn)表明,考慮季節(jié)因素的SIGA-BP網(wǎng)絡(luò)模型擬入到IGA-BP網(wǎng)絡(luò)預(yù)測(cè)模型中,將輸入層節(jié)點(diǎn)加入編碼方案和適應(yīng)度函數(shù)以及優(yōu)化遺傳操作等,形成考慮季節(jié)因素的SIGA-BP網(wǎng)絡(luò)預(yù)測(cè)模型,并運(yùn)用到水質(zhì)預(yù)測(cè)中。實(shí)驗(yàn)表明,考慮季節(jié)因素的SIGA-BP網(wǎng)絡(luò)模型擬合度較好,預(yù)測(cè)精度比較高,對(duì)水質(zhì)指標(biāo)中的季節(jié)因素值得進(jìn)一步深入研究。
[1]ZhangJ,ZhuC.TimeSeries Analysis of Water Quality in Hanjiang River[J].Nature Environment&Pollution Technology,2014.
[2]郭蘭蘭,鄒志紅,安巖.基于殘差修正的GM(1,1)模型在水質(zhì)預(yù)測(cè)中的應(yīng)用研究[J].數(shù)學(xué)的實(shí)踐與認(rèn)識(shí),2014,09:105-109.
[3]向速林,楊柳春,冉全.回歸分析法在地下水水質(zhì)動(dòng)態(tài)預(yù)測(cè)中的應(yīng)用[J].長(zhǎng)江大學(xué)學(xué)報(bào)(自科版),2006(1):40-42.
[4]A Csábrági,S Molnár,P Tanos,J Kovács.Application of Artificial Neural Networks to the Forecasting of Dissolved Oxygen Content in the Hungarian section of the river Danube[J].Ecological Engineering,2017:63-72.
[5]張旭東,高茂庭.基于IGA-BP網(wǎng)絡(luò)的水質(zhì)預(yù)測(cè)方法[J].環(huán)境工程學(xué)報(bào),2016(03):1566-1571.
[6]柯玉釵,潘大堅(jiān).溫瑞塘河河道水質(zhì)指標(biāo)季節(jié)性變化分析[J].科技傳播,2016,03:147-148.
[7]曹瑛杰.浙江省長(zhǎng)潭水庫(kù)溶解氧的時(shí)空分布特征及影響因素分析[J].江西農(nóng)業(yè)學(xué)報(bào),2011,10:151-153.
[8]巨拓,黃廷林,馬衛(wèi)星,周子振.穩(wěn)定分層水庫(kù)水質(zhì)的季節(jié)性變化特征及揚(yáng)水曝氣水質(zhì)改善[J].湖泊科學(xué),2015,(05):819-828.
[9]郭慶春,何振芳,李力.人工神經(jīng)網(wǎng)絡(luò)模型在黃河水質(zhì)預(yù)測(cè)中的應(yīng)用[J].人民黃河,2011,33(10):42-43.
[10]曹道友,程家興.基于改進(jìn)的選擇算子和交叉算子的遺傳算法[J].計(jì)算機(jī)技術(shù)與發(fā)展,2010,(02):44-47+51.
[11]曾國(guó)巍.X-12-ARIMA季節(jié)調(diào)整中春節(jié)模型的改進(jìn)與應(yīng)用[D].蘭州大學(xué),2014.
[12]李孟剛,周長(zhǎng)生,連蓮,李文銳.基于ARIMA神經(jīng)網(wǎng)絡(luò)的工業(yè)生產(chǎn)指數(shù)仿真研究[J].計(jì)算機(jī)科學(xué),2016,(S2):554-556+567.
[13]ZhaoY,GuoL,LiangJ,etal.Seasonal Artificial Neural Network Model for Water Quality Prediction Via a Clustering Analysis Method in a Wastewater Treatment Plant of China[J].Desalination&Water Treatment,2014,57(8):1-14.
[14]葉明全,胡學(xué)鋼.基于季節(jié)性神經(jīng)網(wǎng)絡(luò)的醫(yī)院門診量曲線擬合與預(yù)測(cè)[J].工程圖學(xué)學(xué)報(bào),2005,(02):83-86.
[15]趙壽玲.BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)優(yōu)化方法的研究及應(yīng)用[D].蘇州大學(xué),2010.
[16]劉鯖潔,陳桂明,劉小方,占君.BP神經(jīng)網(wǎng)絡(luò)權(quán)重和閾值初始化方法研究[J].西南師范大學(xué)學(xué)報(bào)(自然科學(xué)版),2010,06:137-141.
[17]中華人民共和國(guó)環(huán)境保護(hù)部.中華人民共和國(guó)環(huán)境保護(hù)部數(shù)據(jù)中心[R].http://data center.mep.gov.cn/.2016.
SIGA-BP Network Water Quality Prediction Method Based on Seasonal Factors
LI Zhong-bo,GAO Mao-ting
(College of Information Engineering,Shanghai Maritime University,Shanghai 201306)
Aiming at the non-stationary seasonal characteristics in the water quality data,proposes the SIGA-BP neural network water quality predic?tion method based on seasonal factors on the IGA-BP network water quality prediction model.The seasonal samples are rebuilt to emerge the seasonal characteristics for the water quality monitoring records,genetic algorithm is used to optimize the structure of BP network,the thresholds and the connection weights of hidden layer neural nodes,the number of input layer neurons is added into the coding scheme and the fitness function,and the selection operator is improved.The experiment results show that the SIGA-BP network water quality predic?tion method based on seasonal factors can predict water quality more effectively than both of the IGA-BP network and the BP neural net?work water quality prediction model do.
1007-1423(2017)21-0003-07
10.3969/j.issn.1007-1423.2017.21.001
李忠波(1991-),男,山東濟(jì)南人,碩士研究生,研究方向?yàn)樗|(zhì)預(yù)測(cè)、數(shù)據(jù)挖掘;高茂庭(1968-),男,江西九江人,博士,教授,系統(tǒng)分析員,CCF高級(jí)會(huì)員,研究方向?yàn)橹悄苄畔⑻幚?;?/p>
2017-04-27
2017-07-03
水質(zhì)預(yù)測(cè);季節(jié)因素;BP網(wǎng)絡(luò);遺傳算法
Water Quality Prediction;Seasonal Factor;BP Network;Genetic Algorithm