袁志洪,陳 雨
(四川大學(xué)電子信息學(xué)院,成都 610065)
水資源與人類的生存和發(fā)展息息相關(guān),日益成為世界各地關(guān)注的熱點(diǎn)之一。由于地表水缺乏,2008 年德克薩斯州抽取地下水進(jìn)行農(nóng)業(yè)灌溉的量占總用水量的81.4%[1]。然而,隨著灌溉農(nóng)業(yè)的不斷發(fā)展及人口數(shù)量的增加,過度開采地下水引發(fā)了水井枯竭,地表塌陷,農(nóng)民農(nóng)業(yè)經(jīng)濟(jì)收入減少[1],生態(tài)系統(tǒng)穩(wěn)定性被破壞[2]等問題。因此,準(zhǔn)確預(yù)測地下水位對合理開發(fā)利用水資源,促進(jìn)地區(qū)的農(nóng)業(yè)經(jīng)濟(jì)發(fā)展等具有重要價值。
數(shù)據(jù)在采集過程中可能因為環(huán)境干擾或者采集裝備發(fā)生故障等,使得觀測數(shù)據(jù)集中存在數(shù)據(jù)缺失和異常值[3],從而造成模型預(yù)測精度下降。為減少數(shù)據(jù)集因存在缺失值對預(yù)測精度的負(fù)面影響,有關(guān)學(xué)者采用了多種方法修復(fù)缺失的數(shù)據(jù),這些方法包括:①刪除法[4],直接刪掉數(shù)據(jù)集中的缺失數(shù)據(jù),但當(dāng)缺失率較高時,該方法往往會忽略缺失數(shù)據(jù)中所包含的關(guān)鍵信息,對模型的預(yù)測性能影響較大;②插補(bǔ)法,常采用三次樣條插值[5]、均值插補(bǔ)、基于K近鄰的插值對數(shù)據(jù)進(jìn)行修復(fù)[6],該方法關(guān)注于原始數(shù)據(jù)集的眾數(shù)、中位數(shù)等統(tǒng)計學(xué)特征,卻未考慮時間序列數(shù)據(jù)具有時序性這一關(guān)鍵特征,插補(bǔ)精度較低;③生成法[7-8]在數(shù)據(jù)修復(fù)中得到了較為廣泛的使用,該方法通過學(xué)習(xí)原始數(shù)據(jù)集的分布特點(diǎn)生成新數(shù)據(jù)以填補(bǔ)缺失值,其中,生成對抗式插補(bǔ)網(wǎng)絡(luò)(generative adversarial impu?tation networks,GAIN)中引入了提示矩陣以輔助鑒別器判斷,促使生成器生成趨于真實(shí)數(shù)據(jù)分布的數(shù)據(jù),以填補(bǔ)缺失值,可以較好地修復(fù)非序列數(shù)據(jù)或圖像中的缺失值,但由于該方法未采取相關(guān)措施處理時間序列數(shù)據(jù)中的時序特征,使得GAIN 模型在修復(fù)具有時序性的數(shù)據(jù)時難以發(fā)揮其效果。
因此,本文對GAIN模型的結(jié)構(gòu)進(jìn)行了改進(jìn),采用深度長短時記憶網(wǎng)絡(luò)(long short term memory,LSTM)[9]作為生成器的核心部分,深度因果卷積網(wǎng)絡(luò)(temporal convolutional network,TCN)[10]作為鑒別器的核心部分,提出了基于LSTM?TCN的地下水位數(shù)據(jù)修復(fù)模型。LSTM?TCN 模型在插補(bǔ)缺失值時考慮了原數(shù)據(jù)集的時序特性和分布特點(diǎn),所以經(jīng)該方法生成的數(shù)據(jù)能更準(zhǔn)確地反映真實(shí)地下水位數(shù)據(jù)的變化規(guī)律和局部特征,有效提高了數(shù)據(jù)集質(zhì)量。由于LSTM 網(wǎng)絡(luò)[11-12]在地下水位預(yù)測上具有良好的表現(xiàn),多頭注意力機(jī)制(multi?head attention mechanism,MA)[13]可為模型的輸入變量賦予不同的注意力權(quán)重,所以本文將兩者相結(jié)合進(jìn)行地下水位預(yù)測,以進(jìn)一步提高LSTM網(wǎng)絡(luò)的地下水位預(yù)測準(zhǔn)確度。
LSTM?TCN 是基于GAIN 模型提出的地下水位數(shù)據(jù)修復(fù)模型,框架如圖1所示。該插補(bǔ)方法的基本結(jié)構(gòu)由生成器、鑒別器兩個核心模塊組成。其中,生成器網(wǎng)絡(luò)通過學(xué)習(xí)真實(shí)地下水位數(shù)據(jù)在不同時間尺度上的特征信息和分布特點(diǎn),生成更接近于真實(shí)數(shù)據(jù)的填充矩陣,并將傳入到鑒別器網(wǎng)絡(luò)中;鑒別器網(wǎng)絡(luò)通過捕獲的時序特征和變化規(guī)律,分辨出該矩陣中哪些元素是真實(shí)值,哪些元素是生成值。通過迭代訓(xùn)練LSTM?TCN 模型,直到鑒別器網(wǎng)絡(luò)無法判別中元素值的真?zhèn)螢橹梗藭r生成器的輸出就是修復(fù)后的地下水位數(shù)據(jù)。

