曹 寧,徐根祺,張佳綺,鄭鈺奇,熊 攀
(1.西安交通工程學(xué)院土木工程學(xué)院,陜西 西安 710300;2.西安交通工程學(xué)院機(jī)械與電氣工程學(xué)院,陜西 西安 710300)
地下水是構(gòu)成水資源的重要環(huán)節(jié),為地方社會經(jīng)濟(jì)的進(jìn)步提供重要支持,地下水位衰減、地面沉降等災(zāi)害的發(fā)生將抑制地下水對國民經(jīng)濟(jì)發(fā)展的貢獻(xiàn)[1]。因此,構(gòu)建有效的地下水水位預(yù)測模型可為相關(guān)決策部門制定合理的地下水管理方案提供科學(xué)判據(jù),對提升水資源精準(zhǔn)管理和改良生態(tài)環(huán)境具有重要意義[2]。
由于氣象、水文、地質(zhì)條件的不斷變化以及人類開采活動的逐年增加,地下水水位始終處于動態(tài)的變化過程,對地下水水位進(jìn)行預(yù)測是一個復(fù)雜的非線性問題。隨著計算機(jī)科學(xué)水平的日益提升以及人工智能技術(shù)的飛速發(fā)展,許多地下水水位預(yù)測模型被提出并得到了大量研究人員的關(guān)注。目前的研究可分為確定性研究和隨機(jī)性研究兩類[3]。
在確定性研究中,主要用到的方法包括微分方程、控制方程等確定的方程關(guān)系,利用這些方程研究地下水位的動態(tài)變化過程和趨勢,數(shù)值模擬方法在該領(lǐng)域應(yīng)用較為普遍[4]。雖然早在19世紀(jì),國外學(xué)者在研究過程中就已經(jīng)滲透了數(shù)值模擬的思想;但直至20世紀(jì)中葉,才首次將該方法正式用于地下水水位研究[5]。歷經(jīng)數(shù)十年的發(fā)展,至20世紀(jì)末以后研究進(jìn)入成熟階段[6]。隨后由于人工智能技術(shù)的興起,研究人員將關(guān)注的焦點逐漸轉(zhuǎn)向了隨機(jī)性研究并取得了一定的成就[7],常見的方法如神經(jīng)網(wǎng)絡(luò)、機(jī)器學(xué)習(xí)、模糊理論等[8-10]。其中,BP神經(jīng)網(wǎng)絡(luò)、RBF神經(jīng)網(wǎng)絡(luò)、長短時記憶網(wǎng)絡(luò)等應(yīng)用較為普遍[11-13]。
確定性研究需要獲取研究區(qū)大量的氣象水文地質(zhì)數(shù)據(jù),實際工程中很難詳盡地掌握這些數(shù)據(jù)。神經(jīng)網(wǎng)絡(luò)本身存在諸多缺陷,使用這類模型的預(yù)測效果受到一定限制。為了獲得更好的預(yù)測精度,借助寬度學(xué)習(xí)算法建立基于寬度學(xué)習(xí)的地下水水位預(yù)測模型,并利用濟(jì)源市的地下水位歷史數(shù)據(jù)對模型進(jìn)行訓(xùn)練和驗證。
寬度學(xué)習(xí)(Broad Learning,BL):首先,將輸入向量映射成特征節(jié)點;然后,通過增強(qiáng)變換生成增強(qiáng)節(jié)點;最后,由特征節(jié)點和增強(qiáng)節(jié)點共同構(gòu)成隱層輸入,利用偽逆求解隱層與輸出間的連接權(quán)重。變換過程中僅改變隱層與輸出間的權(quán)重,訓(xùn)練過程非常簡單。當(dāng)特征節(jié)點數(shù)和增強(qiáng)節(jié)點數(shù)不足導(dǎo)致精度達(dá)不到要求時,還可使用增量學(xué)習(xí)的方式重新訓(xùn)練。寬度學(xué)習(xí)描述如下[14]。
圖1 BL原始結(jié)構(gòu)
1.1.1 原始結(jié)構(gòu)
BL原始結(jié)構(gòu)見圖1。
假設(shè)有n個特征節(jié)點,每個特征節(jié)點生成k個增強(qiáng)節(jié)點,則
Zi=Φ(XWei+βei),i=1,2,…,n
(1)
式中,Φ(XWei+βei)為第i個特征節(jié)點,可用Zi表示;Wei和βei分別為第i個特征節(jié)點的初始權(quán)重和初始偏置。
寬度學(xué)習(xí)模型
Y=[Z1,…,Zn|ξ(Z1Wh1+βh1),…,ξ(ZnWhm+βhm)]Wm=[Zn|Hm]Wm
(2)
A+=limλ→0(λI+AAT)-1ATY
(3)
1.1.2 插入增強(qiáng)節(jié)點
若插入p個增強(qiáng)節(jié)點,令A(yù)m=[Zn|Hm],Am+1=[Am|Hm+1],則
(4)
(5)
式(4)、(5)表明,該算法只需計算新插入的增強(qiáng)節(jié)點的偽逆即可實現(xiàn)快速增量學(xué)習(xí)。此外,還可對新的特征節(jié)點和輸入矩陣進(jìn)行更新。寬度學(xué)習(xí)更新后的結(jié)構(gòu)如圖2所示。
連接權(quán)值為隨機(jī)生成,可能會在初始化的過程中導(dǎo)致輸入矩陣結(jié)構(gòu)冗余,本節(jié)采用矩陣隨機(jī)近似奇異值分解對寬度學(xué)習(xí)進(jìn)行優(yōu)化。
設(shè)寬度學(xué)習(xí)原始結(jié)構(gòu)有n組特征節(jié)點,則網(wǎng)絡(luò)輸出為
(6)
圖2 BL更新結(jié)構(gòu)
由Zi列空間的一組正交基生成矩陣Q,若Zi≈QQ*Zi,Q即為Zi的一個近似子陣,QQ*Zi為Zi生成的子空間的低秩近似。利用Zi的近似矩陣對Zi做奇異值分解
(7)
(8)
(9)
對于插入p個增強(qiáng)節(jié)點的優(yōu)化結(jié)果為
(10)
(11)
(12)
為了準(zhǔn)確預(yù)測出地下水水位,本研究建立了基于寬度學(xué)習(xí)的地下水水位預(yù)測模型(見圖3)。
圖3 基于寬度學(xué)習(xí)的地下水水位預(yù)測模型
該模型由3個模塊組成,依次為數(shù)據(jù)模塊、算法模塊和預(yù)測模塊。各模塊的主要功能如下:
數(shù)據(jù)模塊,該模塊主要針對和地下水水位有關(guān)的歷史數(shù)據(jù),包括數(shù)據(jù)的采集、存儲、更新、提取等操作??紤]到影響地下水水位的各因素不斷變化,因此采用開放式結(jié)構(gòu),可以對數(shù)據(jù)進(jìn)行實時操作。
算法模塊,影響地下水水位的因素往往具有不確定性。為了彌補(bǔ)現(xiàn)有方法中訓(xùn)練速度較慢的缺陷,采用寬度學(xué)習(xí)對模型進(jìn)行訓(xùn)練,可大大減少模型的訓(xùn)練時間,同時使模型具有更強(qiáng)的在線更新能力。
預(yù)報模塊,令訓(xùn)練樣本X={x1,x2,x3},其中,x1為降雨量;x2為開采量;x3為水庫水位。輸出Y為地下水的水位?;谒惴K的計算,最終由該模塊準(zhǔn)確快速地預(yù)測出地下水水位情況。
以研究區(qū)內(nèi)的月降雨量、月開采量以及水庫水位高度構(gòu)成的三維向量作為模型輸入,以地下水水位作為模型輸出。選取2014年~2019年的歷史數(shù)據(jù)作為樣本集,并將2014年~2018年共60個月的數(shù)據(jù)用于模型訓(xùn)練,2019年共12個月的數(shù)據(jù)用于對模型進(jìn)行驗證。
由于地質(zhì)環(huán)境的影響,采集數(shù)據(jù)所用的傳感器必然會出現(xiàn)數(shù)據(jù)缺失、逸出和不統(tǒng)一的現(xiàn)象,有必要在預(yù)測之前對數(shù)據(jù)進(jìn)行處理。
數(shù)據(jù)丟失或逸出屬于常見現(xiàn)象,對缺失的傳感器數(shù)據(jù)按屬性進(jìn)行統(tǒng)計,計算出缺失率。若該值超過90%,則認(rèn)為該數(shù)據(jù)為異常值,直接丟棄;若缺失率介于40%~90%之間,可用相鄰屬性加權(quán)補(bǔ)充;若該值介于20%~40%之間,可用均值進(jìn)行替代;若缺失率不足20%,可采用眾數(shù)補(bǔ)填。若傳感器數(shù)據(jù)大于5倍標(biāo)準(zhǔn)差則屬于離群值,需要舍棄。
經(jīng)過上述處理后的地下水埋深的影響因子歷史數(shù)據(jù)如圖4所示,地下水水位歷史數(shù)據(jù)如圖5所示。
圖4 處理后的地下水埋深的影響因子歷史數(shù)據(jù)
圖5 地下水水位歷史數(shù)據(jù)
影響因子數(shù)據(jù)不僅種類不一,不同種類的因子具有各自的量綱,這就造成了數(shù)據(jù)之間的不平衡,直接將這些數(shù)據(jù)輸入模型,也會影響預(yù)測結(jié)果的準(zhǔn)確性;因此,需要對數(shù)據(jù)進(jìn)行歸一化處理[15],即
(13)
分別對預(yù)處理之前和預(yù)處理之后的數(shù)據(jù),使用矩陣隨機(jī)近似SVD優(yōu)化的寬度學(xué)習(xí)模型SVDBL進(jìn)行仿真,數(shù)據(jù)預(yù)處理前后的結(jié)果如表1所示。
表1 數(shù)據(jù)預(yù)處理前后預(yù)測結(jié)果
從表1可以看出,使用未預(yù)處理的數(shù)據(jù)進(jìn)行預(yù)測,當(dāng)增量節(jié)點數(shù)達(dá)到2 367時,預(yù)測結(jié)果基本穩(wěn)定,最終達(dá)到78.53%,訓(xùn)練時間為2.803 8s。使用預(yù)處理后的數(shù)據(jù)進(jìn)行預(yù)測,當(dāng)預(yù)測模型的增量節(jié)點數(shù)達(dá)到1 482時,預(yù)測結(jié)果已經(jīng)穩(wěn)定,最終達(dá)到92.12%,訓(xùn)練時間為0.932 5 s。仿真結(jié)果表明,采用前文所述的數(shù)據(jù)預(yù)處理方式是非常必要的,可以有效提升預(yù)測準(zhǔn)確率并顯著縮短訓(xùn)練時間。
為了分析模型的預(yù)測效果,以均方根誤差RMSE和ROC曲線的AUC值為指標(biāo),分別將BL模型和SVDBL模型的預(yù)測結(jié)果進(jìn)行比較,RMSE和AUC值如表2所示。
表2 不同模型的RMSE和AUC值
表2數(shù)據(jù)顯示,SVDBL模型優(yōu)化后的RMSE比未經(jīng)優(yōu)化的BL模型小0.270 7,AUC值比BL模型高0.161 4;經(jīng)過對不同模型仿真結(jié)果的分析不難發(fā)現(xiàn),SVDBL模型的可靠性更高。2種模型的預(yù)測結(jié)果如圖6所示。
圖6 BL和SVDBL預(yù)測結(jié)果對比
為了驗證SVDBL模型的在線更新能力,將訓(xùn)練數(shù)據(jù)集從之前的60組擴(kuò)充至70組,再次分別對BL模型和SVDBL模型進(jìn)行訓(xùn)練,結(jié)果如表3所示。
表3 訓(xùn)練樣本擴(kuò)展前后結(jié)果對比 s
表3數(shù)據(jù)表明,訓(xùn)練樣本擴(kuò)充后,BL模型的訓(xùn)練時間延長了0.177 7 s,SVDBL模型的訓(xùn)練時間僅延長了0.005 8 s。當(dāng)訓(xùn)練數(shù)據(jù)集擴(kuò)充后,SVDBL模型的訓(xùn)練時間相比訓(xùn)練數(shù)據(jù)集擴(kuò)充前幾乎沒有變化。優(yōu)化后的SVDBL模型再次訓(xùn)練所需的時間更短,在線更新能力更強(qiáng)。以上實驗結(jié)果僅僅是在數(shù)據(jù)擴(kuò)充了10組的情況下得到的;隨著時間的延續(xù),傳感器采集的數(shù)據(jù)越來越多,當(dāng)數(shù)據(jù)規(guī)模進(jìn)一步擴(kuò)充時,SVDBL模型將具有更加顯著的在線訓(xùn)練優(yōu)勢。
本研究借助寬度學(xué)習(xí)算法構(gòu)建了可用于地下水水位預(yù)測的地下水水位預(yù)測模型SVDBL,利用濟(jì)源市地下水位的歷史數(shù)據(jù)對模型進(jìn)行了性能分析,預(yù)測結(jié)果和誤差分析驗證了該模型的有效性,說明利用該模型對地下水水位進(jìn)行預(yù)測是有可能的;但結(jié)論僅對濟(jì)源市地下水位數(shù)據(jù)有效。為了提高模型的普適性,還需通過其他地區(qū)的地下水位數(shù)據(jù)對模型進(jìn)一步驗證、修正。