牛欣怡,魯程鵬,盧佳赟,吳成城,劉 波,束龍倉(cāng)
(河海大學(xué)水文水資源學(xué)院,江蘇 南京 210098)
1972年,我國(guó)地下水開(kāi)采量為196億m3左右,至2014年末,地下水開(kāi)采量已達(dá)到1 117億m3,約為1972年的6倍,在北方一些缺水的地區(qū),如河北、北京、河南等地,其地下水供水量已達(dá)到總供水量的70%左右[1]。由于地下水的超量開(kāi)采,導(dǎo)致很多地區(qū)出現(xiàn)海水入侵、地面塌陷、地下水干旱等嚴(yán)重的地質(zhì)和生態(tài)問(wèn)題[2-5]。準(zhǔn)確模擬地下水埋深對(duì)于地下水合理開(kāi)發(fā)利用和保護(hù)具有重要的指導(dǎo)意義[6]。地下水模擬模型大體分為物理模型和數(shù)據(jù)驅(qū)動(dòng)模型[7]?;谠敿?xì)的水文地質(zhì)資料構(gòu)建的物理模型主要有具有物理意義的MODFLOW、GMS等數(shù)值模型,但是物理模型在求解過(guò)程中具有工作量大、時(shí)間長(zhǎng)、模型校準(zhǔn)復(fù)雜等缺點(diǎn)[8-9]。人工神經(jīng)網(wǎng)絡(luò)等數(shù)據(jù)驅(qū)動(dòng)模型可以輕松逼近物理系統(tǒng)的復(fù)雜行為和響應(yīng),并且能夠在短時(shí)間內(nèi)優(yōu)化不同約束集的大量案例場(chǎng)景。相比于物理模型中較多的假設(shè)條件、復(fù)雜的輸入變量和參數(shù)精確校準(zhǔn)等問(wèn)題,數(shù)據(jù)驅(qū)動(dòng)模型的輸入變量更易測(cè)量和量化,數(shù)據(jù)限制更低,模型參數(shù)適用性更強(qiáng),而且模擬時(shí)間也比較短[10]。因此,機(jī)器學(xué)習(xí)這類(lèi)數(shù)據(jù)驅(qū)動(dòng)模型在埋深模擬中前景廣泛,尤其是在缺少水文地質(zhì)勘測(cè)資料的地區(qū),是不可替代的。
支持向量機(jī)(support vector machines,SVM)、循環(huán)神經(jīng)網(wǎng)絡(luò)(recurrent neural network,RNN)和長(zhǎng)短期記憶神經(jīng)網(wǎng)絡(luò)(long short-term memory,LSTM)是目前在地下水埋深模擬方面應(yīng)用最廣泛的機(jī)器學(xué)習(xí)模型,但由于SVM模型和RNN模型是基于不同的理論構(gòu)建,導(dǎo)致其在模擬效果方面有一定的差異[11-14]。目前國(guó)內(nèi)學(xué)者在研究基于機(jī)器學(xué)習(xí)模擬地下水方面主要集中在單一模型的改進(jìn)和應(yīng)用,如閆佰忠等[15-16]基于多變量LSTM模型模擬監(jiān)測(cè)井的地下水水位,并與單變量LSTM、反向傳播神經(jīng)網(wǎng)絡(luò)模擬結(jié)果對(duì)比;張鈞泳等[17]建立不同參數(shù)的SVM模型,探討單因子、多因子建模反演地下水埋深精度問(wèn)題;張文鴿等[18]結(jié)合混沌優(yōu)化方法,構(gòu)建基于混沌優(yōu)化的峰值識(shí)別最小二乘支持向量機(jī)模型,模擬義長(zhǎng)灌區(qū)地下水位,并將結(jié)果與最小二乘支持向量機(jī)模擬結(jié)果進(jìn)行比較。然而,對(duì)于同一地區(qū),對(duì)基于不同理論方法的模擬效果進(jìn)行比較,尤其是適應(yīng)性方面的研究比較少。
本文采用SVM模型、RNN模型和LSTM模型進(jìn)行地下水埋深模擬,通過(guò)模擬京津冀平原地區(qū)13個(gè)城市地下水埋深情況,比較3種模型的模擬精度和適應(yīng)性,并將3種模型應(yīng)用到隨機(jī)選擇的6個(gè)測(cè)站,以驗(yàn)證更適用于地下水埋深模擬的機(jī)器學(xué)習(xí)模型,以期為今后地下水埋深模擬模型選擇以及參數(shù)調(diào)整提供參考。
本文氣象(降水、平均氣溫、平均風(fēng)速)和地下水埋深數(shù)據(jù)分別來(lái)自中國(guó)氣象數(shù)據(jù)網(wǎng)記錄的24個(gè)氣象觀測(cè)站和各地區(qū)711個(gè)地下水監(jiān)測(cè)站實(shí)測(cè)的2005—2018年168個(gè)月的日觀測(cè)數(shù)據(jù),基于月均值利用普通克里金法插值得到京津冀13個(gè)城市的相應(yīng)月數(shù)據(jù)。社會(huì)經(jīng)濟(jì)類(lèi)要素(人口、經(jīng)濟(jì)生產(chǎn)總值)和地下水開(kāi)采量來(lái)源于各個(gè)城市相應(yīng)年份經(jīng)濟(jì)年鑒的年值,為了計(jì)算方便,均勻分配到各月。隨后構(gòu)建RNN模型、LSTM模型和SVM模型。在輸入變量方面,雖然以多變量因素作為輸入比單變量好[19],但是當(dāng)因素與地下水相關(guān)性較弱時(shí),反而會(huì)成為一種噪聲影響模型的模擬精度[20-22]。為了提高地下水埋深模擬模型的準(zhǔn)確性,基于Pearson相關(guān)系數(shù)去除與地下水位相關(guān)性不顯著的變量[23-24]。隨后將顯著因素和上月地下水埋深作為輸入變量進(jìn)入模型訓(xùn)練。為了保證能夠得到較好的訓(xùn)練,防止模型對(duì)訓(xùn)練數(shù)據(jù)的過(guò)度擬合,將樣本按照時(shí)間順序以訓(xùn)練數(shù)據(jù)與測(cè)試數(shù)據(jù)為11∶3劃分。最后在京津冀地區(qū)隨機(jī)選擇6個(gè)測(cè)站的上月埋深和顯著因素作為輸入變量進(jìn)入訓(xùn)練好的模型中驗(yàn)證。以上過(guò)程通過(guò)ArcGIS 10.3.1和Python3.6實(shí)現(xiàn),模型框架圖見(jiàn)圖1。
圖1 地下水模擬模型框架Fig.1 Framework diagram of groundwater simulation model
SVM模型是以統(tǒng)計(jì)理論為基礎(chǔ),主要的應(yīng)用方向是分類(lèi)、回歸。SVM法的特點(diǎn)是在小樣本問(wèn)題及低維空間數(shù)據(jù)集不可分的前提下,將其映射到高維空間,從而達(dá)到可分的效果[25],該數(shù)據(jù)處理方式相對(duì)于神經(jīng)網(wǎng)絡(luò)可以從很大程度上避免學(xué)習(xí)或局部極值的出現(xiàn)[26]。SVM法的回歸計(jì)算如下。
首先給定一組訓(xùn)練樣本M={(x1,y1),(x2,y2),…,(xn,yn)},(xi,yi)∈R(i=1,2,…,n)。以簡(jiǎn)單線性式表示:
f(x)=wx+b
(1)
其中x=(x1,…,xn)w=(w1,…,wn)b=(b1,…,bn)
式中:x為特征向量;w為超平面的法向量;b為位移向量。這兩個(gè)因素決定超平面的方向。
尋找最小的w來(lái)保證式(1)的平坦。假設(shè)在一定精度的δ下,訓(xùn)練樣本所有數(shù)據(jù)都可以用式(1)擬合,則可將問(wèn)題轉(zhuǎn)化為凸優(yōu)化解決:
(2)
(3)
(4)
約束條件:
(5)
式中A為正則化常數(shù),用來(lái)衡量回歸函數(shù)的平坦度。再通過(guò)拉格朗日乘數(shù)法求解,轉(zhuǎn)化成對(duì)偶問(wèn)題。
(6)
對(duì)于非線性問(wèn)題來(lái)說(shuō),最后公式表示為
(7)
式中K(xi,xj)表示各種核函數(shù)如線性核、高斯核等。
RNN模型被專(zhuān)門(mén)設(shè)計(jì)用來(lái)捕捉時(shí)間序列數(shù)據(jù)中固有的結(jié)構(gòu)[14],在模型中是通過(guò)傳遞隱藏層神經(jīng)元的輸出或者狀態(tài)來(lái)實(shí)現(xiàn)這一點(diǎn),這些神經(jīng)元代表了在之前時(shí)間步驟中學(xué)習(xí)到的東西,并且作為下一個(gè)時(shí)間步驟的額外輸入[27]。RNN模型中的計(jì)算式可以寫(xiě)為
ht=tanh(Wxt+Uht-1+c)
(8)
yt=Vht+c
(9)
式中:ht為隱藏狀態(tài);yt為輸出向量;xt為輸入向量;W、U、V分別為輸入、隱藏和輸出權(quán)值;c為偏置。RNN模型的訓(xùn)練采用時(shí)間反向傳遞,基于神經(jīng)網(wǎng)絡(luò)的權(quán)值和之前隱藏狀態(tài)的誤差梯度來(lái)調(diào)整網(wǎng)絡(luò)權(quán)值。由于梯度在這一過(guò)程可以呈指數(shù)變化,因此它們往往會(huì)消失或者爆炸[28]。學(xué)者們針對(duì)這一問(wèn)題,又對(duì)RNN模型進(jìn)行優(yōu)化,提出了長(zhǎng)短期記憶神經(jīng)網(wǎng)絡(luò)模型。
LSTM模型是RNN模型改進(jìn)的一種類(lèi)型,LSTM模型架構(gòu)在不激活函數(shù)的情況下,在隱藏單元狀態(tài)之間強(qiáng)制執(zhí)行恒定誤差流,從而將梯度問(wèn)題最小化。LSTM單元包含3個(gè)作為門(mén)的乘法單元:遺忘門(mén)、輸入門(mén)和輸出門(mén)[29]。因?yàn)槊總€(gè)門(mén)都是神經(jīng)元,它可以通過(guò)傳遞輸入、反向傳播誤差和調(diào)整權(quán)重的過(guò)程來(lái)學(xué)習(xí)哪些輸入和細(xì)胞狀態(tài)對(duì)模擬輸出是重要的。
在模型輸入和輸出中,由于不同類(lèi)型的數(shù)據(jù)存在著極端值和較多的噪音,需要進(jìn)行歸一化處理來(lái)消除異常值和極端值的影響,以此來(lái)使模型中尋求最優(yōu)解的過(guò)程變得平緩,加快梯度下降的速度,并且提高模型精度[30-31],本文采用線性歸一化對(duì)數(shù)據(jù)進(jìn)行處理:
(10)
式中:z為原始數(shù)據(jù);z*為無(wú)量綱化后的數(shù)據(jù);zmax、zmin分別為原始數(shù)據(jù)中的最大最小值。
本文采用確定系數(shù)R2、均方根誤差RMSE、平均絕對(duì)百分比誤差MAPE[32]、納什效率系數(shù)NSE對(duì)3種模型模擬效果進(jìn)行評(píng)價(jià)。
地下水埋深與影響因素之間的相關(guān)性如表1所示。京津冀地區(qū)中大部分地區(qū)主要影響地下水埋深的因素是人口、經(jīng)濟(jì)、開(kāi)采量和降雨,其中人口、經(jīng)濟(jì)、開(kāi)采量的相關(guān)性系數(shù)都比較高,大體上都達(dá)到0.5以上,而降水的相關(guān)系數(shù)大多保持在0.3左右,由此可以看出人類(lèi)活動(dòng)對(duì)于地下水埋深的影響占主導(dǎo)地位,自然因素的影響占比較小。從表1可以看出,除了天津、廊坊、滄州,北京和河北大部分城市地下水埋深和開(kāi)采量呈現(xiàn)負(fù)相關(guān),出現(xiàn)這種情況的主要原因是在研究期間地下水開(kāi)采量雖然逐年減少,但是總量相對(duì)較大。如北京市、河北省年均開(kāi)采量基本保持在20億m3、140億m3左右,且地下水埋深的恢復(fù)具有一定的時(shí)間滯后性,因此從表面上看開(kāi)采量逐年減少,地下水埋深逐年增大,但實(shí)際上地下水埋深增大的速率在逐漸減小。而天津的年開(kāi)采量在5億m3左右,當(dāng)開(kāi)采量減少時(shí),地下水埋深恢復(fù)效果更顯著。
表1 京津冀13個(gè)城市地下水埋深與多變量之間的相關(guān)性
基于RNN模型、LSTM模型、SVM模型得到的結(jié)果用R2、RMSE、MAPE、NSE指標(biāo)進(jìn)行評(píng)價(jià),結(jié)果見(jiàn)表2,相應(yīng)的4個(gè)誤差指標(biāo)箱型圖見(jiàn)圖2,模型運(yùn)行時(shí)間見(jiàn)圖3。
表2 3種模型性能指標(biāo)結(jié)果
圖2 不同模型模擬誤差指標(biāo)分布箱型圖Fig.2 Boxplots of simulation error indexes of groundwater depth simulation with three models
圖3 京津冀13個(gè)城市地下水模型運(yùn)行時(shí)間Fig.3 Running time of three models applied in 13 cities of Beijing-Tianjin-Hebei
由表2可知,LSTM模型的擬合精度最高,其次是RNN模型,SVM模型表現(xiàn)最差。LSTM模型的擬合精度始終保持在0.6~0.9之間,最大為0.89,最小為0.63,均具有高度相關(guān)性,其中有54%地下水埋深數(shù)據(jù)的擬合度在0.6~0.7,23%的數(shù)據(jù)擬合度在0.8~0.9之間。利用RNN模型進(jìn)行模擬的城市一半以上地下水埋深擬合度在0.5~0.6之間,擬合度在0.8~0.9的數(shù)據(jù)僅占8%。而基于SVM模型進(jìn)行模擬的城市中,有62%的城市地下水埋深擬合精度在0.2~0.5之間,相關(guān)性較低。從圖2(a)可以明顯看出LSTM模型箱型圖分布寬度最窄,SVM箱型圖分布寬度最寬,這體現(xiàn)了LSTM模型應(yīng)用在不同城市的適應(yīng)性在3個(gè)模型中是最好的。
從RMSE、MAPE和NSE 3項(xiàng)指標(biāo)來(lái)看,不同城市模型的誤差排序從大到小均為SVM模型、RNN模型、LSTM模型。結(jié)合3項(xiàng)誤差的箱型圖可以明顯看出,在不同的指標(biāo)下,LSTM模型的箱型圖分布最窄,SVM箱型圖分布最寬。在RMSE和NSE兩個(gè)指標(biāo)下RNN模型雖然與LSTM模型分布寬度相差不大,但是均出現(xiàn)異常值,而且異常點(diǎn)的個(gè)數(shù)比LSTM模型多,這是因?yàn)镽NN模型存在梯度消失或爆炸問(wèn)題,而LSTM模型可以克服這些問(wèn)題,使模型運(yùn)行得更加穩(wěn)定,從而誤差波動(dòng)范圍也小。在3個(gè)指標(biāo)下,SVM模型箱型圖分布寬度均大于RNN模型,這是信息流在模型中傳遞的方向?qū)е?,RNN模型具有記憶功能,信息流在模型中是雙向傳遞,而SVM模型中信息流僅僅只是單向傳遞。綜合上述模型指標(biāo)的結(jié)果顯示,LSTM模型的泛化能力明顯比RNN模型、SVM模型優(yōu)秀。
從圖3可以看出LSTM模型運(yùn)行時(shí)間和SVM模型運(yùn)行時(shí)間基本一致,保持在5.5 s左右,LSTM模型和SVM模型運(yùn)行時(shí)間長(zhǎng)但波動(dòng)較小,RNN模型運(yùn)行時(shí)間最短但波動(dòng)范圍最大。出現(xiàn)這種情況的原因除了上文提到的LSTM模型可以消除RNN模型中的梯度消失和爆炸問(wèn)題外,SVM模型運(yùn)行時(shí)間和LSTM模型運(yùn)行時(shí)間基本一致的原因是SVM模型運(yùn)行時(shí)間包括參數(shù)調(diào)整和模擬兩部分,其中由于SVM模型過(guò)多的核函數(shù)和相應(yīng)的參數(shù)導(dǎo)致參數(shù)調(diào)整的時(shí)間過(guò)長(zhǎng),而SVM模型在模擬部分的時(shí)間比較短,是其他模型運(yùn)行時(shí)間的1/10。
在模型應(yīng)用中,針對(duì)不同地區(qū)的情況需要適當(dāng)?shù)剡M(jìn)行參數(shù)調(diào)整,對(duì)于SVM模型,由于人工搜索參數(shù)存在較大的誤差,因此本文采用網(wǎng)格搜索法[33]對(duì)SVM參數(shù)進(jìn)行搜索,得到模型應(yīng)用在各城市的參數(shù),見(jiàn)表3。
從表3可以看出,雖然13個(gè)城市所處的地理位置和氣候條件不同,但是在利用模型模擬時(shí)有相似之處。RNN模型模擬13個(gè)城市的地下水埋深,除張家口、邯鄲、衡水的學(xué)習(xí)率為0.001外,其他城市學(xué)習(xí)率均為0.01,隱藏層的神經(jīng)元數(shù)量全部保持在30以?xún)?nèi),并且數(shù)量為30和10的城市占大多數(shù),共達(dá)9個(gè),迭代次數(shù)大部分都是1 000和1 500;在LSTM模型下學(xué)習(xí)率均為0.001,隱藏層神經(jīng)元除了邯鄲、天津、衡水、邢臺(tái),其他城市均為30,迭代次數(shù)除了保定、天津、衡水,其他均為1 500次。除此之外,也可以明顯看出張家口、邯鄲的RNN模型和LSTM模型的參數(shù)完全一樣,但是由于LSTM模型比RNN模型更能消除梯度爆炸等因素,導(dǎo)致RMSE和MAPE都比RNN模型小,使得模擬結(jié)果更加精確;在SVM模型下,石家莊、保定、滄州、秦皇島和衡水5個(gè)城市選擇的是rbf函數(shù),北京、廊坊、邯鄲、天津、邢臺(tái)選擇的是sigmoid函數(shù),承德、唐山選擇的是linear函數(shù),僅有張家口選擇的是多項(xiàng)式函數(shù)。
表3 不同城市地下水埋深模擬的模型參數(shù)
綜合上述3個(gè)方面,在13個(gè)城市中,LSTM模型變動(dòng)參數(shù)最少,運(yùn)用參數(shù)為5組;SVM模型運(yùn)用參數(shù)次之,運(yùn)用的參數(shù)共達(dá)9組;RNN模型運(yùn)用的參數(shù)最多,達(dá)到10組。但是從參數(shù)變量上來(lái)看,SVM模型參數(shù)變量最多,應(yīng)用的核函數(shù)有4個(gè),再包括C和g一共有6個(gè)參數(shù),是其他兩個(gè)模型的2倍,因此雖然SVM模型應(yīng)用的參數(shù)組數(shù)少,但是根據(jù)其模型運(yùn)行時(shí)間來(lái)看,其適應(yīng)性程度低于RNN模型。所以在考慮模型參數(shù)的適應(yīng)性以及精確程度方面,首選LSTM模型,其次是RNN模型,最后是SVM模型。
為了驗(yàn)證RNN模型、LSTM模型、SVM模型模擬的穩(wěn)定性,隨機(jī)選擇了京津冀地區(qū)6個(gè)測(cè)站進(jìn)行地下水埋深模擬,討論3個(gè)模型在新測(cè)站的適應(yīng)性情況,模擬結(jié)果如圖4所示,隨后采用R2、RMSE、NSE指標(biāo)評(píng)價(jià)模擬結(jié)果,相關(guān)參數(shù)和指標(biāo)計(jì)算結(jié)果見(jiàn)表4。
表4 6個(gè)測(cè)站埋深模擬參數(shù)和誤差指標(biāo)
由圖4可以直觀看出,基于LSTM模型模擬的地下水埋深和實(shí)測(cè)值擬合效果最好,其次是RNN模型、SVM模型。對(duì)于LSTM模型來(lái)說(shuō),其基本能夠?qū)⒙裆畹拿總€(gè)轉(zhuǎn)折趨勢(shì)很好地模擬出來(lái)。表4結(jié)果顯示,LSTM模型在6個(gè)站的擬合精度都達(dá)到0.9以上,RMSE最小,NSE基本都達(dá)到0.8以上,表明該模型是可靠的。RNN模型模擬效果相比于LSTM模型來(lái)說(shuō),轉(zhuǎn)折和峰值表現(xiàn)效果比較差,如宋橋站、高公莊站、鄭莊子和捷地站,甚至高公莊和捷地的NSE指標(biāo)為負(fù)值,表明模型的結(jié)果不可信。對(duì)于SVM模型來(lái)說(shuō),只能將埋深的變化趨勢(shì)大致描述出來(lái),在細(xì)節(jié)方面忽略比較多,這是由于SVM模型中沒(méi)有記憶功能導(dǎo)致的。而且SVM模型的NSE系數(shù)除了宋橋站,其他均為負(fù)數(shù),且比RNN模型大得多,表明SVM模型在模擬華北平原大部分城市或測(cè)站的淺層地下水埋深時(shí)穩(wěn)定性差。這是因?yàn)閭鹘y(tǒng)的機(jī)器學(xué)習(xí)方法在模擬地下水埋深與輸入變量之間的關(guān)系方面有限,當(dāng)輸入變量較多時(shí)循環(huán)神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)可以更好地整合多特征輸入和輸出變量之間的非線性關(guān)系[34-35]。
從參數(shù)的適應(yīng)性角度來(lái)看,6個(gè)測(cè)站的地下水埋深模擬中,LSTM模型僅利用1組參數(shù),RNN模型利用2組參數(shù),而SVM模型利用了6組參數(shù),這也表明LSTM模型的適應(yīng)性最優(yōu)。
a.在京津冀地區(qū)13個(gè)城市的地下水埋深模擬中,LSTM模型模擬效果最好,其次是RNN模型,SVM模型最差,主要原因在于RNN模型具有保留記憶的功能,可以從隱藏神經(jīng)元中提取信息,而LSTM模型在此基礎(chǔ)上進(jìn)一步解決了梯度消失的問(wèn)題,但SVM模型只能從與因變量密切相關(guān)的數(shù)據(jù)中提取特征,當(dāng)處理稍長(zhǎng)的數(shù)據(jù)集時(shí),無(wú)法解決數(shù)據(jù)間的長(zhǎng)期依賴(lài)問(wèn)題。在運(yùn)行時(shí)間方面,RNN模型最短,LSTM模型其次,SVM模型由于參數(shù)過(guò)多,運(yùn)行時(shí)間最長(zhǎng)。
b.在參數(shù)適應(yīng)性方面,不同城市基于LSTM模型進(jìn)行模擬時(shí)調(diào)整的參數(shù)最少,雖然RNN模型和SVM模型應(yīng)用的參數(shù)組數(shù)相似,但是由于SVM模型有過(guò)多的核函數(shù),因此RNN模型參數(shù)適應(yīng)性較好。
c.將3個(gè)模型分別應(yīng)用到隨機(jī)選擇的6個(gè)測(cè)站中進(jìn)行驗(yàn)證,結(jié)果表明LSTM模型適應(yīng)性最好,不僅R2高達(dá)0.9以上,NSE也達(dá)到0.8以上,6個(gè)測(cè)站僅應(yīng)用了1組參數(shù);RNN模型效果其次,SVM模型效果最差,6個(gè)測(cè)站中有5個(gè)測(cè)站的NSE為負(fù)值,沒(méi)有成功應(yīng)用。