辛晟銘
(新疆頭屯河流域管理局 水利管理中心,新疆 昌吉 831100)
大壩的滲流情況監(jiān)測[1-2]一直以來都是大壩安全監(jiān)測的重點項目,由于水庫大壩在運(yùn)行中受到很多因素的影響,通過觀測滲流情況最能直觀地反映它的穩(wěn)定狀況。如果能夠根據(jù)監(jiān)測數(shù)據(jù)創(chuàng)建精度準(zhǔn)確的預(yù)測模型,對一定時期內(nèi)的滲流進(jìn)行準(zhǔn)確預(yù)測,便能跟蹤大壩的安全變化狀態(tài),必要時采取適當(dāng)措施杜絕安全隱患。因此,眾多學(xué)者一直致力于研究精度更高的大壩滲流監(jiān)測模型。這種由實際數(shù)據(jù)形成預(yù)測模型的過程,傳統(tǒng)上都是通過數(shù)學(xué)模型來構(gòu)建的。在實際應(yīng)用中,主要有統(tǒng)計模型[2-3]、確定性模型[4-5]和混合型模型[5-6]3種數(shù)學(xué)模型,通過統(tǒng)計學(xué)的原理展現(xiàn)監(jiān)測值和影響量之間的相互關(guān)系。然而,由于滲流的成因較復(fù)雜,這些傳統(tǒng)的建模方法受變量多重共線性的影響或模型參數(shù)的選取不恰當(dāng),導(dǎo)致精確度往往不高。
隨著機(jī)器學(xué)習(xí)算法的發(fā)展,學(xué)者們利用諸如人工神經(jīng)網(wǎng)絡(luò)[7-8]、遺傳算法[9]、蟻群算法[10-11]、支持向量機(jī)[12-13]等算法來創(chuàng)建大壩監(jiān)控模型,取得了一定成果。但這些模型尚未成熟,計算量較大,且不穩(wěn)定,無法徹底解決多變量共線性的影響。
隨機(jī)森林算法也是機(jī)器學(xué)習(xí)的一種,它能夠解決多變量之間的交互作用和非線性關(guān)系,在無大幅增加計算量的情況下提高了分類、回歸問題的準(zhǔn)確率。通過隨機(jī)森林創(chuàng)建的模型能夠有效地分析非線性及共線性存在某種關(guān)聯(lián)的數(shù)據(jù)[14],且無須事先假定數(shù)據(jù)的分布,這些特點使得其在生物學(xué)[15-16]、土壤學(xué)[17-18]、醫(yī)學(xué)[19]等專業(yè)方向得到較大程度的應(yīng)用,但在水庫大壩滲流監(jiān)測方面應(yīng)用較少。此外,隨機(jī)森林算法能夠有效處理噪音和異常數(shù)據(jù),不易出現(xiàn)其他機(jī)器學(xué)習(xí)算法的過擬合問題。為此,本文基于隨機(jī)森林算法構(gòu)建大壩滲流監(jiān)測模型,對以往的監(jiān)測資料進(jìn)行訓(xùn)練、學(xué)習(xí)及分析,并與BP神經(jīng)網(wǎng)絡(luò)進(jìn)行對比,驗證該模型的可行性和有效性。
決策樹又稱為分類回歸樹,是隨機(jī)森林的基礎(chǔ)組成部分。決策樹是一種預(yù)測模型,它所表現(xiàn)的是統(tǒng)計對象的值與屬性之間的映射關(guān)聯(lián)。決策樹中的節(jié)點表示某個對象,每個分叉就表達(dá)該對象的某種屬性,葉節(jié)點則表示對象的值。決策樹只有單一的輸出,類別較多時,準(zhǔn)確度會下降。而隨機(jī)森林可以將許多決策樹通過Bagging方法結(jié)合[20]起來,以提升分類回歸的正確率。
隨機(jī)森林的本質(zhì)是一種集成學(xué)習(xí)的方法,從分類功能來看,多棵樹會有多個分類結(jié)果。而隨機(jī)森林集成了所有的分類投票結(jié)果,將得票最多的分類結(jié)果作為模型的輸出。隨機(jī)森林還可以用于回歸,用于回歸分析的隨機(jī)森林可通過訓(xùn)練得到隨機(jī)向量參數(shù),采用簡單平均法,對多個分類回歸樹得到的回歸結(jié)果進(jìn)行算術(shù)平均得到最終的模型輸出。
回歸算法實現(xiàn):隨機(jī)森林回歸(Random Forest for Regression,RFR)模型是由多顆回歸樹組成。在實際運(yùn)用中,每棵決策樹的特征選擇不一樣,所以它們擁有各自對應(yīng)的隨機(jī)向量,那么T棵樹就是一組隨機(jī)向量序列fi(i的值為大于0的整數(shù))。同分類模型不同的是,回歸模型的因變量是連續(xù)的數(shù)值。假設(shè)訓(xùn)練集是從隨機(jī)向量X、Y中獨(dú)立抽取出來,那么任意數(shù)值的預(yù)測值H(X)是對T棵回歸樹{h(f,XT)}的取算數(shù)平均數(shù)得到的。
隨機(jī)森林回歸算法的構(gòu)建流程如下:
步驟1:利用bagging思想,從訓(xùn)練集中進(jìn)行有放回的抽樣,產(chǎn)生訓(xùn)練子集。
步驟3:重復(fù)以上步驟,構(gòu)建N棵回歸決策子樹,形成不剪枝的森林{h(f,XT)}。
步驟4:將森林中每棵樹的預(yù)測值進(jìn)行算術(shù)平均,輸出最終結(jié)果。
步驟5:模型的效果采用袋外數(shù)據(jù)來評價(袋外數(shù)據(jù)可以用來估計回歸樹的泛化誤差,而不用交叉驗證)。
回歸分析會出現(xiàn)多重共線性的現(xiàn)象,影響回歸模型的準(zhǔn)確性。多重共線性是指回歸模型中的解釋變量之間由于存在一定程度的相關(guān)關(guān)系,如果存在比較嚴(yán)重的共線性問題時要用特定算法或者降維處理。如果模型僅用于預(yù)測,則只要擬合程度好,可不處理多重共線性問題。隨機(jī)森林因其不用選擇變量,而且擬合程度良好,所以由其創(chuàng)建的回歸模型不受多重共線性的影響。
大壩滲流的影響因子較多且復(fù)雜,由于滲流測壓管水位變化趨勢基本符合土壩滲流特性[21],所以根據(jù)滲流測壓管的水位來反映滲流量。此次研究對象為土石壩,水庫中的水從上游向下游滲透時,因為土壤阻力的作用,需要一定時間才能流到測壓管內(nèi),該時間同上游水位相關(guān)聯(lián),所以將一定時間段的上游水位判定為影響因子。降雨時會產(chǎn)生地表徑流,該徑流通過壩體入滲,所以降雨量也是影響因子。隨著大壩的正常運(yùn)行時間累積,土石壩逐漸堅固穩(wěn)定,土壤入滲的可能也就越來越小,同時水流夾雜的泥沙導(dǎo)致淤泥積累也在一定程度上影響了滲流的狀態(tài),這些因素都會造成到測壓管的水位變化。綜上,測壓管水位的重要影響因子分別包括一定時間段的上游水位、一定時間段的降雨、下游水位和時效因子[22]。用公式表達(dá)如下:
h=hu+hd+hp+hσ
(1)
式中:h為測壓管的水位,它由4個分量組成;hu為上游水位;hp為降雨量;hd為下游水位;hσ為失效因子。
2.1.1 上游水位值
水流經(jīng)過上游壩面、經(jīng)過土壤滲透到達(dá)測壓管需要一段時間,測壓管的水位是滯后于水庫水位的,所以用這段時間的平均水位來表達(dá)。
(2)
2.1.2 下游水位值
下游水位的變動是不大的,所以直接用水位值的回歸形式來表達(dá),即:
hd=αdhd
(3)
式中:αd為回歸系數(shù);hd為下游水位值。
2.1.3 降雨量
(4)
2.1.4 時效因子
大壩在運(yùn)行一段時間后,內(nèi)部的土壤逐漸趨于穩(wěn)定和固化,它的滲透性能也會發(fā)生改變,水庫上游壩面的表面也因時間推移形成越來越厚的淤泥,影響到入滲情況。這些情況都受到時間遷移的影響,所以引入時效因子,其表達(dá)式如下:
hθ=C1θ+C2lnθ
(5)
其中:C1、C2為回歸系數(shù);θ為蓄水初期開始的天數(shù)除以100。
為了建立隨機(jī)森林回歸模型,使用R語言的Random forest包來進(jìn)行。R作為一種統(tǒng)計分析軟件,它可以運(yùn)行于Unix和Windows的操作系統(tǒng)上,因其開源和免費(fèi),目前在統(tǒng)計領(lǐng)域得到廣泛的應(yīng)用。在運(yùn)用R語言創(chuàng)建預(yù)測模型時,主要運(yùn)用predict和mean這兩個函數(shù)來實現(xiàn)隨機(jī)森林的回歸。
在使用Random forest建立隨機(jī)森林時,回歸決策樹的數(shù)量ntree和每個節(jié)點的特征數(shù)量mtry這兩個參數(shù)是最重要的。mtry由總輸入變量開平方求得,它能夠決定樹與樹之間的相關(guān)性和算法的強(qiáng)度。在本案例里,輸入變量的個數(shù)為4,所以mtry取值為2。為了提高模型的運(yùn)行效率和降低復(fù)雜程度,需要等到袋外數(shù)據(jù)錯誤率趨于穩(wěn)定時才能確定ntree的值。一般地,用MMSEOOB(袋外誤差平方和)來體現(xiàn)袋外誤差的錯誤率。通常情況下,需要利用它和ntree的關(guān)聯(lián)圖來確定ntree。
基于隨機(jī)森林回歸算法的土石壩滲流預(yù)測模型的創(chuàng)立步驟如下,建模流程見圖1。
圖1 滲流預(yù)測模型流程圖Fig.1 Dam seepage prediction model flow chart
步驟1 在R語言環(huán)境下,調(diào)出Random forest程序包,讀取滲流監(jiān)測數(shù)據(jù)。
步驟2 將特征數(shù)量mtry的值設(shè)定為2。從100棵回歸決策樹逐漸遞增,觀察每次建模得到的MMSEOOB值,當(dāng)袋外誤差率趨于穩(wěn)定時,選定ntree值。
步驟3 使用mtry和ntree兩個參數(shù)建模,對原始監(jiān)測數(shù)據(jù)進(jìn)行訓(xùn)練,并對測試集進(jìn)行預(yù)測。
本文主要選取新疆某水庫大壩滲流監(jiān)測資料,該水庫大壩為碾壓式黏土心墻砂殼壩。陡山水庫坐落在沭河一級支流潯河中下游,控制流域面積431 km2,對其滲流情況的監(jiān)測尤為重要。
該水庫大壩的滲流監(jiān)測設(shè)有3個斷面,有24個測壓管,選取管口位于壩頂?shù)腁P204壩基測壓管,資料記錄時間為2015年1月至2017年12月。測壓管水位的觀測周期為:汛期7天一次,非汛期10天一次。將2016年3月至2017年8月這18個月的65組數(shù)據(jù)作為訓(xùn)練樣本,通過組合學(xué)習(xí),對2017年9月的6組數(shù)據(jù)進(jìn)行預(yù)測。
在實際建模過程中,通過觀察ntree與MMSEOOB的關(guān)聯(lián)變化情況來確定森林的棵數(shù),當(dāng)MMSEOOB趨于穩(wěn)定時,選定合適的棵數(shù)。圖 2是ntree與MMSEOOB的關(guān)聯(lián)變化圖。從圖2中可以看到,當(dāng)森林的棵數(shù)達(dá)到500時,趨于穩(wěn)定;達(dá)到1 000時,袋外數(shù)據(jù)誤差最小。為了保證模型的準(zhǔn)確度,選擇1 000作為隨機(jī)森林回歸算法模型的棵數(shù)。
圖2 ntree與MMSEOOB關(guān)聯(lián)變化圖Fig.2 Association change diagram of ntree and MMSEOOB
為了便于對比研究,通過建立隨機(jī)森林回歸模型及BP神經(jīng)網(wǎng)絡(luò)模型[23]對測壓管的水位進(jìn)行擬合與預(yù)測,其中隨機(jī)森林回歸模型是利用Random forest函數(shù)對訓(xùn)練期建模,predict函數(shù)對預(yù)測期的數(shù)據(jù)進(jìn)行擬合。圖3和圖4分別為AP204測壓點在兩種模型下的擬合及預(yù)測結(jié)果。
圖3 隨機(jī)森林及BP神經(jīng)網(wǎng)絡(luò)回歸模型擬合曲線Fig.3 Fitting curves of random forest and BP neural network model
圖4 隨機(jī)森林及BP神經(jīng)網(wǎng)絡(luò)模型的預(yù)測曲線Fig.4 Prediction curve of random forest and BP neural network model
由圖3可以看出,兩種模型與實測值的擬合趨勢是一致的,樣本訓(xùn)練水位處于39~47 m之間,8月份汛期出現(xiàn)峰值拐點,兩種模型都能夠體現(xiàn)該拐點趨勢,但隨機(jī)森林較為準(zhǔn)確。由圖4可以看出,預(yù)測期測壓管實測水位在45.5~46.5 m之間波動,隨機(jī)森林模型處于相對平滑穩(wěn)定的狀態(tài),而BP神經(jīng)網(wǎng)絡(luò)存在波動性。從而可以看出,該土石壩滲流預(yù)測模型能夠有效地擬合和預(yù)測水位值。
本文研究的預(yù)測期時間軸較短,在此期間水位的變化也較小,更適合用隨機(jī)森林算法來建模。BP神經(jīng)網(wǎng)絡(luò)需要初始化權(quán)值,且需要經(jīng)過數(shù)次測算,才能達(dá)到良好的預(yù)測效果,消耗過多的計算時間,同時占用大量的內(nèi)存。隨機(jī)森林模型可以直接使用樣本數(shù)據(jù),無需前期處理,且測算數(shù)據(jù)的過程簡便快捷。
一般地,評價一個統(tǒng)計模型的優(yōu)劣程度,需要判定其精確度和穩(wěn)定性。本文的模型精度指標(biāo)選用實測值與預(yù)測值之間的平均相對誤差、均方根誤差這兩個指標(biāo),穩(wěn)定性則使用確定性系數(shù)R2與計算時間兩個指標(biāo),通過這4個指標(biāo)來評價隨機(jī)森林回歸模型和BP神經(jīng)網(wǎng)絡(luò)模型的優(yōu)劣程度。數(shù)據(jù)對比見表1。
表1 隨機(jī)森林和BP神經(jīng)網(wǎng)絡(luò)模型對比Tab.1 Comparison of random forest and BP neural network model
從表1可看出,隨機(jī)森林回歸模型的確定性系數(shù)為0.96,大于BP神經(jīng)網(wǎng)絡(luò),表面其因變量可靠程度高,加之其運(yùn)算時間比BP神經(jīng)網(wǎng)絡(luò)少,所以其穩(wěn)定性較高。另外,隨機(jī)森林回歸模型的相對誤差值和均方根誤差值兩項指標(biāo)都小于BP神經(jīng)網(wǎng)絡(luò)。綜上所述,充分證明其在預(yù)測精度和模型穩(wěn)定方面的優(yōu)越性。
本文充分利用隨機(jī)森林回歸模型具有的特性,對目前國內(nèi)水庫應(yīng)用較多的土石壩類建立了滲流監(jiān)測模型。通過陡山水庫多年的監(jiān)測資料建立訓(xùn)練樣本,模型輸出的擬合結(jié)果和預(yù)測結(jié)果同實際監(jiān)測資料的變化趨勢相一致。通過對比隨機(jī)森林回歸模型、BP神經(jīng)網(wǎng)絡(luò)模型的預(yù)測精度與穩(wěn)定性,確定了隨機(jī)森林模型的整體優(yōu)勢性,該模型的建立為大壩滲流的精準(zhǔn)預(yù)測提供了一種新途徑。