李 俊(太原理工大學(xué)水利科學(xué)與工程學(xué)院,太原 030024)
水面蒸發(fā)作為水循環(huán)的一個(gè)重要環(huán)節(jié),對(duì)水資源的合理開發(fā)、制定適當(dāng)?shù)墓喔戎贫绕鸬绞种匾挠绊慬1],因此對(duì)水面蒸發(fā)量進(jìn)行預(yù)測能夠?yàn)檗r(nóng)業(yè)活動(dòng)的決策提供一定的依據(jù)。
現(xiàn)行預(yù)測水面蒸發(fā)量的方法有:多元線性回歸模型[2]、灰色預(yù)測模型[3]、RBF神經(jīng)網(wǎng)絡(luò)模型[4]、BP神經(jīng)網(wǎng)絡(luò)模型[5]等,水面蒸發(fā)量與各個(gè)因素之間存在著復(fù)雜的線性關(guān)系,所以使用多元線性回歸模型并不能很好地反映水面蒸發(fā)的這一特性,而灰色預(yù)測模型存在對(duì)背景值和初始值的規(guī)定是不盡合理的缺點(diǎn)[6],為了達(dá)到相同的精度要求,RBF神經(jīng)網(wǎng)絡(luò)的實(shí)現(xiàn)結(jié)構(gòu)復(fù)雜過BP神經(jīng)網(wǎng)絡(luò)的,因此針對(duì)水面蒸發(fā)與預(yù)測因素之間存在非線性關(guān)系的特點(diǎn),以及模型的簡潔性,本文使用BP神經(jīng)網(wǎng)絡(luò)來對(duì)水面蒸發(fā)進(jìn)行預(yù)測,同時(shí)為了改變以往使用BP神經(jīng)網(wǎng)絡(luò)預(yù)測水面蒸發(fā)的過程中沒有對(duì)指標(biāo)進(jìn)行篩選,造成模型結(jié)構(gòu)不必要的擴(kuò)展,降低模型工作效率,因此本文使用灰色關(guān)聯(lián)理論對(duì)指標(biāo)進(jìn)行初步篩選,去除一些與水面蒸發(fā)相關(guān)性相對(duì)較弱的指標(biāo),從而減少預(yù)測模型的輸入,優(yōu)化網(wǎng)絡(luò)結(jié)構(gòu)。以往使用灰色關(guān)系法進(jìn)行指標(biāo)篩選時(shí),只是主觀的確定一個(gè)關(guān)聯(lián)度閥值來對(duì)指標(biāo)進(jìn)行篩選,但并未對(duì)篩選后指標(biāo)的合理性進(jìn)行分析[7],存在很大的主觀性,因此本文使用方差來代表指標(biāo)的信息[8],對(duì)海選指標(biāo)與篩選后的指標(biāo)的信息進(jìn)行比較,從而得出篩選后的指標(biāo)的信息持有度(簡稱此法為指標(biāo)信息評(píng)價(jià)法),以此來對(duì)指標(biāo)的合理性進(jìn)行分析。
本文稱結(jié)合灰色關(guān)聯(lián)法、指標(biāo)信息評(píng)價(jià)法與BP神經(jīng)網(wǎng)絡(luò)的方法為改進(jìn)的BP神經(jīng)網(wǎng)絡(luò)法,以太原地區(qū)的水面蒸發(fā)預(yù)測為例進(jìn)行預(yù)測演算,并對(duì)預(yù)測模型的合理性進(jìn)行分析,以期驗(yàn)證預(yù)測模型的合理性,為水面蒸發(fā)的預(yù)測提供參考。
按照上文的內(nèi)容,本文按照灰色關(guān)聯(lián)法、指標(biāo)信息評(píng)價(jià)法與BP神經(jīng)網(wǎng)絡(luò)3個(gè)部分來對(duì)改進(jìn)的BP神經(jīng)網(wǎng)絡(luò)模型進(jìn)行介紹。
灰色關(guān)聯(lián)度可以表示2個(gè)指標(biāo)之間的密切程度[9],因此計(jì)算各個(gè)預(yù)測因子與被預(yù)測因子之間的關(guān)聯(lián)度,從而得出各個(gè)預(yù)測因子與被預(yù)測因子的密切程度。
設(shè)有n-1個(gè)預(yù)測因子,1個(gè)預(yù)測因子,共有m組數(shù)據(jù),得到以下矩陣樣本:
(1)
式中:xi,j為第i組的第j個(gè)指標(biāo)值(1≤j≤n-1);xi,n為第i組的預(yù)測值。
對(duì)預(yù)測因子與被預(yù)測因子標(biāo)準(zhǔn)化,以避免指標(biāo)量綱的影響,按下式計(jì)算:
(2)
式中:yij為標(biāo)準(zhǔn)化后的指標(biāo)值。
使用式(2)對(duì)式(1)中的每一個(gè)指標(biāo)值進(jìn)行標(biāo)準(zhǔn)化轉(zhuǎn)換后,可以得到以下矩陣:
(3)
通過式(4)求每一個(gè)預(yù)測因子與被預(yù)測因子對(duì)應(yīng)預(yù)測因子的關(guān)聯(lián)度。
(4)
式中:k(ij)為預(yù)測因子yij與被預(yù)測因子yin對(duì)應(yīng)指標(biāo)的關(guān)聯(lián)度;λ一般取0.5。
接著使用式(5)求每個(gè)預(yù)測因子與被預(yù)測指標(biāo)的關(guān)聯(lián)度。
(5)
根據(jù)各個(gè)預(yù)測因子的關(guān)聯(lián)度來進(jìn)行排序(聯(lián)系度越大,聯(lián)系越密切)。
變異系數(shù)法中提出使用方差大小來表示指標(biāo)攜帶信息的多少,從而對(duì)指標(biāo)進(jìn)行賦權(quán)[10]。同樣的,可以使用方差的大小來評(píng)定篩選后的指標(biāo)是否發(fā)生信息丟失,從而對(duì)指標(biāo)的合理性進(jìn)行評(píng)價(jià)。具體方法如下。
根據(jù)式(5)計(jì)算得到的每個(gè)指標(biāo)與被預(yù)測指標(biāo)的關(guān)聯(lián)度,從高到低對(duì)各個(gè)預(yù)測因子進(jìn)行排列,從而得到以下樣本矩陣[按照關(guān)聯(lián)度高低把矩陣式(3)前n-1列從左到右排列,最后一列為被預(yù)測因子與矩陣式(3)最后一列相同]。
(6)
式中:za,b為第a組的第b個(gè)指標(biāo)值(1≤a≤n-1);yi,n為第i組的預(yù)測值。
使用預(yù)測因子的信息持有度Rb來表示篩選出的b個(gè)預(yù)測因子所持有的信息占原預(yù)測因子信息的百分比,由此敘述可得以下公式。
Rb=(Sb/Sn-1)×100%
(7)
式中:Sb與Sn-1與分別為矩陣式(6)中前b個(gè)預(yù)測因子的方差、矩陣式(6)中前n-1個(gè)預(yù)測因子的方差。
不斷地對(duì)b進(jìn)行取值進(jìn)行試算,當(dāng)Rb大于M時(shí),對(duì)應(yīng)最小的b即是最優(yōu)預(yù)測因子個(gè)數(shù),前b個(gè)預(yù)測因子為最優(yōu)預(yù)測因子。在主成分分析理論中,通常保留累計(jì)方差貢獻(xiàn)率達(dá)到70%~90% 的信息含量較大的主成分,表示全部原始指標(biāo)信息的絕大多數(shù)得到了反映[11],借助此思想,且為保險(xiǎn)起見,M取90%。
BP神經(jīng)網(wǎng)絡(luò)是一種按誤差逆?zhèn)鞑ニ惴ㄓ?xùn)練的多層前饋網(wǎng)絡(luò)[12]。同時(shí)其能夠反映被預(yù)測因子與預(yù)測因子之間的非線性關(guān)系,適合用于水面蒸發(fā)預(yù)測。
BP神經(jīng)網(wǎng)絡(luò)的工作示意圖見圖1。從左到右的三列圓圈分別表示輸入層、隱含層、輸出層,分別說明如下。
圖1 BP神經(jīng)網(wǎng)絡(luò)工作示意圖Fig.1 Schematic diagram of BP neural network
輸入層:在本文中輸入層一般為預(yù)測因子,輸入層節(jié)點(diǎn)的個(gè)數(shù)也和最優(yōu)預(yù)測因子個(gè)數(shù)相等。
隱含層:對(duì)以隱含層的節(jié)點(diǎn)數(shù)目前沒有統(tǒng)一的確定方法,一般取為輸入層節(jié)點(diǎn)數(shù)的75%[13],按照這個(gè)比例選取幾個(gè)可能的節(jié)點(diǎn)數(shù)進(jìn)行試驗(yàn),最終確定最優(yōu)隱含層的節(jié)點(diǎn)數(shù)。
輸出層:輸出層節(jié)點(diǎn)的個(gè)數(shù)和被預(yù)測因子個(gè)數(shù)相等,在本文中等于1。
在確定以上結(jié)構(gòu)后,編寫程序,在Matlab R2013a中進(jìn)行運(yùn)算。
綜合以上3部分,對(duì)改進(jìn)的BP神經(jīng)網(wǎng)絡(luò)模型的演算流程進(jìn)行介紹,具體如下。
(1)使用灰色關(guān)聯(lián)法分別計(jì)算各個(gè)海選預(yù)測因子與被預(yù)測因子的關(guān)聯(lián)度,并按照關(guān)聯(lián)度大小從左到右對(duì)海選預(yù)測因子進(jìn)行排列。
(2)使用指標(biāo)信息評(píng)價(jià)法判定出最優(yōu)預(yù)測因子組合。
(3)根據(jù)最優(yōu)預(yù)測因子組合、BP神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)特點(diǎn)與水面蒸發(fā)預(yù)測的特點(diǎn)定出BP神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu),使用Matlab R2013a編程實(shí)現(xiàn)BP神經(jīng)網(wǎng)絡(luò)算法。
(4)對(duì)結(jié)果進(jìn)行合理性分析。
本文選取太原地區(qū)為研究區(qū)域,收集2008年10月1日至2009年4月30日的逐日的平均氣壓、日最高氣壓、日最低氣壓、日最高氣溫、平均風(fēng)速、最大風(fēng)速、極大風(fēng)速、日照時(shí)數(shù)、蒸發(fā)量作為基礎(chǔ)資料,其中選取平均氣壓、日最高氣壓、日最低氣壓、日最高氣溫、平均風(fēng)速、最大風(fēng)速、極大風(fēng)速、日照時(shí)數(shù)為海選預(yù)測因子,蒸發(fā)量作為被預(yù)測因子。
由以上說明可知,在矩陣式(1)、式(3)、式(6)中m和n的取值分別為212、9。同時(shí)選擇2008-10-01-2009-03-31的數(shù)據(jù)作為訓(xùn)練指標(biāo),而2009-04-01-2009-04-30的數(shù)據(jù)作為檢驗(yàn)指標(biāo)。具體數(shù)據(jù)見表1(應(yīng)該展示的數(shù)據(jù)為2008年10月至2009年4月7個(gè)月的數(shù)據(jù),但限于篇幅只是展示了2008年10月這一整個(gè)月的數(shù)據(jù))。
表1 示例數(shù)據(jù)表(2008年10月)Tab.1 Sample data sheet(2008.10)
注:表1中,使用了國際單位的表示方法,但在后文的計(jì)算中為了和收集的數(shù)據(jù)一致,所以后文的數(shù)據(jù)依然以使用原數(shù)據(jù)的單位表示,即平均氣壓、日最高氣壓、日最低氣壓、日最高氣溫、平均風(fēng)速、最大風(fēng)速、極大風(fēng)速、日照時(shí)數(shù)、蒸發(fā)量的單位分別為:0.1 hPa、0.1 hPa、0.1 hPa、0.1 ℃、0.1 m/s、0.1 m/s、0.1 m/s、0.1 h、0.1 mm。
根據(jù)式(2)對(duì)表1的數(shù)據(jù)進(jìn)行標(biāo)準(zhǔn)化,使用式(4)和式(5)計(jì)算各個(gè)預(yù)測因子與被預(yù)測因子的關(guān)聯(lián)度,結(jié)果見表2。
選取不同的b值帶入公式(7)進(jìn)行試算,各個(gè)b值對(duì)應(yīng)的信息持有度見表3。
表2 預(yù)測因子關(guān)聯(lián)度表Tab.2 Predictive factor correlation degree
表3 b值與Rb對(duì)應(yīng)關(guān)系表Tab.3 Relationship between b and Rb
由表3可知Rb大于90%時(shí),最小的b值為5,故最優(yōu)預(yù)測因子為日最高氣溫、日照時(shí)數(shù)、極大風(fēng)速、平均風(fēng)速、最大風(fēng)速。
由以上可得,在BP神經(jīng)網(wǎng)絡(luò)中輸入層的節(jié)點(diǎn)數(shù)為5,經(jīng)過對(duì)可能隱含層節(jié)點(diǎn)數(shù)的試驗(yàn),得出隱含層節(jié)點(diǎn)數(shù)為4,輸出層節(jié)點(diǎn)數(shù)為1,所以BP神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)為5-4-1。
以日最高氣溫、日照時(shí)數(shù)、極大風(fēng)速、平均風(fēng)速、最大風(fēng)速為預(yù)測因子,蒸發(fā)量為被預(yù)測因子。
同時(shí)選擇2008-10-01-2009-03-31的數(shù)據(jù)作為訓(xùn)練指標(biāo),而2009-04-01-2009-04-30的數(shù)據(jù)作為檢驗(yàn)指標(biāo)。使用Matlab R2013a編程實(shí)現(xiàn)模型算法。檢驗(yàn)結(jié)果見表4。
表4 檢查結(jié)果表(2009年4月)Tab.4 Result of checking(2009-04)
如果相對(duì)誤差絕對(duì)值小于20%算作合格的話[2],合格率等于(21/30)×100%=70%。
本文以太原地區(qū)的水面蒸發(fā)預(yù)測為例,使用結(jié)合灰色關(guān)聯(lián)法、指標(biāo)信息評(píng)價(jià)法與BP神經(jīng)網(wǎng)絡(luò)法的改進(jìn)的BP神經(jīng)網(wǎng)絡(luò)法對(duì)該研究區(qū)的水面蒸發(fā)進(jìn)行預(yù)測,最后得出該模型的預(yù)報(bào)的合格率為70%。
灰色關(guān)聯(lián)法可以計(jì)算各個(gè)預(yù)測因子與被預(yù)測因子的關(guān)聯(lián)度,可以為指標(biāo)的篩選作準(zhǔn)備,同時(shí)使用指標(biāo)信息評(píng)價(jià)法可以避免人為主觀確定關(guān)聯(lián)度閾值來選定最優(yōu)最優(yōu)預(yù)測因子的缺點(diǎn),通過灰色關(guān)聯(lián)法與指標(biāo)信息評(píng)價(jià)法來對(duì)指標(biāo)進(jìn)行篩選,可以減少BP神經(jīng)網(wǎng)絡(luò)的輸入節(jié)點(diǎn),優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu),提高預(yù)測效率。
綜上可以得出該模型對(duì)于水面蒸發(fā)的預(yù)測具有一定適用性。
[1] 徐繼紅.干旱區(qū)影響水面蒸發(fā)的氣象因素多元回歸分析[J].水利規(guī)劃與設(shè)計(jì),2016,(9):62-64.
[2] 魏光輝,董新光,楊鵬年,等.基于灰色關(guān)聯(lián)分析與多元線性回歸模型的水面蒸發(fā)預(yù)測[J].節(jié)水灌溉,2012,(2):41-44.
[3] 石麗忠,陳金良,遲道才,等.關(guān)于遼陽市水面蒸發(fā)量灰色預(yù)測模型的研究[J].節(jié)水灌溉,2007,(8):37-39.
[4] 魏光輝,馬 亮.基于灰色關(guān)聯(lián)分析與RBF神經(jīng)網(wǎng)絡(luò)的水面蒸發(fā)量預(yù)測[J].干旱氣象,2009,27(1):73-77.
[5] 劉彩紅,馮宗友.基于BP神經(jīng)網(wǎng)絡(luò)的新疆平原地區(qū)水面蒸發(fā)量預(yù)測模型研究[J].重慶工學(xué)院學(xué)報(bào)(自然科學(xué)版),2007,21 (6):87-89.
[6] 楊華龍,劉金霞,鄭 斌.灰色預(yù)測GM(1,1)模型的改進(jìn)及應(yīng)用[J].數(shù)學(xué)的實(shí)踐與認(rèn)識(shí),2011,41 (23):39-46.
[7] 薛 楠,鄔貽萍,鄶 晶.灰色關(guān)聯(lián)度在單病種質(zhì)控指標(biāo)篩選中的應(yīng)用[J].中國衛(wèi)生統(tǒng)計(jì),1999,16 (3):181-182.
[8] 顧在浜,石寶峰,遲國泰.基于聚類—灰色關(guān)聯(lián)分析的綠色產(chǎn)業(yè)評(píng)價(jià)指標(biāo)體系構(gòu)建[J].資源開發(fā)與市場,2013,29(4):350-354.
[9] 劉 博,肖長來,田浩然,等.灰色關(guān)聯(lián)和層次分析法在地下水質(zhì)評(píng)價(jià)中的應(yīng)用----以吉林市為例[J].節(jié)水灌溉,2013,(1):26-29.
[10] 張小泓. 基于變異系數(shù)法的灰色關(guān)聯(lián)模型在節(jié)水灌溉工程投標(biāo)方案優(yōu)選中的應(yīng)用[J].節(jié)水灌溉,2009,(8):54-56.
[11] 汪冬華.多元統(tǒng)計(jì)分析與SPSS 應(yīng)用[M].上海:華東理工大學(xué)出版社,2010:192-215.
[12] 于 濤. BP網(wǎng)絡(luò)自適應(yīng)學(xué)習(xí)率算法分析[D].大連:大連理工大學(xué),2011:1-2.
[13] 唐啟義,馮明光. DPS數(shù)據(jù)處理系統(tǒng)[M].北京:科學(xué)出版社,2006:933-934.