鄭霞忠,陳國梁,鄒 韜
(三峽大學(xué)水利與環(huán)境學(xué)院,湖北 宜昌 443002 )
通過分析大壩安全監(jiān)測數(shù)據(jù),評估大壩安全性態(tài),是減少大壩運(yùn)行風(fēng)險(xiǎn)的重要手段。在監(jiān)測數(shù)據(jù)采集過程中,受人為因素、作用環(huán)境以及儀器故障等影響,監(jiān)測數(shù)據(jù)中不可避免地存在數(shù)據(jù)異常問題,其中異常數(shù)據(jù)中粗差的識別與剔除關(guān)系到后期大壩安全評估的可靠性。
目前,消減大壩監(jiān)測數(shù)據(jù)異常值的方法主要從兩條途徑展開:一是基于假設(shè)檢驗(yàn)辨識異常數(shù)值。該類方法假設(shè)監(jiān)測數(shù)據(jù)中存在異常值,通過均值漂移模型重構(gòu)監(jiān)測數(shù)據(jù),并計(jì)算其與歷史數(shù)據(jù)間的粗差估計(jì),但受異常值位置的不確定性和最小二乘法的均攤效應(yīng)影響,數(shù)據(jù)的整體質(zhì)量無法保證[1-2]。二是抗差估計(jì),通過構(gòu)造估值方法控制監(jiān)測數(shù)據(jù)與估計(jì)值的偏離程度。但該方法普遍存在時(shí)效性較差和算法復(fù)雜等缺點(diǎn),不適用于識別由時(shí)效性引起的大壩安全監(jiān)測異常數(shù)據(jù)[3- 4];并且傳統(tǒng)異常數(shù)據(jù)清洗方法均是針對單一數(shù)據(jù)類型,分析數(shù)據(jù)中的異常值,且過度依賴單一數(shù)據(jù)變化過程中的突變平滑關(guān)系[5],難以甄別異常值是由環(huán)境突變還是粗差引起,而由環(huán)境突變引起的異常數(shù)據(jù)是大壩工作狀態(tài)的真實(shí)反映,不需要進(jìn)行剔除[6-7]。
考慮到在大壩安全監(jiān)測過程中,大壩監(jiān)測的效應(yīng)量(變形、應(yīng)力、滲流等)與致因因子(水位、壩體溫度等)間常存在明顯關(guān)聯(lián)性[8],可利用這些關(guān)聯(lián)性約束,提高大壩安全監(jiān)測數(shù)據(jù)中異常值清洗的準(zhǔn)確性。為此,本文提出了一種考慮監(jiān)測序列間關(guān)聯(lián)性的數(shù)據(jù)清洗方法,即通過Apriori算法分析監(jiān)測序列間的關(guān)聯(lián)性,篩選強(qiáng)關(guān)聯(lián)性監(jiān)測序列,結(jié)合DBSCAN算法識別異常數(shù)據(jù),根據(jù)清洗規(guī)則分析辨識異常數(shù)據(jù)中的粗差,利用粒子群算法(PSO)優(yōu)化最小二乘支持向量機(jī)(LSSVM)數(shù)據(jù)擬合過程,重構(gòu)異常數(shù)據(jù),從而實(shí)現(xiàn)對異常數(shù)據(jù)的準(zhǔn)確清洗。
關(guān)聯(lián)規(guī)則(Association Rules)是數(shù)據(jù)挖掘技術(shù)中常用的算法,主要用于分析數(shù)據(jù)間的關(guān)聯(lián)性。根據(jù)關(guān)聯(lián)規(guī)則的相關(guān)定義[9-10],羅列其中重要概念如下:
(1)事務(wù)數(shù)據(jù)庫。即子集事務(wù)的集合,記作C,事務(wù)數(shù)據(jù)庫中子集事務(wù)總數(shù)記作|C|。
(2)關(guān)聯(lián)規(guī)則。若項(xiàng)集存在A?C,B?C,且A∩B≠?的關(guān)系,則表明A→B存在關(guān)聯(lián)信息,A、B項(xiàng)集為關(guān)聯(lián)規(guī)則中的先導(dǎo)和后繼。
(3)支持度。關(guān)聯(lián)規(guī)則A→B中A∪B項(xiàng)集組合在事務(wù)數(shù)據(jù)庫C中同時(shí)出現(xiàn)的概率,記作Psupport(A→B)。ncount(A∪B)為A∪B在事務(wù)數(shù)據(jù)庫C中出現(xiàn)的個(gè)數(shù),其數(shù)學(xué)表達(dá)式為
(1)
(4)頻繁項(xiàng)集。若關(guān)聯(lián)規(guī)則的支持度滿足最小支持度要求,則該關(guān)聯(lián)規(guī)則中的項(xiàng)集為頻繁項(xiàng)集。
(5)置信度。在包含項(xiàng)集的子集事務(wù)中,同時(shí)出現(xiàn)項(xiàng)集B的概率,即項(xiàng)集A發(fā)生條件下,項(xiàng)集B的條件概率,其數(shù)學(xué)表達(dá)式為
(2)
(6)序列關(guān)聯(lián)度和置信度。為分析監(jiān)測序列間的關(guān)聯(lián)性,基于關(guān)聯(lián)規(guī)則的分析原理,本文定義監(jiān)測序列關(guān)聯(lián)度和置信度數(shù)學(xué)表達(dá)式。對于監(jiān)測序列A和B,若它們之間蘊(yùn)含有關(guān)聯(lián)規(guī)則,且其中存在n條關(guān)聯(lián)規(guī)則Xi→Yi滿足最小支持度要求,則關(guān)聯(lián)度和置信度表達(dá)式分別為
(3)
(4)
監(jiān)測序列關(guān)聯(lián)性分析過程中,關(guān)聯(lián)度越高,則表明序列間關(guān)聯(lián)性越強(qiáng);為分析序列關(guān)聯(lián)性的可信度,引入置信度概念衡量關(guān)聯(lián)規(guī)則可信程度,監(jiān)測序列的置信度趨近1,表明關(guān)聯(lián)規(guī)則具有較高的可信度。若監(jiān)測序列的關(guān)聯(lián)規(guī)則中的支持度和置信度均滿足最小閾值0.5的參數(shù)要求,則稱該組序列為強(qiáng)關(guān)聯(lián)性序列;否則認(rèn)為序列間關(guān)聯(lián)性較弱或不存在關(guān)聯(lián)。
為滿足關(guān)聯(lián)分析中Apriori算法運(yùn)算要求,需要對監(jiān)測序列進(jìn)行符號化處理。首先,使用滑動(dòng)窗口L對原始監(jiān)測序列截取子序列;然后,對子序列進(jìn)行線性擬合,并對線性方程的斜率值進(jìn)行標(biāo)準(zhǔn)化處理,使其均處于[-1,1]區(qū)間內(nèi);最后,依據(jù)符號轉(zhuǎn)換規(guī)則,對子序列進(jìn)行符號化處理,符號轉(zhuǎn)換規(guī)則如表1所示。
表1 序列符號化表示
符號化處理后的監(jiān)測序列運(yùn)用Apriori算法計(jì)算其支持度和置信度,根據(jù)參數(shù)閾值要求,篩選頻繁項(xiàng)集并計(jì)算序列關(guān)聯(lián)度與置信度,最終輸出強(qiáng)關(guān)聯(lián)性的監(jiān)測序列。監(jiān)測序列關(guān)聯(lián)性分析流程如下:①根據(jù)滑動(dòng)窗口長度截取子序列,并進(jìn)行符號化處理。②利用Apriori算法選取關(guān)聯(lián)規(guī)則中的頻繁項(xiàng)集。③利用式(3)、(4)計(jì)算序列間的關(guān)聯(lián)度及置信度,輸出強(qiáng)關(guān)聯(lián)性的監(jiān)測序列。
選取某拱壩15號壩段垂線監(jiān)測徑向位移和上游水位過程線的歷史數(shù)據(jù),數(shù)據(jù)采集從2013年5月4日開始至2018年6月10日截止,圖1為原始監(jiān)測數(shù)據(jù)圖像;數(shù)據(jù)樣本長度為Ldata=890,設(shè)置滑動(dòng)窗口L=10,得到89個(gè)子序列;根據(jù)符號轉(zhuǎn)換規(guī)則對序列進(jìn)行符號化處理,利用Apriori算法進(jìn)行關(guān)聯(lián)性計(jì)算,結(jié)果見表2。
由表2可知,15號壩段垂線測點(diǎn)的徑向位移監(jiān)測序列和上游水位序列間關(guān)聯(lián)度和置信度均滿足最小閾值0.5的要求,徑向位移監(jiān)測序列和上游水位序列間存在強(qiáng)關(guān)聯(lián)性,與圖1中序列監(jiān)測直觀結(jié)果一致,在后續(xù)監(jiān)測異常數(shù)據(jù)處理中可結(jié)合序列間的關(guān)聯(lián)性進(jìn)一步分析。
圖1 上游水位和15號壩段徑向位移過程線
表2 上游水位和15號壩段徑向位移關(guān)聯(lián)性結(jié)果
壩段測點(diǎn)關(guān)聯(lián)度置信度IP15-10.6140.614IP15-20.7500.830IP15-30.7610.835IP15-40.8860.853IP15-50.8070.730
監(jiān)測過程中的異常數(shù)據(jù)與正常數(shù)據(jù)間存在一定的相異程度,在空間中表現(xiàn)為不同形狀的簇群。為剔除大壩安全監(jiān)測數(shù)據(jù)中的異常數(shù)據(jù),使用基于密度聚類的DBSCAN算法識別序列中異常數(shù)據(jù)。該算法在數(shù)據(jù)聚類過程中具有良好的抗噪性能,能夠在多維空間數(shù)據(jù)中克服噪聲影響,并識別出任意形狀的相似簇群[11]。DBSCAN算法檢測時(shí)間序列的異常值流程如下:①在數(shù)據(jù)庫中隨機(jī)選取一數(shù)據(jù)點(diǎn);②檢查數(shù)據(jù)點(diǎn)是否為核心對象,若是以該點(diǎn)為核心,形成簇群;③否則標(biāo)記該點(diǎn)為噪聲點(diǎn),重新尋找(跳轉(zhuǎn)步驟1)。
數(shù)據(jù)清洗是對序列中的異常值點(diǎn)進(jìn)行剔除和重構(gòu),根據(jù)產(chǎn)生異常點(diǎn)的原因,異常點(diǎn)可以歸納為傳感數(shù)據(jù)異常和大壩狀態(tài)異常兩類。傳感數(shù)據(jù)異常指在數(shù)據(jù)在采集、傳輸過程出現(xiàn)誤差,導(dǎo)致數(shù)據(jù)異常,該類異常數(shù)據(jù)屬于數(shù)據(jù)監(jiān)測過程的粗差,必須對其進(jìn)行剔除和重構(gòu),以實(shí)現(xiàn)數(shù)據(jù)清洗目的;大壩狀態(tài)異常指的是環(huán)境突變等原因使得大壩工作狀態(tài)出現(xiàn)異常,在監(jiān)測數(shù)據(jù)中表現(xiàn)為監(jiān)測效應(yīng)量出現(xiàn)突變或極值,該類異常點(diǎn)數(shù)據(jù)反映了大壩的異常工作性態(tài),數(shù)據(jù)清洗過程中需將其識別出來,并對大壩安全性態(tài)進(jìn)行分析。
大壩監(jiān)測數(shù)據(jù)清洗流程及規(guī)則如下:
(1)使用Apriori算法分析大壩監(jiān)測效應(yīng)量間的關(guān)聯(lián)規(guī)則及關(guān)聯(lián)程度。
(2)對弱關(guān)聯(lián)性的效應(yīng)量利用DBSCAN算法識別異常點(diǎn),跳轉(zhuǎn)步驟4對異常數(shù)據(jù)進(jìn)行重構(gòu)。
(3)對蘊(yùn)含強(qiáng)關(guān)聯(lián)規(guī)則的監(jiān)測序列,利用DBSCAN算法進(jìn)行異常數(shù)據(jù)識別,并對比分析兩組關(guān)聯(lián)序列中異常數(shù)據(jù)出現(xiàn)時(shí)刻。若檢測結(jié)果中異常數(shù)據(jù)位于兩組序列的相同時(shí)刻,則認(rèn)為該點(diǎn)異常為環(huán)境變量引起與其相關(guān)聯(lián)的大壩監(jiān)測效應(yīng)量的變化,屬于大壩狀態(tài)異常數(shù)據(jù)類型;當(dāng)異常點(diǎn)單獨(dú)出現(xiàn)在個(gè)別序列的某一時(shí)刻,該類異常數(shù)據(jù)屬于傳感異常。考慮到當(dāng)數(shù)據(jù)異常波動(dòng)較小時(shí),序列異常數(shù)據(jù)檢測過程中DBSCAN算法中可能會(huì)出現(xiàn)遺漏,利用PSO-LSSVM模型預(yù)測強(qiáng)關(guān)聯(lián)序列中的另一組序列數(shù)據(jù),分析關(guān)聯(lián)序列中是否出現(xiàn)異常數(shù)據(jù)檢測的遺漏項(xiàng)。若預(yù)測結(jié)果與采樣原數(shù)據(jù)間存在較大偏差,表明原始監(jiān)測數(shù)據(jù)在采集過程出現(xiàn)誤差,該數(shù)據(jù)點(diǎn)為異常數(shù)據(jù)識別的遺漏項(xiàng),根據(jù)關(guān)聯(lián)序列中同時(shí)出現(xiàn)異常數(shù)據(jù)的判別規(guī)則,認(rèn)為該異常點(diǎn)屬于大壩狀態(tài)異常數(shù)據(jù);若預(yù)測偏差較小,表明相關(guān)聯(lián)的一組序列并未出現(xiàn)異常數(shù)據(jù)檢測的遺漏項(xiàng),異常數(shù)據(jù)單獨(dú)出現(xiàn)在序列中,最終甄別該異常點(diǎn)為傳感數(shù)據(jù)異常,需要對該數(shù)據(jù)進(jìn)行清洗。
(4)利用PSO-LSSVM模型對序列進(jìn)行預(yù)測,重構(gòu)異常數(shù)據(jù)。
考慮到最小二乘支持向量機(jī)(LSSVM)在擬合非線性、大體量數(shù)據(jù)的優(yōu)勢[12-13],本文采用LSSVM模型對大壩監(jiān)測序列進(jìn)行擬合,重構(gòu)異常數(shù)據(jù),實(shí)現(xiàn)數(shù)據(jù)的清洗。同時(shí),為保證LSSVM模型和核函數(shù)中參數(shù)設(shè)置的客觀性,利用粒子群算法優(yōu)化參數(shù)計(jì)算。LSSVM模型中參數(shù)計(jì)算的目標(biāo)函數(shù)為
(5)
式中,ω為權(quán)向量;θ為誤差向量;γ為懲罰因子,且γ>0。
考慮徑向基核函數(shù)常被用于處理非線性映射關(guān)系,將其作為LSSVM的核函數(shù)。
(6)
式中,ωi為Lagrango乘子;xi、xj為任意兩個(gè)樣本。
對15號壩段垂線測點(diǎn)PL15-3的切向位移監(jiān)測數(shù)據(jù)與上游水位數(shù)據(jù)進(jìn)行關(guān)聯(lián)性分析,發(fā)現(xiàn)兩者間關(guān)聯(lián)程度較低,不存在強(qiáng)關(guān)聯(lián)規(guī)則。以15號壩段垂線測點(diǎn)PL15-3的切向位移監(jiān)測數(shù)據(jù)為例,進(jìn)行無關(guān)聯(lián)性序列異常數(shù)據(jù)清洗。該測點(diǎn)切向位移監(jiān)測序列區(qū)間為2013年5月4日~2018年1月4日,樣本長度為813。為驗(yàn)證本文模型的有效性,對原始數(shù)據(jù)人為加入異常,分別在第70~80數(shù)據(jù)點(diǎn)間添加高斯白噪聲,第340個(gè)數(shù)據(jù)點(diǎn)加入異常,第400個(gè)數(shù)據(jù)點(diǎn)剔除數(shù)據(jù),異常化處理后序列見圖2。
表3 異常點(diǎn)清洗結(jié)果
為驗(yàn)證本文數(shù)據(jù)預(yù)測模型的準(zhǔn)確性,針對第77個(gè)數(shù)據(jù)點(diǎn),選取傳統(tǒng)BP神經(jīng)網(wǎng)絡(luò)模型、小波神經(jīng)網(wǎng)絡(luò)模型及支持向量機(jī)模型進(jìn)行預(yù)測比較,其預(yù)測結(jié)果偏差分別為2.85%、3.58%、2.98%,均大于本文模型預(yù)測偏差,驗(yàn)證了本文所提出模型的準(zhǔn)確度。
1.3節(jié)中序列關(guān)聯(lián)性分析實(shí)例中已論證了15號壩段PL15- 4測點(diǎn)垂向位移監(jiān)測數(shù)據(jù)與上游水位序列間存在強(qiáng)關(guān)聯(lián)性,在本節(jié)中以這兩組監(jiān)測序列為案例,進(jìn)行強(qiáng)關(guān)聯(lián)序列間的數(shù)據(jù)清洗。利用DBSCAN算法識別兩組監(jiān)測序列間的數(shù)據(jù)異常點(diǎn)和缺失點(diǎn),若待清洗數(shù)據(jù)點(diǎn)為傳感數(shù)據(jù)異常,則利用基于PSO-LSSVM模型進(jìn)行數(shù)據(jù)重構(gòu)。
(1)兩組關(guān)聯(lián)序列數(shù)據(jù)采集時(shí)間段均為2013年5月4日~2018年6月10日,采集間隔時(shí)均為2 d采集一次。利用算法同時(shí)對兩組序列進(jìn)行異常數(shù)據(jù)檢測,發(fā)現(xiàn)在第76、107、411、512、536、619、744、887個(gè)數(shù)據(jù)點(diǎn)處兩組監(jiān)測序列同一時(shí)刻均出現(xiàn)異常數(shù)據(jù)。已知測點(diǎn)PL15- 4垂向位移監(jiān)測數(shù)據(jù)與上游水位序列間存在強(qiáng)關(guān)聯(lián)性,若在同一時(shí)刻出現(xiàn)異常數(shù)據(jù),根據(jù)清洗規(guī)則,認(rèn)為該類數(shù)據(jù)是由環(huán)境發(fā)生較大變化時(shí)所引起大壩狀態(tài)變化,為大壩狀態(tài)異常數(shù)據(jù)。該類異常數(shù)據(jù)為大壩工作性態(tài)的真實(shí)反映,不需要進(jìn)行清洗,必要時(shí)可發(fā)出監(jiān)測預(yù)警。
(2)第二類異常點(diǎn)為單獨(dú)出現(xiàn)在測點(diǎn)PL15- 4垂向位移監(jiān)測序列中的異常數(shù)據(jù)點(diǎn)。對第二類異常數(shù)據(jù)點(diǎn)進(jìn)一步區(qū)分,判斷相關(guān)聯(lián)的序列在同一時(shí)刻的數(shù)據(jù)是否為異常數(shù)據(jù)遺漏項(xiàng)。根據(jù)關(guān)聯(lián)數(shù)據(jù)清洗流程,對關(guān)聯(lián)序列中的另一組數(shù)據(jù)上游水位進(jìn)行預(yù)測,計(jì)算預(yù)測偏差。上游水位在第66、368、482數(shù)據(jù)點(diǎn)預(yù)測偏差分別為10.87%、3.94%、1.37%。第368、482數(shù)據(jù)點(diǎn)的預(yù)測偏差較小,表明上游原始監(jiān)測數(shù)據(jù)正常,非異常數(shù)據(jù)檢測的遺漏項(xiàng),從而判斷測點(diǎn)PL15- 4垂向位移監(jiān)測序列在第368、482數(shù)據(jù)點(diǎn)的異常數(shù)據(jù)為傳感器異常,需要對其進(jìn)行數(shù)據(jù)清洗;上游水位在第66個(gè)數(shù)據(jù)點(diǎn)預(yù)測偏差為10.87%,大于10%的誤差閾值,說明DBSCAN算法異常數(shù)據(jù)檢測過程中將其遺漏,該點(diǎn)數(shù)據(jù)應(yīng)為上游水位傳感器異常數(shù)據(jù)。根據(jù)關(guān)聯(lián)序列異常數(shù)據(jù)判斷條件可知,認(rèn)為測點(diǎn)PL15- 4垂向位移監(jiān)測序列在第66個(gè)數(shù)據(jù)點(diǎn)為大壩異常數(shù)據(jù),不需要進(jìn)行數(shù)據(jù)清洗,應(yīng)對該點(diǎn)大壩工作狀態(tài)進(jìn)行進(jìn)一步分析。
本文提出考慮監(jiān)測效應(yīng)量間關(guān)聯(lián)性的異常數(shù)據(jù)清洗方法,并結(jié)合大壩典型位移監(jiān)測數(shù)據(jù)進(jìn)行了實(shí)例分析,得到如下結(jié)論:
(1)考慮監(jiān)測異常數(shù)據(jù)中可能包含外界環(huán)境引起監(jiān)測效性量突變,結(jié)合異常數(shù)據(jù)成因,細(xì)分異常數(shù)據(jù)類型,過濾不需清洗大壩狀態(tài)異常數(shù)據(jù)。
(2)引入PSO計(jì)算LSSVM模型及核函數(shù)中相關(guān)參數(shù),克服參數(shù)設(shè)置的主觀性,與常用序列預(yù)測方法比較,PSO-LSSVM模型能進(jìn)一步提高數(shù)據(jù)擬合精度。
(3)利用大壩安全監(jiān)測數(shù)據(jù)間的關(guān)聯(lián)性特點(diǎn),將關(guān)聯(lián)規(guī)則結(jié)果運(yùn)用到異常數(shù)據(jù)分析過程中,并結(jié)合PSO-LSSVM模型,提高了數(shù)據(jù)清洗的準(zhǔn)確性。