李占利 邢金莎 靳紅梅 李洪安 張 蘊
(西安科技大學(xué)計算機科學(xué)與技術(shù)學(xué)院 西安710600)
礦井涌水量是指煤礦開采過程中,地表水或地下水通過裂隙、斷層等各種通道在單位時間內(nèi)涌入井巷系統(tǒng)的水量,當(dāng)?shù)V井涌水量超過礦井自身排水能力時會導(dǎo)致煤礦透水事故的發(fā)生[1]。因此,準(zhǔn)確預(yù)測礦井涌水量對礦井的安全生產(chǎn)和效益等各方面具有重要意義。
現(xiàn)有的涌水量預(yù)測方法包括解析法、數(shù)值法、水文地質(zhì)比擬法、水均衡法和神經(jīng)網(wǎng)絡(luò)模型等。解析法運用地下水動力學(xué)原理,對一定邊界條件和初始條件下的地下水流動問題建立定解方程,以此預(yù)測涌水量。解析法的實現(xiàn)較為簡便,但在大降深、不規(guī)則的條件下,涌水量預(yù)測結(jié)果誤差較大[2]。數(shù)值法通過求解滲流偏微分方程獲得涌水量的近似值,它適用于解決許多復(fù)雜條件下的礦井涌水量問題。但由于開采條件變化大、不確定因素多,方程的建立是在一定假設(shè)和地質(zhì)結(jié)構(gòu)簡化的基礎(chǔ)上,預(yù)測結(jié)果只是近似值[3]。水文地質(zhì)比擬法以現(xiàn)有生產(chǎn)礦井的實際水文地質(zhì)資料類比計算預(yù)測水文地質(zhì)條件相同礦井的涌水量,該方法計算簡單,但精度低,應(yīng)用范圍受限制[4]。水均衡法通過對礦井內(nèi)的補給、徑流、排泄及源匯等補排條件關(guān)系的研究,建立水均衡方程預(yù)測涌水量,該方法需要的參數(shù)較少,但難以計算地下水均衡的各個組成部分[5]。以上方法基于所開采礦區(qū)地質(zhì)條件和水文地質(zhì)參數(shù)建立方程實現(xiàn)預(yù)測,不具備通用性?,F(xiàn)有越來越多的神經(jīng)網(wǎng)絡(luò)模型應(yīng)用到礦井水文地質(zhì)災(zāi)害監(jiān)測預(yù)警領(lǐng)域,尤其是反向傳播(back propagation,BP)和長短時記憶網(wǎng)絡(luò)(long short-term memory,LSTM)神經(jīng)網(wǎng)絡(luò)[6-7]。BP 神經(jīng)網(wǎng)絡(luò)具有良好的非線性和泛化逼近能力,但BP 神經(jīng)網(wǎng)絡(luò)也存在網(wǎng)絡(luò)結(jié)構(gòu)難以確定、預(yù)測精度低等問題,而LSTM 網(wǎng)絡(luò)作為具有記憶能力的循環(huán)神經(jīng)網(wǎng)絡(luò),可以學(xué)習(xí)序列數(shù)據(jù)的狀態(tài)特征,更加適用于明渠流量的預(yù)測[8]。另外,目前所構(gòu)建的神經(jīng)網(wǎng)絡(luò)模型通過挖掘地質(zhì)參數(shù)與涌水量關(guān)聯(lián)關(guān)系建立預(yù)測模型,但預(yù)測值多以年或月為單位,不具備實時性[9]。
礦井開采過程中,通過抽取設(shè)備獲取的明渠流量可以反映礦井涌水量的變化,是實時了解礦井采區(qū)水文地質(zhì)條件變化的唯一顯性標(biāo)志數(shù)據(jù)[10]。本文提出一種基于經(jīng)驗?zāi)B(tài)分解(empirical mode decomposition,EMD)和時序注意力機制結(jié)合的明渠流量預(yù)測模型,通過預(yù)測的明渠流量來反映短期內(nèi)涌水量的變化情況,不過多依賴礦區(qū)水文地質(zhì)參數(shù),具有通用性,并且預(yù)測值以分鐘為單位,具有一定實時性。該模型首先通過EMD 將數(shù)據(jù)分解為各個子分量;其次在LSTM 基礎(chǔ)上引入注意力機制構(gòu)造時序注意力機制模型(temporal attention based on LSTM,TA-LSTM)增強歷史時間點的信息表達;最后將各個子分量分別通過TA-LSTM 訓(xùn)練學(xué)習(xí),并將各分量預(yù)測結(jié)果融合得到最終預(yù)測值。為了驗證本文方法的有效性,對礦井采集的明渠流量數(shù)據(jù)分別采用BP、LSTM、TA-LSTM、EMD-LSTM 模型和本文提出的EMD-TA-LSTM 模型進行了對比實驗,結(jié)果表明本文方法可以預(yù)測出數(shù)據(jù)的整體變化趨勢,也可以及時預(yù)測數(shù)據(jù)的波動情況。
EMD 算法可將序列分解為有限個不同時間尺度上的本征模態(tài)函數(shù)分量(intrinsic mode function,IMF)和一個殘差余量,它們分別反映原始序列的波動特征和趨勢特征[11-12]。EMD 分解過程中IMF 分量必須滿足2 個條件:(1)極值點和過零點個數(shù)必須相等或相差最多不超過1 個;(2)在任意時刻,由局部極大值點和極小值點形成的上下包絡(luò)線平均值為0。
通過EMD 對數(shù)據(jù)s(t) 進行分解,步驟如下。
(1) 根據(jù)s(t)的上下極值點擬合s(t)的上下包絡(luò)線[13],計算2 個包絡(luò)線的均值包絡(luò)線m(t)。
(2) 令s(t) 減去m(t)的差值為中間信號C(t)。
(3) 判斷C(t) 是否滿足IMF 條件,若滿足,即為第1 個IMF 分量,記為IMF1,令s(t) 減去IMF1分量的差值為r(t);若不滿足,以C(t) 為基礎(chǔ)重復(fù)步驟(1)~(3)。
若此時r(t)的均值包絡(luò)線趨近于0,即滿足分解結(jié)束條件,分解結(jié)束。否則,以r(t) 為基礎(chǔ)重復(fù)步驟(1)~(3)。設(shè)分解結(jié)束得到的各個模式分量和殘差余量分別為C1(t)、C2(t)、…、Cn(t) 和r(t),則原始數(shù)據(jù)可表示為
LSTM 網(wǎng)絡(luò)通過增加門結(jié)構(gòu)解決了傳統(tǒng)循環(huán)神經(jīng)網(wǎng)絡(luò)(recurrent neural network,RNN)長期記憶能力不足的問題,使得RNN 能夠真正有效地利用長距離的時序信息[14]。
LSTM 網(wǎng)絡(luò)結(jié)構(gòu)如圖1 所示,xt為當(dāng)前時刻輸入,ht-1和st-1分別為上一時刻隱藏層狀態(tài)和門控單元狀態(tài),遺忘門選擇性丟棄歷史信息,輸入門保留當(dāng)前信息并與歷史信息融合,輸出門決定當(dāng)前門控單元狀態(tài)對隱藏層輸出的影響,LSTM 網(wǎng)絡(luò)最終輸出由輸出門和門控單元共同決定[15],可表示為
圖1 LSTM 網(wǎng)絡(luò)結(jié)構(gòu)
式中,it、ft、ot依次表示輸入門、遺忘門、輸出門3 類門結(jié)構(gòu);ht-1是前一時刻隱藏層單元的輸出信息,ht代表當(dāng)前輸出信息;cell 單元則用st表示;Wi和bi、Wf和bf、Wo和bo、Ws和bs分別為輸入門、遺忘門、輸出門和門控單元的權(quán)值矩陣和偏置項;σ和tanh分別為sigmoid 和雙曲正切激活函數(shù);☉表示矩陣以元素相乘。
明渠流量數(shù)據(jù)可以實時反映井下涌水量的變換情況,該數(shù)據(jù)受地質(zhì)環(huán)境和水文地質(zhì)條件等各方面影響,變化較為復(fù)雜,傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)模型難以對其進行準(zhǔn)確預(yù)測。為了提高預(yù)測精度,本文提出EMD-TA-LSTM 預(yù)測模型,該模型主要包括3 部分:(1)通過EMD 將明渠流量分解為不同頻率下的子分量,挖掘原始數(shù)據(jù)下的多維特征;(2)在LSTM 基礎(chǔ)上加入注意力機制增強歷史時間點的關(guān)鍵信息;(3)將EMD 分解后的各分量分別通過時序注意力機制進行預(yù)測,對各分量預(yù)測值進行融合得到最終結(jié)果。
注意力機制的主要思想是針對輸入序列中影響輸出結(jié)果的關(guān)鍵部分分配較多的注意力,更好地學(xué)習(xí)輸入序列中的信息[16]。TA-LSTM 網(wǎng)絡(luò)結(jié)構(gòu)如圖2 所示,包括輸入層、LSTM 隱藏層、Attention 層、全連接層和輸出的預(yù)測值。該網(wǎng)絡(luò)模型以LSTM 為基礎(chǔ),結(jié)合注意力機制進行關(guān)鍵時刻信息的自提取,挖掘前t個歷史時刻的信息對第t+1 時刻待預(yù)測值的影響程度。模型函數(shù)可映射為F,預(yù)測值可表達為
圖2 中輸入層為某一時間段內(nèi)的數(shù)據(jù),表示為{x1,x2,…,xt}。在隱藏層之前,需對訓(xùn)練集進行重構(gòu),重構(gòu)為[訓(xùn)練樣本數(shù),t,1]的三維矩陣,以構(gòu)建LSTM 網(wǎng)絡(luò)模型的輸入要求。通過LSTM 網(wǎng)絡(luò)處理輸入數(shù)據(jù),實現(xiàn)高層次的特征學(xué)習(xí),得到輸出序列ht。然后將隱藏層的輸出作為注意力機制的輸入,通過網(wǎng)絡(luò)模型不斷學(xué)習(xí)計算各個輸入分配的注意力概率分布值ut,如式(8),并通過式(9)對權(quán)重進行歸一化得到權(quán)重向量αt,且滿足式(10)。根據(jù)式(11)將αt與ht進行加權(quán)求和得到新的向量ct,輸入到全連接層中,最后計算出預(yù)測值。
圖2 TA-LSTM 網(wǎng)絡(luò)結(jié)構(gòu)
式中,W為權(quán)重矩陣,b為偏置參數(shù),tanh 為雙曲正切函數(shù)。
本文提出的基于EMD 與時序注意力機制結(jié)合的明渠流量預(yù)測模型流程圖如圖3 所示。
圖3 EMD-TA-LSTM 預(yù)測模型流程圖
該模型通過EMD 將明渠流量進行分解,對分解后各子分量根據(jù)式(12)進行Min-Max 歸一化處理,將數(shù)據(jù)歸一化到[0,1]之間,這樣做的目的是為了提高模型的預(yù)測精度和效率。
式中,Xmin和Xmax分別代表數(shù)據(jù)中的最小值和最大值。
EMD 算法在分解過程中不改變原始數(shù)據(jù)的屬性,即所有原數(shù)據(jù)擁有的特性都會被保留,且各分量都可以體現(xiàn)出原始數(shù)據(jù)的部分特性[17]。EMD 分解后的各子分量從高頻到低頻依次得到,其中高頻分量包含數(shù)據(jù)的主要特征,并且各分量具有不同的特征尺度,它們之間的相互影響被隔離,利用這種隔離可以減小明渠流量本身的非平穩(wěn)性和非線性在預(yù)測中帶來的誤差。
TA-LSTM 模型主要包括LSTM 網(wǎng)絡(luò)和注意力機制兩大部分。LSTM 網(wǎng)絡(luò)中特有的門機制可以改善傳統(tǒng)RNN 本身的梯度衰減問題,能夠更好地捕捉時間序列中時間步距離較大時的依賴關(guān)系,有效地利用長時序信息。LSTM 層的加入是為了網(wǎng)絡(luò)訓(xùn)練學(xué)習(xí)過程中選擇記住重要的信息,遺忘不重要的。LSTM 層數(shù)過多,網(wǎng)絡(luò)訓(xùn)練會消耗大量時間,所以會綜合考慮預(yù)測效果最佳且用時較少時的層數(shù),本文LSTM 層數(shù)設(shè)置為3 層。注意力機制的作用是通過注意力機制學(xué)習(xí)歷史時序數(shù)據(jù)對待預(yù)測時刻的影響程度,突出關(guān)鍵時間點的重要性。在注意力機制層中,根據(jù)當(dāng)前層輸入計算權(quán)重向量,然后將權(quán)重向量與當(dāng)前層輸入向量合并得到新的向量,隨后輸入到全連接層,通過全連接層進行局部特征整合,最后計算出預(yù)測值。
基于EMD-TA-LSTM的明渠流量預(yù)測模型具體步驟如下。
(1) 明渠流量分解。通過EMD 算法將明渠流量分解為n組頻率不同的本征模態(tài)函數(shù)分量{IMF1,IMF2,…,IMFn} 和一個殘差余量r。
(2) 歸一化處理。通過式(12)將分解后的各分量分別進行歸一化處理。
(3) 各分量對應(yīng)網(wǎng)絡(luò)模型的神經(jīng)元個數(shù)。對各分量分別搭建TA-LSTM 模型,通過多次訓(xùn)練并對比訓(xùn)練集的網(wǎng)絡(luò)誤差大小確定最終輸入層和隱藏層神經(jīng)元個數(shù)。
(4) 預(yù)測。訓(xùn)練集樣本在TA-LSTM 模型預(yù)測之前,通過網(wǎng)格參數(shù)搜索法訓(xùn)練學(xué)習(xí),確定各分量對應(yīng)的網(wǎng)絡(luò)各種必要參數(shù),訓(xùn)練完成后對各分量測試集樣本進行預(yù)測,從而得到各分量歸一化的預(yù)測值。
(5) 融合。將各分量預(yù)測結(jié)果進行逆歸一化處理,并融合得到最終預(yù)測值。
本文實驗在Win10 64 位系統(tǒng)下進行,處理器為Inter(R) Core(TM) i5-8300H CPU @2.30 GHz 2.30 GHz,基于Python3.6 環(huán)境和keras 框架,keras版本為2.2.4。實驗數(shù)據(jù)選取開灤集團東歡陀煤礦采集的明渠流量數(shù)據(jù)為研究對象(見圖4),在實際采集過程中,每5 min 統(tǒng)計一次,共2400 組。從圖4中可以看出,數(shù)據(jù)呈現(xiàn)強烈的振蕩特性和一定的趨勢性,但并不具有明顯的規(guī)律特性,若使用單一的神經(jīng)網(wǎng)絡(luò)模型,則預(yù)測難度較大。對明渠流量數(shù)據(jù)進行EMD 分解,分解結(jié)果見圖5,共11 個子分量,從上到下分別為10 個IMF 分量和1 個殘差分量。從圖5 可以看出各分量按頻率從高到低排列,即最先得到的第1 個分量為最高頻分量IMF1,然后是次高頻分量IMF2,依次類推,最后是頻率接近于0的殘差分量。對比圖4,各IMF 分量反映數(shù)據(jù)在不同時間尺度上的波動特征,殘差分量反映數(shù)據(jù)的長期趨勢特征。
圖4 東歡陀煤礦明渠流量序列圖
圖5 EMD 分解序列圖3 實驗驗證
對分解后的每個子分量都采用留出法將其劃分為2 個互斥的集合,其中一個集合作為訓(xùn)練集,另一個集合作為測試集,本文將前80%組數(shù)據(jù)作為訓(xùn)練集,后20%作為測試集。
通過深度學(xué)習(xí)keras 庫構(gòu)建時序注意力機制預(yù)測模型,分別對分解后的每個子分量進行訓(xùn)練學(xué)習(xí),模型具體網(wǎng)絡(luò)參數(shù)設(shè)置如下。
(1) 輸入層、輸出層。神經(jīng)元數(shù)目由輸入變量和輸出變量決定。明渠流量數(shù)據(jù)每5 min 統(tǒng)計一次,綜合考慮數(shù)據(jù)的變化趨勢,并進行多次嘗試,最終本文將前20 個時間點的數(shù)據(jù)作為特征,下一個時間點數(shù)據(jù)作為標(biāo)簽,創(chuàng)建特征集和標(biāo)簽集。意為用前20 個時間點的數(shù)據(jù)預(yù)測后一時刻時間點數(shù)據(jù),所以輸入層神經(jīng)元個數(shù)為20,輸出層神經(jīng)元個數(shù)為1。
(2) 優(yōu)化器、神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)方法。本文選擇Adam 優(yōu)化器,它結(jié)合了AdaGrad 和RMSProp 2 種算法的優(yōu)點,計算高效,對內(nèi)存需求少,參數(shù)的更新不受梯度的伸縮變換影響。
(3) 損失函數(shù)。神經(jīng)網(wǎng)絡(luò)訓(xùn)練時試圖最小化的目標(biāo)函數(shù),損失函數(shù)的選取取決于輸入標(biāo)簽數(shù)據(jù)的類型,因為本文輸入的是數(shù)值,所以將損失函數(shù)參數(shù)設(shè)置為均方誤差(mean square error,MSE)。
目前,神經(jīng)網(wǎng)絡(luò)隱藏層神經(jīng)元個數(shù)根據(jù)經(jīng)驗設(shè)置,重復(fù)進行多次實驗后,比較不同數(shù)量的隱含層神經(jīng)元個數(shù)的預(yù)測誤差。當(dāng)隱含層神經(jīng)元個數(shù)為32時,預(yù)測結(jié)果與實際值的均方根誤差最小。
在同一數(shù)據(jù)集上用BP、LSTM、TA-LSTM、EMDLSTM 與本文提出的EMD-TA-LSTM 模型在迭代次數(shù)都為100的情況下進行了對比實驗,預(yù)測結(jié)果如圖6 所示。
圖6 各模型預(yù)測對比圖
從圖6~圖9 中可以看出:(1)對比BP 和LSTM神經(jīng)網(wǎng)絡(luò),兩者的預(yù)測結(jié)果都具備良好的趨勢性,但LSTM 模型相比于BP 模型更能預(yù)測出原始數(shù)據(jù)的波動特性,如圖8 中BP 模型在時間為180 和220 左右預(yù)測結(jié)果與實際數(shù)值誤差過大,所以對于波動性強烈且非線性的明渠流量數(shù)據(jù)來說,LSTM 神經(jīng)網(wǎng)絡(luò)更合適。(2)對比LSTM 和TA-LSTM 模型預(yù)測結(jié)果,TA-LSTM 模型具備更好的跟隨性和波動性,如圖7 時間在60~80 范圍內(nèi)TA-LSTM 模型預(yù)測結(jié)果更接近實際值。(3) 對比LSTM、EMD-LSTM 和EMD-TA-LSTM 模型預(yù)測結(jié)果,雖然EMD-LSTM 和EMD-TA-LSTM 模型預(yù)測結(jié)果都幾乎與原始數(shù)據(jù)保持一致的趨勢性和波動性,但在數(shù)據(jù)突然有較大范圍變化時,EMD-TA-LSTM 可以及時捕捉并進行預(yù)測,如圖7 時間在60~80 范圍內(nèi)有2 次數(shù)據(jù)突變的情況時EMD-TA-LSTM的預(yù)測效果均好于EMDLSTM,預(yù)測值更接近實際值。從圖10 中各模型預(yù)測誤差可以看出,EMD-TA-LSTM 模型的誤差明顯小于其他模型,尤其是相對于傳統(tǒng)的BP 和LSTM 模型誤差降低了將近一半,相比于TA-LSTM 和EMDLSTM 模型誤差也有所降低,進一步說明本文方法更適合用于明渠流量的預(yù)測。
圖7 0~150 時間段內(nèi)各模型預(yù)測放大對比圖
圖8 150~275 時間段內(nèi)各模型預(yù)測放大對比圖
圖9 275~373 時間段內(nèi)各模型預(yù)測放大對比圖
圖10 各模型預(yù)測絕對誤差對比圖
針對各預(yù)測模型采用預(yù)測評價指標(biāo)為均方根誤差(root mean squared error,RMSE)和平均絕對百分比誤差(mean absolute percentage error,MAPE),并對預(yù)測結(jié)果進一步分析。各模型預(yù)測性能評估如表1所示。值越小代表預(yù)測精度越高,預(yù)測指標(biāo)如下:
式中,xactual代表真實值,xforecasting代表預(yù)測值,n為預(yù)測值和真實值個數(shù)。
從表1 中各模型預(yù)測性能評估值來看,本文所提出模型的均方根誤差和平均絕對百分比誤差分別比單一預(yù)測模型BP 降低了49.2%、45.8%,比單一預(yù)測模型LSTM 降低了43.4%、47.7%,比EMDLSTM 降低了11.3%、7.9%,比LSTM-Attention 降低了34.9%、36.3%。依據(jù)誤差指標(biāo)來看,本文所提模型預(yù)測精度最高,說明將明渠流量通過EMD 分解轉(zhuǎn)換為多個子分量,然后建立EMD-TA-LSTM 模型進行預(yù)測可以在原有LSTM的基礎(chǔ)上提高預(yù)測精度。
表1 各模型預(yù)測誤差值對比
本文提出一種基于EMD 和時序注意力機制結(jié)合的礦井明渠流量預(yù)測模型。該模型通過EMD 提取明渠流量數(shù)據(jù)在不同時間維度上的波動趨勢和趨勢特征,將對明渠流量的研究轉(zhuǎn)換為對其分解后各子分量的研究。針對LSTM 網(wǎng)絡(luò)在輸入長序列時信息容易丟失的問題,在LSTM的基礎(chǔ)上引入注意力機制構(gòu)造時序注意力機制模型,通過該模型訓(xùn)練學(xué)習(xí)突出歷史關(guān)鍵時間點的重要信息,挖掘每一時刻對當(dāng)前時刻的影響程度。經(jīng)過實驗驗證,本文提出的模型預(yù)測效果最好,通過對明渠流量的準(zhǔn)確預(yù)測可以為礦井防治涌水、排水系統(tǒng)設(shè)計和煤礦安全方面提供技術(shù)支持。
該模型不僅適用于對明渠流量的預(yù)測,也為其他領(lǐng)域的預(yù)測研究提供了新思路。但是本文模型的建立沒有考慮影響明渠流量相關(guān)的變量,如礦區(qū)開采過程的埋深、溫度、降雨量等,因此,在此基礎(chǔ)上充分利用相關(guān)變量建立預(yù)測模型,提高模型的適用性為下一步研究的重點。