圖1 基于LSTM?TCN的地下水位數(shù)據(jù)修復(fù)框架
本文構(gòu)建的生成器網(wǎng)絡(luò)模型如圖2所示,該網(wǎng)絡(luò)模型的輸入包括含缺失信息的數(shù)據(jù)矩陣=1,2,…,d)、D 維隨機(jī)噪聲向量Z以及掩模矩陣M=(M1,M2,…,Md),輸出的填補(bǔ)矩陣與的維度一致。

圖2 生成器網(wǎng)絡(luò)架構(gòu)
式中:*代指未觀測到的數(shù)據(jù);⊙表示同位元素進(jìn)行相乘。M中的元素值為{}0,1 ,表示該位置的對應(yīng)元素分別是缺失值、真實(shí)值,因此,生成器生成的數(shù)據(jù)矩陣中既有真實(shí)值,也有生成值。生成器網(wǎng)絡(luò)中各模塊的作用如下:
首先,通過堆疊3 個LSTM 層以增加生成器網(wǎng)絡(luò)中隱藏層到隱藏層之間的網(wǎng)絡(luò)層數(shù),將前一時刻的LSTM 層輸出的ct-1和ht-1作為后一時刻的LSTM 層輸入,以此控制向后層神經(jīng)網(wǎng)絡(luò)傳遞的信息,從而使得深度LSTM 網(wǎng)絡(luò)相較于淺層LSTM 網(wǎng)絡(luò)能更好地學(xué)習(xí)真實(shí)地下水位數(shù)據(jù)在不同時間尺度上的特征信息,促使生成器網(wǎng)絡(luò)生成更符合原數(shù)據(jù)分布特點(diǎn)和時序性的假數(shù)據(jù)。然后,將深度LSTM 網(wǎng)絡(luò)的輸出矩陣經(jīng)過全連接層處理后,得到的矩陣維度等于的輸入維度。最后,輸出層中使用sigmoid 激活函數(shù),使得的值域映射在[0,1]之間,便于后續(xù)將輸入到鑒別器網(wǎng)絡(luò)中進(jìn)行訓(xùn)練。因此,所提出的生成器網(wǎng)絡(luò)更適用于捕獲原數(shù)據(jù)集的分布特性和時序特征,使生成的更接近真實(shí)地下水位數(shù)據(jù)。

