姜鵬輝,齊慧君,李同春,2
(1.河海大學水利水電學院,江蘇 南京 210024;2.水安全與水科學協(xié)同創(chuàng)新平臺,江蘇 南京 210024)
大壩安全控制的主要目的是通過保持其功能性和結(jié)構(gòu)性完整來保證大壩的功能,變形觀測是大壩安全控制不可缺少的組成部分[1]。對大壩的健康狀況進行分析和評價,可以利用大壩監(jiān)測數(shù)據(jù)建立合理的大壩安全監(jiān)測模型。目前,大壩位移預(yù)測模型采用較多的有BP神經(jīng)網(wǎng)絡(luò)建模方法、灰色建模方法、支持向量機模型[2-4]等。核極限學習機具有較強的非線性映射能力,適用于混凝土拱壩的隨機荷載和強非線性變形問題的分析模型。大壩監(jiān)測資料中可能存在一些異常測值,這些異常測值對大壩結(jié)構(gòu)性態(tài)評價產(chǎn)生較大影響,進而阻礙大壩的正常運行,必須進行判斷和處理。張海龍等[5]通過小波變換提取監(jiān)測數(shù)據(jù)的趨勢項,然后采用孤立森林算法對扣除趨勢項的剩余量進行異常值識別。鑒于此,本文提出孤立森林-核極限學習機(IF-KELM)回歸的混凝土拱壩位移預(yù)測模型。該模型基于孤立森林計算異常分數(shù),利用核極限學習機回歸預(yù)測,由粒子群算法尋優(yōu)模型參數(shù)。最后通過某混凝土拱壩真實監(jiān)測數(shù)據(jù)進行了仿真驗證,結(jié)果表明,所提出的IF-KELM混凝土壩位移預(yù)測模型能夠準確地剔除異常監(jiān)測數(shù)據(jù),并且具有預(yù)測結(jié)果精確可靠,模型計算簡單的優(yōu)點,可以為混凝土壩運行性態(tài)估計、健康監(jiān)測等提供更加充分的輔助依據(jù)研究方法。
混凝土拱壩位移主要受水壓、溫度及時效等環(huán)境因素的影響,位移計算公式為
yD=yh+yT+yt
(1)
式中,yD為大壩的徑向位移,m;yh為靜水壓引起的位移響應(yīng),m;yT為溫度變化引起的位移響應(yīng),m;yt為不可逆的時間效應(yīng),m。
靜水壓力的影響通常表示為基于以下力學分析的多項式函數(shù),即
yh=a1h+a2h2+a3h3+a4h4
(2)
式中,h為上游水深,m;a1、a2、a3、a4為系數(shù)。
溫度變化的引起的位移響應(yīng)可以計算為諧波正弦函數(shù)的組合,即
yT=b1sin(s)+b2cos(s)+b3sin(2s)+b4cos(2s)
(3)
式中,b1、b2、b3、b4為系數(shù);s=2πj/365.25,j為從年初(1月1日)到觀察日的天數(shù),或從監(jiān)測開始日期到響應(yīng)觀察日的天數(shù)(即為t),d。
大壩隨時間變化的不可逆變形主要與蠕變有關(guān),蠕變隨時間呈漸近變化。不可逆變形成分的演化是潛在結(jié)構(gòu)紊亂的指標。時間效應(yīng)變形通常在初始蓄水期間迅速發(fā)展,并隨時間趨于穩(wěn)定。因此,通常使用如下公式進行描述:
yt=c1θ+c2lnθ+c3(1-e-θ)+c4θ/(θ+1)
(4)
式中,θ=t/100,t為分析開始后的天數(shù),d;c1、c2、c3、c4為系數(shù)。
位移監(jiān)控的指標集S可以表示為
(5)
孤立森林(iForest)算法是一種具有綜合學習能力的無監(jiān)督異常值檢測算法,由一系列隨機構(gòu)建的孤立樹(iTrees)組成。在大壩安全監(jiān)測數(shù)據(jù)資料中,異常值檢測值的占比很小,采用分類算法有效識別異常測值的難度很大,而且計算代價也很高。與其他的異常檢測算法相比,例如局部異常因子算法和隨機森林算法,需要基于距離或者密度來計算離群值,該算法只需要較小的子采樣大小即可實現(xiàn)高效的檢測性能,大大提高了計算效率。
孤立森林算法的具體過程為:首先創(chuàng)建孤立樹,給定處理過的異常監(jiān)測數(shù)據(jù)集,隨機選擇部分樣本形成訓練空間,根據(jù)特征和分區(qū)值,不斷分割訓練空間,直到滿足子樣本空間已不可分割或達到規(guī)定切割深度的條件。循環(huán)上述過程以構(gòu)建t個孤立的樹,將監(jiān)測數(shù)據(jù)集中的測試空間經(jīng)過訓練的隔離樹中進行數(shù)據(jù)評估,并根據(jù)采樣點的異常分數(shù)識別其中的異常值。
引入路徑長度的定義為
h(x)=e+c(T)
(6)
式中,e為樣本x從樹的根節(jié)點到葉節(jié)點的過程中經(jīng)歷的邊的個數(shù);T為和樣本x同在一個葉子結(jié)點樣本的個數(shù);c(T)可以看作一個修正值,表示T個樣本構(gòu)建一個二叉樹的平均路徑長度。c(n)計算公式為
(7)
式中,H(k)為調(diào)函數(shù)。
采樣點的異常分數(shù)s被定義為
(8)
采樣點異常識別的準則為:①當E(h(x))→c(n)時,s→0.5,不能判斷查詢數(shù)據(jù)x是否為異常;②當E(h(x))→0時,s→1,被識別為異常點;③當E(h(x))→n-1時,s→0,被識別正常點。
由式(5)可知,輸入因子集共有12個輸入變量,而變量類型可分為水位分量、溫度分量和時效分量。隨著維度的增加,數(shù)據(jù)空間的大小(體積)會以指數(shù)級別增長,給異常檢測帶來了挑戰(zhàn)。本文構(gòu)建混凝土拱壩水平位移時間序列的異常檢測數(shù)據(jù)集,數(shù)據(jù)集中的效應(yīng)量選取x′1、x′7和x′9分別代表水位、溫度和時效分量,響應(yīng)變量選取大壩水平位移實際監(jiān)測值。減少異常檢測數(shù)據(jù)集的維度,將大大節(jié)省計算成本,合理效應(yīng)量的選取,也保證了孤立森林算法計算異常分數(shù)的可靠性。
根據(jù)異常分數(shù)的大小,設(shè)置合適的異常閾值σ來進行剔除,既保證對異常樣本的精準剔除,又避免關(guān)鍵信息的損失。IF異常檢測性能受σ這個重要參數(shù)的影響。
ELM是一個單隱藏層前饋神經(jīng)網(wǎng)絡(luò)[6]。與經(jīng)典的人工神經(jīng)網(wǎng)絡(luò)相比,它只包含3個組件:輸入層、單個隱藏層和輸出層。給定一對輸入/輸出數(shù)據(jù)樣本(xi,yi),經(jīng)典ELM的簡化方程式為
(9)
式中,βi為將隱藏神經(jīng)元連接到輸出神經(jīng)元的權(quán)重向量;h(xi)為映射函數(shù)。
人工神經(jīng)網(wǎng)絡(luò)能模擬從輸入到輸出之間的非線性結(jié)構(gòu)。相對于人工神經(jīng)網(wǎng)絡(luò),核極限學習模型具有更好的非線性擬合能力與泛化性能,能很好地擬合出水位分量、溫度分量、時效分量與大壩水平位移的關(guān)系。
為增加模型的穩(wěn)定性,在對β的求解中將引入一個正則化系數(shù)C,相應(yīng)的目標函數(shù)為
(10)
式中,ei為訓練誤差。此時β被計算為
(11)
式中,Y為輸出目標向量;H的表達式為
(12)
得到ELM的輸出函數(shù)表達式為
(13)
對于實際工程資料來說,很難得到映射函數(shù)精確的顯式表達式,所以可以通過構(gòu)造隱式映射進行替代,即構(gòu)造核矩陣,則有
ΩELM=HHT
(14)
ΩELMi,j=h(xi)h(xj)=K(xi,xj)
(15)
式中,ΩELM為核矩陣;K(xi,xj)為核函數(shù)。
圖1為KELM的網(wǎng)絡(luò)結(jié)構(gòu)。
圖1 KELM網(wǎng)絡(luò)結(jié)構(gòu)
用核矩陣代替映射表達式,式(13)可變換為
(16)
KELM的核函數(shù)通常采用Gaussian核函數(shù),即
(17)
因此,大壩水平位移的預(yù)測結(jié)果精度受正則化系數(shù)C與核函數(shù)的參數(shù)γ這兩個重要參數(shù)的影響。
將IF與KELM結(jié)合將能很好地把握大壩位移預(yù)測中的異常信息情況,生成大壩位移預(yù)測結(jié)果。
由于異常閾值、正則化系數(shù)、核函數(shù)的參數(shù)是影響IF-KELM擬合精度的關(guān)鍵參數(shù),為了避免參數(shù)估計帶來的偏差,因此采用粒子群(PSO)同時優(yōu)化σ、C和γ這3個參數(shù),實現(xiàn)對混凝土拱壩水平位移的精準預(yù)測。
粒子群優(yōu)化的一般思想是基于鳥群或魚群的移動方式[7]。在這個算法中,種群被稱為一個群體,每個點都是一個粒子。這些群體代表了可能的解決方案。粒子在目標函數(shù)的搜索空間中隨機初始化。初始化后,每個粒子在連續(xù)迭代期間在其自己的歷史最佳位置(即pbest)、群體的最佳位置(即gbest)和隨機搜索位置之間做出折中。在PSO中,每個粒子都與2個屬性(速度向量v和位置向量x)相關(guān)聯(lián),并且它在搜索空間中移動的速度同時根據(jù)粒子的經(jīng)驗和粒子同伴的經(jīng)驗動態(tài)調(diào)整。粒子的速度和位置根據(jù)式(18)和式(19)更新,即
(18)
(19)
式中,ω為慣性權(quán)重;n為迭代次數(shù);c1和c2為學習因子;r1和r2為隨機數(shù)。
某大壩為混凝土雙曲拱壩,位于瀾滄江流域。最大壩高294.5 m,長922.74 m,壩體總方量接近900萬m3,共由44個壩段組成。選取該大壩某壩段監(jiān)測點2012年8月1日~2018年11月27日共計456組的水平位移數(shù)據(jù)組成的時間序列進行分析。選取2012年8月1日~2017年12月31日共計390組監(jiān)測數(shù)據(jù)為訓練樣本,2018年1月1日~2018年11月27日共計66組監(jiān)測數(shù)據(jù)為測試樣本。
為了消除變量量綱的影響,對數(shù)據(jù)進行歸一化,即
(20)
式中,xi和xnorm分別為各變量歸一化前、后的值;xmin和xmax分別為各變量的極小、極大值。
將歸一化后的異常檢測數(shù)據(jù)集進行整理,結(jié)果如圖2所示。由圖2可知,水位與位移具有較好的負相關(guān)性,這是由于位移數(shù)據(jù)的方向是以向上游為正方向,同時位移值的變化相對于水位也有一定的滯后性,符合實際規(guī)律;溫度與位移有相似的變化規(guī)律。在水位、溫度和時效變化不大的情況下,位移發(fā)生了突變,經(jīng)過一段時間后回歸正常,存在顯著異常值。
圖2 異常檢測數(shù)據(jù)
粒子群算法的異常閾值參數(shù)優(yōu)化結(jié)果為0.02,異常值處理的結(jié)果如圖3所示。圖3a表示位移與水位和溫度波函數(shù)值的關(guān)系,可以看出“花形”的異常值為顯著的離群點。圖3b中表示位移值隨時間的變化情況,可以看出異常值篩選效果優(yōu)越。
圖3 異常處理結(jié)果
將異常值處理后的數(shù)據(jù)集利用KELM模型進行回歸預(yù)測,利用PSO優(yōu)化參數(shù)σ、γ和C,為了保證模型的可靠性,在對訓練集進行訓練時采用5折交叉驗證以提高模型的穩(wěn)定性。提出的IF-KELM模型是用Python語言來設(shè)計和實現(xiàn)的,程序具體步驟為:
(1)數(shù)據(jù)預(yù)處理。導(dǎo)入監(jiān)測數(shù)據(jù),進行規(guī)定的數(shù)據(jù)處理。
(2)異常值剔除。構(gòu)建異常檢測數(shù)據(jù)集,計算每組數(shù)據(jù)的異常分數(shù),根據(jù)選定的異常閾值進行數(shù)據(jù)剔除。
(3)粒子適應(yīng)度函數(shù)值的計算。將剔除后的數(shù)據(jù)以實際位移值和輸入因子集的形式輸入KELM模型,適應(yīng)度函數(shù)值為模型擬合位移值與實際位移值的均方根誤差,PSO 的目標函數(shù)即為最小化適應(yīng)度函數(shù):
(21)
式中,yfit為擬合位移值;yact為實際位移值。
(4)粒子更新。根據(jù)適應(yīng)度函數(shù)更新粒子的速度和位置。
(5)檢查終止條件。如果達到符合要求的適應(yīng)度函數(shù)或最大迭代次數(shù),轉(zhuǎn)到第(6)步,否則返回第(2)步。
(6)參數(shù)確定。得到適應(yīng)度函數(shù)最小對應(yīng)的σ、γ和C參數(shù)。
(7)結(jié)果輸出。根據(jù)最優(yōu)參數(shù),依次進行異常值剔除與回歸擬合,得到大壩水平位移預(yù)測值。
為測試KELM算法的性能,本文同時將支持向量回歸機(SVR)、高斯回歸過程(GPR)作為對比算法,分別建立IF-KELM、IF-SVR、IF-GPR預(yù)測模型。訓練階段的擬合精度和測試階段的預(yù)測精度如表1所示。由表1可知,IF-KELM模型訓練集和測試集的RMSE分別是0.263 9 mm和1.106 7 mm,MAE分別是0.179 9 mm和0.860 2 mm,遠小于大壩水平位移的量級,同時也低于其他2個模型,而訓練集與測試集的R2也大于另外兩個模型。結(jié)果表明,預(yù)測結(jié)果具有較高精確性的同時,也具有更好的整體穩(wěn)定性。
表1 不同預(yù)測模型的預(yù)測精度對比
不同預(yù)測模型的擬合和預(yù)測結(jié)果如圖4所示。由圖4可知,IF-KELM模型的擬合過程線和預(yù)測過程線與實測過程線最接近,相應(yīng)取得最優(yōu)參數(shù)的IF-SVR模型和IF-GPR模型雖然都取得了較好的擬合效果,但在圖中的“波峰波谷”處預(yù)測值與實測值偏差較大。根據(jù)結(jié)果,IF-KELM可以有效地評估和預(yù)測大壩位移,并且性能優(yōu)于IF-SVR和IF-GPR模型。
圖4 不同預(yù)測模型的擬合和預(yù)測結(jié)果對比
為了避免出現(xiàn)維數(shù)災(zāi)害的問題,IF算法減少了輸入變量的個數(shù),在異常值剔除效果好的同時也大大提高了計算效率。PSO自動參數(shù)尋優(yōu)避免了人工假設(shè)異常閾值的問題,提升算法的參數(shù)尋優(yōu)效率,提高算法的泛化性能。與IF-SVR和IF-GPR相比,基于IF-KELM的模型具有更好的捕捉自變量和因變量之間非線性關(guān)系的能力,有高預(yù)測精度和低誤差報警。