胡飛躍,王忠忠
(廣東省地質(zhì)調(diào)查院,廣東 廣州 510080)
水文地質(zhì)調(diào)查中,地下水水位長(zhǎng)期觀測(cè)是一項(xiàng)重要的基礎(chǔ)性工作,按監(jiān)測(cè)手段可以分為自動(dòng)化監(jiān)測(cè)和人工測(cè)量,工作周期通常以年為單位。地下水位的變化是一個(gè)復(fù)雜的自然過程,目前,按地下水預(yù)測(cè)方法可分為確定性模型[1]及隨機(jī)性模型[2]。確定性模型主要是通常需要設(shè)定合理的水文地質(zhì)參數(shù),如入滲系數(shù)、降雨量、滲透系數(shù)、地表高程等水文地質(zhì)參數(shù)進(jìn)行復(fù)雜的線性或非線性運(yùn)算,比如MODFLOW,HYDRUS、GMS等物理驅(qū)動(dòng)模型已在水文地質(zhì)數(shù)值模擬中得到了廣泛的運(yùn)用,但是由于含水層巖性的復(fù)雜性及不均一性,水文地質(zhì)參數(shù)的精確選擇十分困難,導(dǎo)致運(yùn)算精度不高,因此該模型主要用于區(qū)域性的水文地質(zhì)調(diào)查研究工作中。隨機(jī)性模型應(yīng)用隨機(jī)過程描述水文環(huán)節(jié),目前主要有回歸分析,時(shí)間序列分析、模糊數(shù)學(xué)、小波神經(jīng)網(wǎng)絡(luò)等方法。陸海濤、梁富山[3]等將支持向量機(jī)應(yīng)用于地下水位預(yù)測(cè)中,并與GM(1,1) 模型對(duì)比。徐強(qiáng)[4]等構(gòu)建小波神經(jīng)網(wǎng)絡(luò)基礎(chǔ)上并引入遺傳算法,解決了BP算法存在極易收斂于局部極小點(diǎn)與過擬合等缺點(diǎn),并與BP 和WNN 對(duì)比預(yù)測(cè)了天津市深層承壓水水位。張展羽[5]等建立了基于主成分分析與多變量時(shí)間序列模型耦合的地下水位預(yù)報(bào)模型以解決地下水位在時(shí)間序列上表現(xiàn)出高度的隨機(jī)性和滯后性等問題,并將該模型應(yīng)用于濟(jì)南市陡溝灌區(qū)地下水位預(yù)測(cè)。
神經(jīng)網(wǎng)絡(luò)是20世紀(jì)80年代以來人工智能領(lǐng)域興起的研究熱點(diǎn),傳統(tǒng)的數(shù)值模擬一般是是輸入規(guī)則即公式和數(shù)據(jù),讓程序輸出預(yù)測(cè)值;而神經(jīng)網(wǎng)絡(luò)中,并沒有特定的公式或規(guī)則,是將示例數(shù)據(jù)和對(duì)應(yīng)的示例結(jié)果輸入,通過不斷修正數(shù)據(jù)與結(jié)果之間的關(guān)系,找到規(guī)則, 這稱之為訓(xùn)練或?qū)W習(xí),相比于傳統(tǒng)的統(tǒng)計(jì)分析模型,具有更好的實(shí)時(shí)預(yù)測(cè)性。M.Zealand[6]等人把人工神經(jīng)網(wǎng)絡(luò)用于河流短期流量預(yù)測(cè),發(fā)現(xiàn)人工神經(jīng)網(wǎng)絡(luò)在四個(gè)季度的擬合和驗(yàn)證階段均優(yōu)于傳統(tǒng)模型。S.Mohanty[7]等人用神經(jīng)網(wǎng)絡(luò)模型與MODFLOW確定性模型對(duì)18個(gè)水文監(jiān)測(cè)站的數(shù)據(jù)進(jìn)行了短期預(yù)測(cè),發(fā)現(xiàn)只有兩個(gè)測(cè)站MODFLOW預(yù)測(cè)精度可以接近人工神經(jīng)網(wǎng)絡(luò), 其余測(cè)站神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)精度都顯著高于MODFLOW模型。
近些年,隨著深度學(xué)習(xí)技術(shù)的高速發(fā)展,深度學(xué)習(xí)模型逐漸被應(yīng)用于時(shí)間序列數(shù)據(jù)的研究中。其中,循環(huán)神經(jīng)網(wǎng)絡(luò)將時(shí)間序列引入神經(jīng)網(wǎng)絡(luò)中,使模型在時(shí)序數(shù)據(jù)分析上表現(xiàn)出更強(qiáng)的適應(yīng)性。但是也存在梯度消失或者梯度爆炸的問題。長(zhǎng)短期記憶神經(jīng)網(wǎng)絡(luò)模型通過遺忘門和更新門來調(diào)控梯度,將反向傳播累乘作用變成累加作用解決了梯度消失或爆炸的問題張建峰[8]等人將LSTM神經(jīng)網(wǎng)絡(luò)用于河套地區(qū)的農(nóng)業(yè)地下水深度預(yù)測(cè),發(fā)現(xiàn)LSTM的預(yù)測(cè)精度遠(yuǎn)高于NPFNN等傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)模型。
本文將滑動(dòng)窗口算法(SWA)與長(zhǎng)短期神經(jīng)記憶神經(jīng)網(wǎng)絡(luò)模型(LSTM)相結(jié)合,將該模型用于應(yīng)用于地下水水位預(yù)測(cè)研究,以期獲得一種精度更高的地下水位預(yù)測(cè)方法。
肇慶市位于廣東省中西部地區(qū),西江中下游,珠江三角洲經(jīng)濟(jì)區(qū)西側(cè),東與珠江三角洲腹地接壤,西與粵西相連,處于經(jīng)濟(jì)發(fā)達(dá)的珠三角和資源豐富的西江經(jīng)濟(jì)走廊結(jié)合部,是粵中與粵西的過渡部位,被譽(yù)為粵港澳的“后花園”。氣候溫和濕潤(rùn),雨量充沛,多年平均降雨量為1 650 mm,主要集中在4-9月,年暴雨日數(shù)(≥50 mm)5.3 d,雨季期間集中了92%,日最大降水量216.3 mm。
研究區(qū)出露地層由老到新有南華紀(jì)、震旦紀(jì)、寒武紀(jì)、泥盆紀(jì)、石炭紀(jì)、三疊紀(jì)、白堊紀(jì)和第四紀(jì)地層,地質(zhì)構(gòu)造發(fā)育,位于北東向吳川—四會(huì)深斷裂帶與東西向高要—惠來深斷裂帶交匯處的北東側(cè),屬華南褶皺系粵西隆起與粵中坳陷的交接地帶。地下水類型主要有松散巖類孔隙水、層狀巖類裂隙空隙水、碳酸鹽巖裂隙溶洞水。研究的監(jiān)測(cè)孔JC01,JC02位于高要區(qū)沙田張村(圖1),JC01地下水類型為碳酸鹽巖裂隙溶洞水、JC02地下水類型為松散巖類孔隙水,含水層巖性為中粗砂。
依托“珠三角巖溶塌陷地質(zhì)災(zāi)害調(diào)查”項(xiàng)目,地下水水位監(jiān)測(cè)數(shù)據(jù)為JC01、JC02地下水監(jiān)測(cè)井,選取2014.12.19~2015.12.12.08地下水位監(jiān)測(cè)數(shù)據(jù)及降雨量數(shù)據(jù),其中降雨量數(shù)據(jù)來源為肇慶市高要區(qū)新橋鎮(zhèn)水利會(huì)自動(dòng)氣象站。
SWA算法是一種按照一定的規(guī)則對(duì)數(shù)據(jù)進(jìn)行分割并重新定義的方法,通過設(shè)定窗口大小、滑動(dòng)步長(zhǎng)、采樣點(diǎn)間距建立滑動(dòng)窗口,實(shí)現(xiàn)截取類似圖像的窗口數(shù)據(jù),作為自變量,重新構(gòu)造樣本數(shù)據(jù)集,通過增加自變量中元素的維度,增強(qiáng)與因變量元素之間的邏輯關(guān)系,其次可以將嵌套的循環(huán)問題,轉(zhuǎn)換為單循環(huán)問題,降低時(shí)間復(fù)雜度,SWA算法示意見圖1。
圖1 SWA算法示意圖
一個(gè)完整的神經(jīng)網(wǎng)絡(luò)模型,主要由輸入層、隱藏層及輸出層組成,每個(gè)神經(jīng)元之間都以權(quán)重相鏈接,神經(jīng)網(wǎng)絡(luò)訓(xùn)練的過程實(shí)質(zhì)上時(shí)權(quán)重更新的過程,在這個(gè)過程中,如果我們把每個(gè)時(shí)刻的輸入關(guān)聯(lián)起來,如t-1時(shí)刻、t時(shí)刻、t+1時(shí)刻,就稱之為循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN),但是在反向傳播過程中,當(dāng)輸入層數(shù)列很長(zhǎng)時(shí),誤差項(xiàng)就會(huì)以指數(shù)趨于0或者趨于無(wú)窮大,即梯度消失或者梯度爆炸。Hochreiter和Schmidhuber在1997年提出了長(zhǎng)短期記憶神經(jīng)網(wǎng)絡(luò)(LSTM),較RNN增加了遺忘門,通過設(shè)定相關(guān)的運(yùn)算函數(shù),對(duì)神經(jīng)元上一時(shí)刻的狀態(tài)進(jìn)行判斷即上一時(shí)刻各個(gè)神經(jīng)單元的權(quán)重,決定上一時(shí)刻單元的狀態(tài)保留到當(dāng)前時(shí)刻。
圖2 LSTM模型示意圖
根據(jù)地下水水位的時(shí)空變化特點(diǎn)以及循環(huán)神經(jīng)網(wǎng)絡(luò)從簡(jiǎn)設(shè)計(jì)的原則,本研究構(gòu)建的預(yù)測(cè)模型框架如圖3所示,該框架大致可分為SWA數(shù)據(jù)處理、輸入層、隱含層、模型訓(xùn)練、輸出層4個(gè)部分,各模塊功能如下。
圖3 SWA-LSTM模型框架示意圖
單一的LSTM模型僅考慮時(shí)間序列規(guī)律,但是忽視了自變量與因變量之間可能存在的邏輯關(guān)系。為了解決這一問題,我們加入了SWA(滑動(dòng)窗口算法),通過對(duì)自變量與因變量之間邏輯關(guān)系的總結(jié),對(duì)自變量進(jìn)行重組,增強(qiáng)模型的精度。為了確定滑動(dòng)窗口大小、步長(zhǎng)、采樣點(diǎn)間距我們需要對(duì)自變量(降雨量)及因變量(地下水位)進(jìn)行統(tǒng)計(jì)分析。地下水水位變化與降雨量具有明顯的關(guān)系,表現(xiàn)為滯后的同步性(圖4),在降雨后的幾天內(nèi)地下水水位會(huì)產(chǎn)生明顯的上漲。
圖4 JC02監(jiān)測(cè)點(diǎn)地下水位與降雨量折線圖
我們選取2014年12月30日至2015年1月29日枯水期地下水水位變幅與降雨量的數(shù)據(jù)(圖5),在這個(gè)時(shí)間段內(nèi),除1月12日及1月13日有25.7 mm、43 mm的明顯降水外,僅在1月6日、1月16日有小于1 mm的降水,因此可以突出降水對(duì)地下水位變化的影響滯后時(shí)間,在該段時(shí)間內(nèi)地下水水位變幅一般在-0.05~0.05 mm,但在1月12日及1月13日降雨的2天后,1月14至1月15日地下水水位有明顯的上升,1月16日地下水水位開始下降,因此可以得出本區(qū)降水對(duì)地下水位的影響一般滯后2天,因此我們將滑動(dòng)窗口大小設(shè)置為3,考慮到數(shù)據(jù)的連續(xù)性,因此將滑動(dòng)步長(zhǎng)及采樣點(diǎn)間距設(shè)置為1。
圖5 JC02監(jiān)測(cè)點(diǎn)地下水位變幅與降雨量
為了消除數(shù)據(jù)的數(shù)據(jù)數(shù)量級(jí)差異對(duì)模型預(yù)測(cè)精度的影響,加快模型的訓(xùn)練收斂速度,需要對(duì)原始數(shù)據(jù)進(jìn)行標(biāo)準(zhǔn)化處理,將數(shù)據(jù)轉(zhuǎn)化為0-1的之間無(wú)量綱的數(shù)。
x*=(x-xmin)/(xmax-x)
(1)
式中:x表示原始數(shù)據(jù),xmax表示原始數(shù)據(jù)最大值,xmin表示原始數(shù)據(jù)最小中,x表示原始數(shù)據(jù)的值。
本文基于python的tensorflow2.0框架搭建了多層LSTM神經(jīng)網(wǎng)絡(luò),為了防止過度擬合,每?jī)蒐STM層之間插入Dropout層,利用keras_tuner進(jìn)行參數(shù)調(diào)優(yōu),確定神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)率及每一層神經(jīng)網(wǎng)絡(luò)的節(jié)點(diǎn)數(shù)。同時(shí)以均方根誤差(RMS)作為模型精度評(píng)價(jià)標(biāo)準(zhǔn)。
模型訓(xùn)練結(jié)束后,預(yù)測(cè)值為0-1之間的無(wú)量綱的數(shù),需要將其還原為真實(shí)數(shù)值。
x=(x*·xmax+xmin)/(1+x*)
(2)
式中:x表示原始數(shù)據(jù),xmax表示原始數(shù)據(jù)最大值,xmin表示原始數(shù)據(jù)最小中,x表示原始數(shù)據(jù)的值。
為驗(yàn)證SMA-LSTM模型在預(yù)測(cè)地下水水位的優(yōu)點(diǎn),本次研究將傳統(tǒng)的LSTM模型預(yù)測(cè)結(jié)果對(duì)比分析。我們用RMS(均方根誤差)來評(píng)價(jià)預(yù)測(cè)精度:
(3)
式中:observationt表示t時(shí)刻真實(shí)地下水位,predictiont表示t時(shí)刻預(yù)測(cè)地下水位。
圖6 JC01監(jiān)測(cè)點(diǎn)SWA-LSTM模型預(yù)測(cè)結(jié)果
圖7 JC01監(jiān)測(cè)點(diǎn)LSTM模型預(yù)測(cè)結(jié)果
圖8 JC02監(jiān)測(cè)點(diǎn)SWA-LSTM模型預(yù)測(cè)結(jié)果
圖9 JC02監(jiān)測(cè)點(diǎn) LSTM模型預(yù)測(cè)結(jié)果
由預(yù)測(cè)結(jié)果可知,JC01、JC02監(jiān)測(cè)點(diǎn)SMA-LSTM模型的RMS為0.003 1,0.009 1,LSTM模型的RMS為0.024 1、0.056 6,SMA-LSTM模型預(yù)測(cè)精度顯著高于傳統(tǒng)的LSTM 模型(圖6,圖7,圖8,圖9),并且擬合程度
也更為理想,基本上可以準(zhǔn)確的預(yù)測(cè)出地下水位。而傳統(tǒng)的LSTM預(yù)測(cè)結(jié)果顯示,該模型僅能預(yù)測(cè)地下水位受降雨影響的變化趨勢(shì),但是不能預(yù)測(cè)地下水水位,說明依靠傳統(tǒng)LSTM僅僅通過降雨量來預(yù)測(cè)地下水位是不可行的。
但是SMA-LSTM模型擬合曲線并不完全完美,在峰值出又能出現(xiàn)較大的誤差,特別是在實(shí)際地下水水位變化出現(xiàn)劇烈波動(dòng)時(shí),預(yù)測(cè)結(jié)果會(huì)相對(duì)平緩。分析地下水水位變化原因可知,降雨量作為影響地下水位最重要的自然因素外,其次地下水位變化也受到蒸發(fā)量等自然因素及抽水等認(rèn)為因素的影響。實(shí)地調(diào)查發(fā)現(xiàn),在監(jiān)測(cè)點(diǎn)以西1 km處,有一口機(jī)井作為周邊村邊的應(yīng)急性生活水源,在平水期、豐水期,居民生活用水重組情況下,機(jī)井基本不開采,但是在枯水期11-12月,機(jī)井水不規(guī)律開采,導(dǎo)致地下水位變化劇烈,從而影響了預(yù)測(cè)精度。
本次研究通過構(gòu)建SWA-LSTM(滑動(dòng)窗口-長(zhǎng)短期記憶神經(jīng)網(wǎng)絡(luò)模型)地下水水位預(yù)測(cè)模型并與傳統(tǒng)LSTM預(yù)測(cè)模型對(duì)比,得出以下結(jié)論。
(1)基于 SWA-LSTM(滑動(dòng)窗口-長(zhǎng)短期記憶神經(jīng)網(wǎng)絡(luò)模型)的地下水水位預(yù)測(cè)模型可以作為準(zhǔn)確有效的地下水水位預(yù)測(cè)工具用于長(zhǎng)期地下水水位監(jiān)測(cè),尤其是在地下水位監(jiān)測(cè)難以進(jìn)行的情況下,可以通過收集前期的降雨量與地下水位監(jiān)測(cè)資料進(jìn)行有效的長(zhǎng)期預(yù)測(cè)。
(2)傳統(tǒng)的LSTM 預(yù)測(cè)模型考慮自變量時(shí)間序列對(duì)因變量的影響,而SWA-LSTM(滑動(dòng)窗口-長(zhǎng)短期記憶神經(jīng)網(wǎng)絡(luò)模型)可以增強(qiáng)自變量因變量之間邏輯聯(lián)系,從而提高模型預(yù)測(cè)的精度。