圖3 TCN網(wǎng)絡(luò)模型
TCN 網(wǎng)絡(luò)由因果卷積,膨脹卷積以及殘差模塊3 部分組成。其中,因果卷積是TCN 網(wǎng)絡(luò)的關(guān)鍵特征,指的是當(dāng)前t時刻的輸出值yt僅依賴于前一層t時刻和t時刻之前發(fā)生的元素卷積,具有因果性。膨脹卷積通過控制感受野大小來控制卷積核的學(xué)習(xí)范圍,其表達(dá)式為
式中:X={x1,x2,…,xt}為輸入值;k表示卷積核的大?。?為卷積運(yùn)算符;d為膨脹因子。殘差模塊進(jìn)一步優(yōu)化了該網(wǎng)絡(luò)模型,能較好地解決由于神經(jīng)網(wǎng)絡(luò)層數(shù)較深時出現(xiàn)的過擬合以及梯別度器消網(wǎng)失絡(luò)等的問一題部。分因,此有,利采于用鑒T別C器N網(wǎng)網(wǎng)絡(luò)絡(luò)作判為斷鑒中的對應(yīng)元素值的真?zhèn)巍?/p>
LSTM-TCN 模型中的提示機(jī)制H,用于向鑒別器提示信息,促使生成器生成符合原數(shù)據(jù)集分布特點(diǎn)的數(shù)據(jù),以插補(bǔ)缺失值。H定義為
式中:D維隨機(jī)變量B取值為{0, 1};H取值為{ }0,0.5,1 。當(dāng)H中的元素值為0 或1 時,用于提示鑒別器此值是生成的假數(shù)據(jù)(取值為0)還是真實(shí)數(shù)據(jù)(取值為1);當(dāng)元素值為0.5 時,鑒別器自行判斷此元素值的真?zhèn)巍?/p>
評估函數(shù)通過最大化正確預(yù)測M的概率來訓(xùn)練鑒別器,最小化鑒別器能正確預(yù)測M的概率來訓(xùn)練生成器,其公式定義如下:
式中的G和D分別表示生成器、鑒別器。
Transformer 模型[13]中的多頭注意力機(jī)制是一種特殊的自注意力機(jī)制,它的基礎(chǔ)單元是單頭注意力機(jī)制,其第i個單頭的注意值為
式中:Q、K、V三個矩陣的維度均為dk,分別表示查詢、鍵、值;縮放因子dk為序列的輸入維度,用于調(diào)節(jié)hi的值,避免反向傳播時產(chǎn)生梯度消失的現(xiàn)象。將多個單頭注意力機(jī)制并聯(lián)后經(jīng)過線性層映射得到多頭注意力機(jī)制,其計算公式如下:
式中:⊕表示向量之間進(jìn)行拼接操作;W0為權(quán)重矩陣;n為總頭數(shù)。
觀測井位于德克薩斯州奧加拉拉含水層,數(shù)據(jù)的時間范圍為2001 年6 月7 日到2022 年4 月8 日,以周為單位進(jìn)行提取,獲得共1088條時序數(shù)據(jù)作為實(shí)驗數(shù)據(jù),經(jīng)初步整理后發(fā)現(xiàn),地下水位數(shù)據(jù)集中的缺失數(shù)據(jù)條數(shù)為62 條,缺失率約為5.70%。由于缺失數(shù)據(jù)較多,因此預(yù)測前需要使用合理方法修復(fù)缺失數(shù)據(jù),以提高后續(xù)地下水位的預(yù)測準(zhǔn)確度。
地下水?dāng)?shù)據(jù)來源于德克薩斯州水資源開發(fā)委員會,引入的降水、溫度和蒸發(fā)量數(shù)據(jù)均來源于PRISM 衛(wèi)星,分辨率為4 km??蓪⑦b感圖像中提取獲得的氣象數(shù)據(jù)和地下水位數(shù)據(jù)相結(jié)合,用于預(yù)測地下水位數(shù)據(jù)的動態(tài)變化[14]。因此,實(shí)驗中使用修復(fù)后的地下水位數(shù)據(jù)、降水、溫度及蒸發(fā)量數(shù)據(jù)整合后作為預(yù)測模型的輸入值,以地下水位作為預(yù)測模型的輸出值。
進(jìn)行地下水位預(yù)測前,將實(shí)驗數(shù)據(jù)集的前80% 作為訓(xùn)練數(shù)據(jù)集,后20% 劃分為測試數(shù)據(jù)集。并將輸入數(shù)據(jù)和目標(biāo)數(shù)據(jù)均歸一化到[0,1]之間,避免因數(shù)據(jù)尺度影響模型的預(yù)測效果。然后采用滑動窗口法對實(shí)驗數(shù)據(jù)集進(jìn)行處理,使用前10周的地下水位來預(yù)測未來1周的地下水位。
為衡量本文所提模型的地下水位預(yù)測效果,使用均方根誤差(root mean square,RMSE)和平均絕對誤差(mean absolute error,MAE)作為評價指標(biāo),公式如下:
RMSE定義為預(yù)測值與實(shí)際值之間的誤差平方根的均值,反映了兩者之間的偏差程度;MAE用于評估預(yù)測值與真實(shí)值之間的平均絕對誤差。兩者數(shù)值越小,模型預(yù)測性能越好。
由于地下水位數(shù)據(jù)集中包含缺失值,導(dǎo)致不能直接評估不同插補(bǔ)算法的插補(bǔ)精度,因此,文中借助地下水位的預(yù)測結(jié)果來間接評估不同插補(bǔ)方法的插補(bǔ)精度。為驗證所提方法的可靠性,文中的實(shí)驗由兩部分組成。
(1)從地下水位數(shù)據(jù)集中選擇一部分完整連續(xù)的子序列作為樣本數(shù)據(jù),首先按照不同比例隨機(jī)缺失樣本數(shù)據(jù)以構(gòu)造缺失子序列,然后使用各種插補(bǔ)方法填補(bǔ)缺失的子序列,將插補(bǔ)后的子序列與真實(shí)子序列進(jìn)行對比,可直接驗證不同插補(bǔ)方法在小數(shù)據(jù)集上的插補(bǔ)精度。
(2)對于含缺失值的整個地下水位數(shù)據(jù)集,首先使用不同插補(bǔ)方法對該數(shù)據(jù)集進(jìn)行插補(bǔ),然后將不同方法插補(bǔ)后的地下水位數(shù)據(jù)集與相關(guān)氣象變量(降水、溫度及蒸發(fā)量數(shù)據(jù))整合后分別輸入到不同模型進(jìn)行訓(xùn)練及預(yù)測,最后通過地下水位的預(yù)測結(jié)果間接驗證LSTM?TCN 插補(bǔ)方法的有效性。
分別將LSTM、TCN 網(wǎng)絡(luò)進(jìn)行組合后得到另外3 種插補(bǔ)方法,即TCN?LSTM,LSTM?LSTM,TCN?TCN(生成器-鑒別器)。為驗證所提LSTM?TCN方法的修復(fù)效果,將上述3 種插補(bǔ)方法、GAIN 網(wǎng)絡(luò)以及常用插補(bǔ)方法作為插補(bǔ)實(shí)驗的對照組。
首先,從原始地下水?dāng)?shù)據(jù)集中篩選出不含缺失值且連續(xù)的子序列作為樣本數(shù)據(jù),對應(yīng)時間為2012 年2 月12 日 至2020 年8 月2 日,長度為443 條。然后,按照缺失率5%,10%,15%,20%,25%分別模擬隨機(jī)缺失數(shù)據(jù),圖4展示了缺失率為5% 的子序列未插補(bǔ)缺失值之前的效果。最后,使用多種插補(bǔ)方法對不同缺失程度的子序列進(jìn)行插補(bǔ),以評價指標(biāo)RMSE來衡量各插補(bǔ)方法的修復(fù)效果,如表1 所示。

