李占利,邢金莎,靳紅梅,李洪安
(西安科技大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,西安 710600)
礦井涌水量是指礦井開采過(guò)程中,地表水或地下水通過(guò)裂隙、斷層等各種通道在單位時(shí)間內(nèi)涌入井巷系統(tǒng)的水量.當(dāng)?shù)V井涌水量超過(guò)礦井自身排水能力時(shí)會(huì)導(dǎo)致礦井水害事故的發(fā)生[1],涌水量直接關(guān)系著煤礦采掘方案和排水能力設(shè)計(jì)的合理性,更決定了煤礦是否能夠安全生產(chǎn),因此,礦井涌水量的準(zhǔn)確預(yù)測(cè)具有重要意義[2].
在礦井生產(chǎn)過(guò)程中,形成了許多關(guān)于涌水量預(yù)測(cè)的方法.解析法運(yùn)用地下水動(dòng)力學(xué)原理,對(duì)一定邊界條件和初始條件下的地下水流動(dòng)問(wèn)題建立定解方程,以此預(yù)測(cè)涌水量,實(shí)現(xiàn)較為簡(jiǎn)便,但在大降深、不規(guī)則的條件下,涌水量預(yù)測(cè)結(jié)果誤差較大[3].水均衡法通過(guò)對(duì)礦井內(nèi)的補(bǔ)給、徑流、排泄及源匯等補(bǔ)排條件關(guān)系的研究,建立水均衡方程以預(yù)測(cè)涌水量,該方法需要的參數(shù)較少,但難以計(jì)算地下水均衡的各個(gè)組成部分[4].數(shù)值法通過(guò)求解滲流偏微分方程獲得涌水量的近似值,它適用于解決許多復(fù)雜條件下的礦井涌水量問(wèn)題,但由于開采條件變化大、不確定因素多,方程的建立是在一定假設(shè)和地質(zhì)結(jié)構(gòu)簡(jiǎn)化的基礎(chǔ)上,預(yù)測(cè)結(jié)果只是近似值[5].水文地質(zhì)比擬法以現(xiàn)有生產(chǎn)礦井的實(shí)際水文地質(zhì)資料類比計(jì)算預(yù)測(cè)水文地質(zhì)條件相同礦井的涌水量,該方法計(jì)算簡(jiǎn)單,但精度低,應(yīng)用范圍受限制[6].反向傳播(back propagation,BP)神經(jīng)網(wǎng)絡(luò)通過(guò)訓(xùn)練學(xué)習(xí)涌水量相關(guān)因素和涌水量實(shí)測(cè)值間的非線性關(guān)系來(lái)完成涌水量的預(yù)測(cè)[7].要保證上述方法預(yù)測(cè)的準(zhǔn)確性,必須滿足各方法的適用條件并提供可靠的參數(shù),而現(xiàn)場(chǎng)地質(zhì)及水文地質(zhì)資料很難滿足這種要求,因此,此類方法難以推廣,不具備通用性[8].部分學(xué)者對(duì)一維涌水量數(shù)據(jù)本身進(jìn)行問(wèn)題分析,歸納規(guī)律.喬美英等[9]提出利用(genetic algorithm,GA)優(yōu)化的支持向量機(jī)(support vector machine,SVM)模型實(shí)現(xiàn)涌水量的預(yù)測(cè).王猛等[10]以模型定階、參數(shù)估計(jì)和假設(shè)檢驗(yàn)等過(guò)程建立合適的差分整合移動(dòng)平均自回歸模型(autoregressive integrated moving average model,ARIMA)對(duì)涌水量進(jìn)行預(yù)測(cè).施龍青等[11]對(duì)原始涌水量數(shù)據(jù)進(jìn)行一次累加生成、均值生成、光滑性檢驗(yàn)等處理后建立涌水量與時(shí)間的灰色預(yù)測(cè)模型.以上方法對(duì)原始數(shù)據(jù)進(jìn)行分析處理,通過(guò)建模發(fā)現(xiàn)涌水量變化規(guī)律,進(jìn)一步實(shí)現(xiàn)預(yù)測(cè),提高了模型的通用性.但涌水量數(shù)據(jù)受水文地質(zhì)參數(shù)和各方面因素影響,具有隨機(jī)性、非平穩(wěn)性等特點(diǎn),使得模型預(yù)測(cè)精度不高[12].
本文旨在提出一種通用性強(qiáng)、預(yù)測(cè)精度高的涌水量預(yù)測(cè)模型.首先,通過(guò)互補(bǔ)集合經(jīng)驗(yàn)?zāi)B(tài)分解(complementary ensemble empirical mode decomposition,CEEMD)算法將一維涌水量分解為從高頻到低頻的多維子分量,其中最后一個(gè)子分量反映長(zhǎng)期趨勢(shì)特征,剩余子分量反映原始數(shù)據(jù)在不同時(shí)間尺度上的波動(dòng)特征,通過(guò)CEEMD分解使得原始數(shù)據(jù)蘊(yùn)含的信息充分顯露出來(lái);其次,通過(guò)偏自相關(guān)函數(shù)(partial autocorrelation function,PACF)確定各分量的滯后期數(shù),從而確定各分量輸入神經(jīng)元個(gè)數(shù);然后,利用門控循環(huán)單元(gated recurrent unit,GRU)適合處理時(shí)序數(shù)據(jù)的特點(diǎn),通過(guò)GRU神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)各子分量變化規(guī)律并進(jìn)一步預(yù)測(cè);最后,將各分量預(yù)測(cè)結(jié)果融合得到最終的涌水量預(yù)測(cè)值.
本文提出的基于CEEMD_GRU的礦井涌水量預(yù)測(cè)模型流程圖如圖1所示.
圖1 CEEMD_GRU預(yù)測(cè)模型流程圖Fig.1 Flow chart of CEEMD_GRU prediction model
該模型通過(guò)CEEMD將涌水量數(shù)據(jù)進(jìn)行分解,因?yàn)榉纸夂蟮母髯臃至繐碛胁煌奶卣鞒叨?,所以它們之間的相互影響被隔離,利用這種隔離可以減小涌水量本身的非平穩(wěn)性和非線性在預(yù)測(cè)中帶來(lái)的誤差.
GRU神經(jīng)網(wǎng)絡(luò)對(duì)各分量分別建立子模型,學(xué)習(xí)各分量的變化規(guī)律.因?yàn)橛克孔鳛闀r(shí)序數(shù)據(jù),用傳統(tǒng)的BP或SVM神經(jīng)網(wǎng)絡(luò)進(jìn)行預(yù)測(cè),存在網(wǎng)絡(luò)結(jié)構(gòu)難以確定、預(yù)測(cè)精度低等問(wèn)題[13],而GRU網(wǎng)絡(luò)作為具有記憶能力的循環(huán)神經(jīng)網(wǎng)絡(luò),能夠有效地利用長(zhǎng)時(shí)序信息.并且本文引入PACF來(lái)確定各分量當(dāng)前時(shí)刻與滯后k個(gè)時(shí)刻之間的相關(guān)性,不考慮中間時(shí)刻的影響,從而確定GRU神經(jīng)網(wǎng)絡(luò)輸入層神經(jīng)元個(gè)數(shù),減少人為主觀因素影響,進(jìn)一步提高涌水量預(yù)測(cè)精度.
基于CEEMD_GRU的涌水量預(yù)測(cè)模型具體步驟如下:
1)將涌水量通過(guò)CEEMD算法分解,得到各本征模態(tài)函數(shù)(intrinsic mode function,IMF)分量和殘差余量.
2)引入PACF來(lái)確定各分量的滯后期數(shù),從而確定各分量輸入神經(jīng)元個(gè)數(shù).
3)對(duì)各分量分別劃分為訓(xùn)練集和測(cè)試集,通過(guò)GRU神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)各分量變化規(guī)律并進(jìn)行預(yù)測(cè).
4)將各分量預(yù)測(cè)結(jié)果融合,得到最終的預(yù)測(cè)值.
CEEMD是針對(duì)經(jīng)驗(yàn)?zāi)B(tài)分解(empirical mode decomposition,EMD)和集合經(jīng)驗(yàn)?zāi)B(tài)分解(ensemble empirical mode decomposition,EEMD)提出的改進(jìn)方法[14].EEMD在EMD的基礎(chǔ)上添加白噪聲使信號(hào)在不同時(shí)間尺度上具有連續(xù)性,從而更好地抑制EMD在分解過(guò)程中由于IMF不連續(xù)造成的模態(tài)混疊現(xiàn)象[15].但由于EEMD分解過(guò)程中引入的噪聲會(huì)存在殘余,對(duì)原始數(shù)據(jù)產(chǎn)生不良影響[16],CEEMD在EEMD基礎(chǔ)上引入互補(bǔ)的噪聲,不僅解決了模態(tài)混疊現(xiàn)象,同時(shí)提高了原信號(hào)重構(gòu)的精度,提升了計(jì)算效率[17].CEEMD算法分解步驟如下.
1)對(duì)原始數(shù)據(jù)加入正、負(fù)成對(duì)的白噪聲,得到新的信號(hào)
(1)
式中:S為原始數(shù)據(jù);N為白噪聲;M1、M2分別為混入正、負(fù)白噪聲的原始信號(hào).
2)通過(guò)
(2)
對(duì)M1、M2進(jìn)行分解.式中:cij為第i次加入白噪聲分解后得到的第j個(gè)IMF分量;cj(t)為C1、C2在第j個(gè)IMF分量的平均值;r為殘差余量;λ為加入白噪聲的次數(shù).分解后得到2組IMF分量,將2組IMF分量表示為C1、C2,然后對(duì)每組分量對(duì)應(yīng)的同一階IMF分量求平均值,得到最終的分解結(jié)果H.
GRU和長(zhǎng)短時(shí)記憶(long sort-term memory,LSTM)網(wǎng)絡(luò)的內(nèi)部單元很相似,不同之處在于GRU將LSTM中的輸入門和遺忘門合并成一個(gè)單一的更新門,因此,GRU中只有2個(gè)門結(jié)構(gòu),分別為更新門和重置門.更新門用于確定是否保留上一時(shí)刻狀態(tài)的信息以及保留的程度,更新門的值越大表示前一時(shí)刻的狀態(tài)信息保留越多.重置門用于確定是否要結(jié)合當(dāng)前狀態(tài)與先前的信息,重置門的值越小說(shuō)明忽略的信息越多[18].
圖2 GRU網(wǎng)絡(luò)的單元結(jié)構(gòu)Fig.2 Unit structure of GRU network
GRU神經(jīng)網(wǎng)絡(luò)的計(jì)算過(guò)程為
zt=σ(Wz[ht-1,xt])
(3)
rt=σ(Wr[ht-1,xt])
(4)
(5)
(6)
PACF是確定自回歸滑動(dòng)平均模型中滯后階數(shù)的常用方法,可以反映一維數(shù)據(jù)中任意2個(gè)時(shí)刻在排除中間時(shí)刻影響后的純相關(guān)性[19],比如:在t-3對(duì)t的影響中,不會(huì)考慮t-2和t-1時(shí)刻對(duì)t的影響.本文通過(guò)PACF確定xt與k個(gè)時(shí)間單位xt-k之間的相關(guān)性,從而確定各分量的滯后期數(shù),進(jìn)一步確定各分量建立GRU神經(jīng)網(wǎng)絡(luò)的輸入層神經(jīng)元個(gè)數(shù).
本文建立的GRU神經(jīng)網(wǎng)絡(luò)模型如圖3所示.基本結(jié)構(gòu)包括輸入層、隱藏層和輸出層.
圖3 GRU網(wǎng)絡(luò)模型Fig.3 GRU network model
1)輸入層:通過(guò)PACF確實(shí)各分量滯后期數(shù)k,將一維數(shù)據(jù)s根據(jù)滯后期數(shù)k將前k個(gè)時(shí)刻數(shù)據(jù)作為特征、第k+1時(shí)刻數(shù)據(jù)作為標(biāo)簽構(gòu)造樣本對(duì)X,將樣本對(duì)劃分為訓(xùn)練集和測(cè)試集.
2)隱藏層:GRU層的作用是為了記住重要的信息,忽略不重要的信息.因?yàn)槟壳皼](méi)有具體的計(jì)算標(biāo)準(zhǔn)來(lái)確定隱藏層神經(jīng)元的個(gè)數(shù),本文通過(guò)多次實(shí)驗(yàn)最終確定GRU層神經(jīng)元個(gè)數(shù)為32時(shí)誤差最小.
4)優(yōu)化器:是用來(lái)更新和計(jì)算影響模型訓(xùn)練和模型輸出的網(wǎng)絡(luò)參數(shù),使其逼近或達(dá)到最優(yōu)值.模型訓(xùn)練的優(yōu)化器為Adam優(yōu)化器,它結(jié)合了AdaGrad和RMSProp兩種算法的優(yōu)點(diǎn),計(jì)算高效,對(duì)內(nèi)存需求少,參數(shù)的更新不受梯度的伸縮變換影響.
5)損失函數(shù):是神經(jīng)網(wǎng)絡(luò)訓(xùn)練時(shí)試圖最小化的目標(biāo)函數(shù).訓(xùn)練過(guò)程中損失函數(shù)的選取取決于輸入標(biāo)簽數(shù)據(jù)的類型,因?yàn)楸疚妮斎氲氖菙?shù)值,所以將損失函數(shù)參數(shù)設(shè)置為均方誤差(mean square error,MSE).
本文實(shí)驗(yàn)驗(yàn)證采用的數(shù)據(jù)包括2組:一是山東省鄆城煤礦1301開采工作面在2017年實(shí)測(cè)的涌水量數(shù)據(jù),每天統(tǒng)計(jì)一次,共170條;二是開灤集團(tuán)東歡陀煤礦在2019年1月11日至26日實(shí)測(cè)的明渠流量數(shù)據(jù),每5 min統(tǒng)計(jì)一次,共4 473條.通過(guò)CEEMD對(duì)數(shù)據(jù)進(jìn)行分解得到各子分量.將各分量分別劃分為訓(xùn)練集和測(cè)試集,然后根據(jù)各子分量不同的變化規(guī)律和多次實(shí)驗(yàn)嘗試將訓(xùn)練集構(gòu)造樣本對(duì){xt-k,xt-k-1,…,xt-1,xt},共k+1列.k為步長(zhǎng),即前k個(gè)時(shí)刻數(shù)據(jù)作為模型的輸入向量,第k+1時(shí)刻數(shù)據(jù)作為模型的輸出值,通過(guò)GRU模型學(xué)習(xí)前k個(gè)時(shí)刻的數(shù)據(jù)與第k+1時(shí)刻的非線性映射關(guān)系.對(duì)每個(gè)分量的數(shù)據(jù)集都做同樣的處理,但因?yàn)楦鞣至繑?shù)據(jù)變化規(guī)律不同,所以k的設(shè)置不同,即GRU神經(jīng)網(wǎng)絡(luò)輸入層神經(jīng)元個(gè)數(shù)也不同.
例如:將第1個(gè)本征模態(tài)分量輸入神經(jīng)元個(gè)數(shù)確定為3,前3列作為特征,最后一列作為標(biāo)簽,然后通過(guò)
(7)
構(gòu)造樣本對(duì),將數(shù)據(jù)輸入神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)標(biāo)簽和特征的關(guān)系,即學(xué)習(xí)前3個(gè)時(shí)間點(diǎn)的數(shù)據(jù)和第4個(gè)時(shí)間點(diǎn)的非線性映射關(guān)系.
為了更好地評(píng)估模型預(yù)測(cè)結(jié)果,本文采用預(yù)測(cè)評(píng)價(jià)指標(biāo):均方根誤差(root mean squared error,RMSE)和平均絕對(duì)百分比誤差(mean absolute percentage error,MAPE).值越小代表預(yù)測(cè)精度越高,預(yù)測(cè)指標(biāo)為
(8)
式中:xa為真實(shí)值;xf為預(yù)測(cè)值;n為預(yù)測(cè)值和真實(shí)值個(gè)數(shù).
本文實(shí)驗(yàn)在Win10 64位系統(tǒng)下進(jìn)行,處理器為Inter(R)Core(TM)i5-8300H CPU @2.30 GHz 2.30 GHz,基于python3.6環(huán)境和keras框架,keras版本為2.2.4.通過(guò)CEEMD將涌水量和明渠流量進(jìn)行分解,分解結(jié)果如圖4、5所示.
圖4 涌水量CEEMD分解結(jié)果Fig.4 CEEMD decomposition results of water inflow
圖5 明渠流量CEEMD分解結(jié)果Fig.5 CEEMD decomposition results of open channel flow
為了進(jìn)一步說(shuō)明CEEMD_GRU模型的實(shí)用性,將涌水量各分量預(yù)測(cè)結(jié)果進(jìn)行融合,并分別與現(xiàn)有的預(yù)測(cè)模型GRU、BP和SVR神經(jīng)網(wǎng)絡(luò)進(jìn)行對(duì)比實(shí)驗(yàn).基于涌水量數(shù)據(jù)集的各模型預(yù)測(cè)結(jié)果如圖6所示.
該位置是操縱列車常用制動(dòng),使列車正常緩慢停車或調(diào)整運(yùn)行速度所使用的位置。包括初制動(dòng)位和全制動(dòng)位,兩者之間是制動(dòng)區(qū)。
從圖6可以看出,CEEMD_GRU模型對(duì)涌水量的預(yù)測(cè)效果具有很好的跟隨性和波動(dòng)性,預(yù)測(cè)趨勢(shì)與實(shí)測(cè)數(shù)據(jù)基本一致,未存在預(yù)測(cè)滯后,而單一BP、SVM和GRU神經(jīng)網(wǎng)絡(luò)模型的預(yù)測(cè)結(jié)果均有滯后的現(xiàn)象,說(shuō)明模型未能及時(shí)預(yù)測(cè)出下一時(shí)刻的數(shù)值,預(yù)測(cè)效果不佳.
圖6 涌水量各模型預(yù)測(cè)結(jié)果Fig.6 Prediction results of each model of water inflow
將明渠流量數(shù)據(jù)集各分量預(yù)測(cè)結(jié)果進(jìn)行融合,同樣與現(xiàn)有的預(yù)測(cè)模型GRU、BP和SVR神經(jīng)網(wǎng)絡(luò)進(jìn)行對(duì)比實(shí)驗(yàn).基于明渠流量數(shù)據(jù)集的各模型預(yù)測(cè)結(jié)果如圖7所示,并將圖7中[480,600]的部分預(yù)測(cè)結(jié)果放大,如圖8所示.
圖7 明渠流量各模型預(yù)測(cè)結(jié)果Fig.7 Prediction results of each model of open channel inflow
從圖7、8可以看出,CEEMD_GRU模型對(duì)明渠流量數(shù)據(jù)集同樣具有很好的預(yù)測(cè)效果,更能預(yù)測(cè)出原始數(shù)據(jù)的波動(dòng)特性,如:對(duì)應(yīng)圖8原始數(shù)據(jù)在[27,37]和[51,59]范圍內(nèi),CEEMD_GRU模型預(yù)測(cè)效果均好于其他單一模型.將涌水量和明渠流量各預(yù)測(cè)模型的預(yù)測(cè)誤差進(jìn)行對(duì)比,分別如圖9、10所示.
圖8 480~600區(qū)間明渠流量各模型預(yù)測(cè)放大結(jié)果Fig.8 Prediction and amplification results of each model of open channel inflow in 480-600 interval
圖9 涌水量各模型預(yù)測(cè)誤差Fig.9 Prediction error of each model of water inflow
從圖9、10可以看出,BP、SVM和GRU神經(jīng)網(wǎng)絡(luò)模型的預(yù)測(cè)誤差范圍波動(dòng)較大,而CEEMD_GRU模型的預(yù)測(cè)誤差相對(duì)平穩(wěn),說(shuō)明CEEMD_GRU模型的預(yù)測(cè)精度和平穩(wěn)性較好.針對(duì)各預(yù)測(cè)模型采用預(yù)測(cè)評(píng)價(jià)指標(biāo)RMSE對(duì)預(yù)測(cè)結(jié)果進(jìn)一步分析,各模型預(yù)測(cè)性能評(píng)估如表1所示.
圖10 明渠流量各模型預(yù)測(cè)誤差Fig.10 Prediction error of each model of open channel inflow
從表1中各模型預(yù)測(cè)性能評(píng)估值來(lái)看,本文所提出模型在涌水量和明渠流量預(yù)測(cè)中的均方根誤差分別比單一預(yù)測(cè)模型BP神經(jīng)網(wǎng)絡(luò)降低了58.9%、42.4%,比單一預(yù)測(cè)模型SVM降低了70.0%、38.0%,比GRU降低了53.7%、29.3%.依據(jù)誤差指標(biāo)來(lái)看,本文所提模型預(yù)測(cè)精度最高,說(shuō)明將數(shù)據(jù)通過(guò)CEEMD分解轉(zhuǎn)換為多個(gè)子分量,然后建立GRU模型進(jìn)行預(yù)測(cè)可以在原有GRU的基礎(chǔ)上提高預(yù)測(cè)精度.
表1 各模型預(yù)測(cè)誤差值對(duì)比Table 1 Comparison of prediction error values of each mode
1)通過(guò)CEEMD將數(shù)據(jù)分解為一系列較為平穩(wěn)的IMF分量和殘差余量,將對(duì)一維數(shù)據(jù)的研究轉(zhuǎn)換為對(duì)多維子分量的研究,從而進(jìn)行建模.與BP、SVM、GRU神經(jīng)網(wǎng)絡(luò)相比,涌水量和明渠流量的均方根誤差平均分別降低了60.8%、44.7%.結(jié)果表明,基于CEEMD_GRU模型預(yù)測(cè)效果最好.利用GRU模型進(jìn)行預(yù)測(cè)可以在原有GRU的基礎(chǔ)上提高預(yù)測(cè)精度.
2)基于CEEMD_GRU模型利用礦井水文數(shù)據(jù)歷史信息,通過(guò)CEEMD分解將數(shù)據(jù)中蘊(yùn)藏的信息充分顯露出來(lái),可以準(zhǔn)確預(yù)測(cè)未來(lái)趨勢(shì),為礦井生產(chǎn)過(guò)程中水害防治和排水系統(tǒng)設(shè)計(jì)提供新思路.
3)CEEMD_GRU模型是假定水文數(shù)據(jù)的未來(lái)趨勢(shì)仍基于現(xiàn)有歷史數(shù)據(jù)變化所建立的預(yù)測(cè)模型,礦井水文數(shù)據(jù)是區(qū)域水文地質(zhì)條件和采掘動(dòng)態(tài)過(guò)程復(fù)合作用的結(jié)果,雖然涌水量和明渠流量在一定程度上可以反映地質(zhì)參數(shù)影響下水文數(shù)據(jù)變化的規(guī)律,但它仍然受其他突發(fā)因素的影響,需考慮如何將隨機(jī)、突發(fā)的因素引入模型.