表1 不同缺失率下的子序列插補(bǔ)誤差

圖4 缺失率為5%的子序列
對比表1 中RMSE的值可看出,對不同缺失率下的子序列進(jìn)行插補(bǔ)時,本文提出的LSTM?TCN方法的插值精度均明顯優(yōu)于其余插補(bǔ)方法。在子序列的缺失率分別為5%、10%、15%、20%、25%時,相較于GAIN 模型,采用該方法插補(bǔ)后其RMSE分別降低了50.29%、41.41%、48.60%、37.09%及33.22%。
影響地下水位的輸入變量較多,且輸入變量存在重要程度差異性。因此,本文將MA 與LSTM 相結(jié)合來預(yù)測地下水位,通過各單頭注意力機(jī)制為輸入變量賦予不同的注意力權(quán)重,使MA?LSTM 模型可更好地捕獲輸入變量中的關(guān)鍵特征,從而進(jìn)一步提高模型的預(yù)測準(zhǔn)確度。為驗證MA?LSTM 模型的預(yù)測效果,實(shí)驗中使用了幾種經(jīng)典預(yù)測模型:ARIMAX、LSTM、Bi?LSTM進(jìn)行對照實(shí)驗。
多元自回歸移動平均模型(autoregressive moving average with extra input,ARIMAX)根據(jù)數(shù)據(jù)集的單位與檢驗和差分次數(shù)確定該模型的d為0,設(shè)置p和q值均為0~20之間,再結(jié)合貝葉斯準(zhǔn)則[15]和網(wǎng)格搜索法得到ARIMAX 模型d、p以及q值的最佳組合。以網(wǎng)格搜索法選擇其余預(yù)測模型的超參數(shù),如網(wǎng)絡(luò)層數(shù)、訓(xùn)練批數(shù)、學(xué)習(xí)率、神經(jīng)元個數(shù)等。
將LSTM?TCN 方法修復(fù)后的地下水位數(shù)據(jù)集(缺失率為5%的子序列)及相關(guān)氣象變量數(shù)據(jù)整合后輸入到各預(yù)測模型中進(jìn)行預(yù)見期為1周的地下水位預(yù)測,圖5 展示了各預(yù)測模型在修復(fù)后的子實(shí)驗數(shù)據(jù)集上(2012 年2 月12 日至2020年8月2日)進(jìn)行地下水位預(yù)測時的誤差。

圖5 各預(yù)測模型的誤差對比
由圖5中RMSE和MAE的數(shù)值可知,使用修復(fù)后的子實(shí)驗數(shù)據(jù)集分別進(jìn)行訓(xùn)練及預(yù)測時,MA?LSTM 模型對應(yīng)的RMSE和MAE值均最小,該模型的地下水位預(yù)測效果最佳。MA?LSTM 模型相較于Bi?LSTM 模型、LSTM 模型及ARIMAX模型,其RMSE分別降低了3.50%、14.25%、22.10%,其MAE分別降低了4.79%、15.56%、15.59%。
為進(jìn)一步驗證不同插補(bǔ)模型對地下水位預(yù)測結(jié)果的影響,分別使用各插補(bǔ)模型修復(fù)含缺失值的整個地下水位數(shù)據(jù)集,然后將修復(fù)后的整個地下水位數(shù)據(jù)集及相關(guān)氣象變量數(shù)據(jù)整合后作為實(shí)驗數(shù)據(jù)集,各自輸入到AIMAX、LSTM、Bi?LSTM 及MA?LSTM 模型中進(jìn)行地下水位預(yù)測,所得RMSE和MAE如表2所示。

表2 不同插補(bǔ)方法修復(fù)整個序列后各預(yù)測模型的RMSE和MAE
從表2 可知,使用LSTM?TCN 方法插補(bǔ)后的實(shí)驗數(shù)據(jù)集分別訓(xùn)練ARIMAX、LSTM、Bi?LSTM、MA?LSTM 模型,均獲得了更高的預(yù)測精度。在各預(yù)測模型中,MA?LSTM 模型的預(yù)測性能最佳,LSTM?TCN 方法修復(fù)后的地下水位數(shù)據(jù)及MA?LSTM 模型的預(yù)測值如圖6 所示。相較于GAIN 網(wǎng)絡(luò),使用LSTM?TCN 方法修復(fù)后的數(shù)據(jù)集訓(xùn)練MA?LSTM 模型,能夠使MA?LSTM 模型的RMSE 和MAE 分別降低21.27%、32.66%,獲得了更準(zhǔn)確的地下水位數(shù)據(jù)預(yù)測結(jié)果。因此,可認(rèn)為使用LSTM?TCN 模型修復(fù)含缺失值的地下水位數(shù)據(jù)集時,能更有效地提高數(shù)據(jù)集的質(zhì)量,使得各預(yù)測模型能從修復(fù)后的數(shù)據(jù)集中學(xué)到更精確的特征信息,從而提高了模型的地下水位預(yù)測精度。

圖6 LSTM?TCN模型修復(fù)整個序列后的預(yù)測結(jié)果
針對地下水位數(shù)據(jù)集中存在較多缺失值情況下的高精度地下水位預(yù)測需求,本文提出了基于LSTM?TCN 的地下水位數(shù)據(jù)修復(fù)模型,改進(jìn)了GAIN 網(wǎng)絡(luò)的結(jié)構(gòu)。改進(jìn)后,LSTM?TCN 模型能夠較好地學(xué)習(xí)原數(shù)據(jù)集的分布特點(diǎn)和時序特性,采用該修復(fù)模型對不同缺失率的地下水位數(shù)據(jù)集進(jìn)行插補(bǔ)時,均能生成更接近真實(shí)值的假數(shù)據(jù),顯著提高了地下水位數(shù)據(jù)集的質(zhì)量。然后,對于地下水位預(yù)測模型,本文引入了多頭注意力機(jī)制為輸入變量賦予不同的注意力權(quán)重,使得LSTM 模型能更好地捕獲實(shí)驗數(shù)據(jù)集中的關(guān)鍵特征,進(jìn)一步提高了地下水位的預(yù)測精度。