邵 健 王 霄,2 昌文峰 陳 曦 張 譯
(1.貴州大學(xué)電氣工程學(xué)院 貴陽(yáng) 550025)(2.貴州省互聯(lián)網(wǎng)+協(xié)同智能制造重點(diǎn)實(shí)驗(yàn)室 貴陽(yáng) 550025)
滑坡是地質(zhì)構(gòu)造發(fā)生嚴(yán)重形變的過(guò)程,是由降雨、山體水系和人工活動(dòng)等共同因素影響下,朝著斜坡方向向下的滑動(dòng)的地質(zhì)過(guò)程與自然現(xiàn)象。是引起人們損失的地質(zhì)災(zāi)害主要災(zāi)害之一,滑坡災(zāi)害的嚴(yán)重程度和損害系數(shù)僅比地震引起的損失稍小,研究滑坡災(zāi)害模型具有重要意義。
隨著數(shù)據(jù)采集與地理信息系統(tǒng)的快速發(fā)展,利用機(jī)器學(xué)習(xí)進(jìn)行地質(zhì)災(zāi)害相關(guān)的研究成為熱點(diǎn)。黃發(fā)明等[1]以支持向量機(jī)和隨機(jī)森林為例,提出“權(quán)重均值法”計(jì)算出更準(zhǔn)確的滑坡主控因子;羅路廣[2]等采用邏輯回歸模型構(gòu)建九寨溝國(guó)家地質(zhì)公園內(nèi)地震滑坡模型;潘李含等[3]以江西省南康區(qū)為例,采用半監(jiān)督卡方自交互偵測(cè)決策樹和半監(jiān)督反向傳播神經(jīng)網(wǎng)絡(luò)進(jìn)行滑坡易發(fā)性預(yù)測(cè)。王偉等[4]提出了卡方檢驗(yàn)與多重共線性分析聯(lián)合篩選的方法對(duì)敏感因子進(jìn)行篩選,基于不同的機(jī)器學(xué)習(xí)算法構(gòu)建了滑坡敏感性評(píng)價(jià)模型。Osman Orhan[5]等利用人工神經(jīng)網(wǎng)絡(luò)(ANN)和邏輯回歸制作和比較滑坡易感性圖。Huang[6]等選取中國(guó)江西省旬武縣作為研究區(qū),提出了半監(jiān)督多層感知器構(gòu)建滑坡模型。Li[7]等提出了基于數(shù)據(jù)驅(qū)動(dòng)的滑坡位移監(jiān)測(cè)與預(yù)測(cè)方法,以三峽庫(kù)區(qū)滑坡為例,驗(yàn)證了該方法的有效性和實(shí)用性。Wu[8]等應(yīng)用一種半監(jiān)督學(xué)習(xí)方法在中國(guó)中北部黃土高原研究區(qū)生成滑坡易感性圖。Liao[9]等提出了一種基于灰狼優(yōu)化核極限學(xué)習(xí)機(jī)(GWO-KELM)的階梯式位移預(yù)測(cè)模型,并將其應(yīng)用于白水河滑坡。
本文通過(guò)收集研究區(qū)數(shù)據(jù)與查閱大量資料,結(jié)合貴州大方縣地理環(huán)境、地質(zhì)情況等特點(diǎn),選取高程、坡度、坡向、年降雨量、歸一化植被覆蓋指數(shù)、剖面曲率、距水系距離、距道路距離、地表起伏度、土地利用類型、地層巖性、距斷層距離、人類活動(dòng)強(qiáng)度等13 個(gè)滑坡因子構(gòu)建滑坡敏感性分析。首先針對(duì)收集到的滑坡非平衡數(shù)據(jù)集的問(wèn)題,采用Borderline-SMOTE 算法進(jìn)行數(shù)據(jù)采樣生成平衡數(shù)據(jù)集,然后對(duì)數(shù)據(jù)進(jìn)行數(shù)據(jù)清洗、分桶等處理,最后采用CatBoost 對(duì)歷史災(zāi)害數(shù)據(jù)進(jìn)行滑坡模型的構(gòu)建及主要影響因素的分析。通過(guò)實(shí)驗(yàn)發(fā)現(xiàn),以貴州省大方縣為研究地區(qū),CatBoost 算法在滑坡敏感性預(yù)測(cè)效果比SVM、LR 模型效果更優(yōu)。研究區(qū)高程及滑坡點(diǎn)如圖1所示。
圖1 研究區(qū)高程圖
非平衡數(shù)據(jù)集在日常生活或產(chǎn)生過(guò)程中是很常見的,即多數(shù)類與少數(shù)類的比例嚴(yán)重失衡,非平衡數(shù)據(jù)對(duì)機(jī)器學(xué)習(xí)算法的學(xué)習(xí)造成非常大的障礙,從而導(dǎo)致模型的欠擬合或預(yù)測(cè)效果不佳[10~11]。對(duì)于某片區(qū)域而言,產(chǎn)生滑坡災(zāi)害地區(qū)的數(shù)量明顯少于非滑坡的情況,并且由于滑坡數(shù)據(jù)本身的采集難度,從而造成了滑坡類別與非滑坡類別在比例上的嚴(yán)重失衡,顯然滑坡歷史數(shù)據(jù)集屬于典型的非平衡數(shù)據(jù)集。因此,對(duì)滑坡數(shù)據(jù)集利用改進(jìn)的SMOTE算法進(jìn)行采樣。
面對(duì)非平衡數(shù)據(jù)集,現(xiàn)有技術(shù)主要分為欠采樣、過(guò)采樣以及先基于原始數(shù)據(jù)進(jìn)行學(xué)習(xí),然后在預(yù)測(cè)是進(jìn)行“再縮放”策略進(jìn)行調(diào)整等三種方法。SMOTE[12]是過(guò)采樣的典型算法,是基于隨機(jī)過(guò)采樣的一種改進(jìn)算法。在此基礎(chǔ)上,為了解決SMOTE 算法采樣帶來(lái)的樣本重合問(wèn)題,Borderline-SMOTE[13]對(duì)此進(jìn)一步改進(jìn),基本思想如下:1)根據(jù)歐式距離將少數(shù)類樣本分為三類,分別為Safe、Danger 和Noise(Safe 表示近鄰樣本超過(guò)一般為少數(shù)類;Danger表示近鄰樣本超過(guò)一半為多數(shù)類別樣本;Noise 表示近鄰樣本全部都為多數(shù)類別樣本),得到Danger少數(shù)類別樣本,其樣本類別劃分如圖2 所示;2)根據(jù)不平衡比例設(shè)置采樣比例以確定采樣倍率,對(duì)每個(gè)Danger 少數(shù)類樣本,從其近鄰樣本中隨機(jī)選擇若干個(gè)樣本;3)對(duì)每一個(gè)隨機(jī)選出的近鄰樣本,利用合成公式得到合成樣本,合成公式如下:
圖2 樣本類型劃分
其中,xnew為“人工合成”樣本,x?為少數(shù)類樣本,xi為選取的K 鄰近樣本,rand(0,1)產(chǎn)生0~1 之間的隨機(jī)數(shù)。
Borderline-SMOTE 又分為兩類,Borderline-SMOTE1 在對(duì)Danger 點(diǎn)生成新樣本時(shí),在K 近鄰隨機(jī)選擇少數(shù)類樣本,Borderline-SMOTE2 則是在K 近鄰中任意一個(gè)樣本,即不關(guān)注樣本類別,本文經(jīng)過(guò)實(shí)驗(yàn),最終采用Borderline-SMOTE2 進(jìn)行過(guò)采樣。
隨著大數(shù)據(jù)時(shí)代的到來(lái),傳統(tǒng)機(jī)器學(xué)習(xí)算法在計(jì)算能力與精度方面展現(xiàn)出了一定的劣勢(shì),同時(shí)出現(xiàn)一些基于boosting 族的強(qiáng)大的機(jī)器學(xué)習(xí)算法,如XGBoost、LightGBM 等。CatBoost 是Yandex[14]在開源的機(jī)器學(xué)習(xí)庫(kù),是boosting族算法的一種,也是在GBDT(gradient boost decision tree)算法框架下的一種改進(jìn)實(shí)現(xiàn)。XGBoost 被廣泛地應(yīng)用于工業(yè)界,LightGBM 有效地提升了GBDT 的計(jì)算效率,Cat-Boost 比XGBoost、LightGBM 在算法準(zhǔn)確率等方 面表現(xiàn)更為優(yōu)秀。
CatBoost 是一種基于對(duì)稱決策樹(oblivious trees)為基學(xué)習(xí)器實(shí)現(xiàn)的參數(shù)較少、支持類別變量和高準(zhǔn)確性的GBDT 框架,主要解決的痛點(diǎn)是高效合理地處理類別型特征,此外,還解決了梯度偏差以及預(yù)測(cè)偏移的問(wèn)題,從而減少過(guò)擬合的發(fā)生,進(jìn)而提高算法的準(zhǔn)確性和泛化能力。從算法名字上可 以 發(fā) 現(xiàn),CatBoost 是 由Categorical 和Boosting 組成,該算法設(shè)計(jì)初衷是為了更好地處理GBDT 特征中的類別型特征[15]。在處理GBDT 特征中的類別型特征時(shí),最簡(jiǎn)單的方法是使用類別型特征對(duì)應(yīng)的標(biāo)簽的平均值來(lái)替換,在決策樹中,標(biāo)簽平均值將作為節(jié)點(diǎn)分裂的標(biāo)準(zhǔn),該方法被稱為貪婪的目標(biāo)變量統(tǒng)計(jì)(Greedy Target-based Statistics,Greedy TS),用公式表示為
這種方法具有顯而易見的缺陷,即通常特征比標(biāo)簽包含更多的信息,如果強(qiáng)行用標(biāo)簽的平均值來(lái)表示特征,當(dāng)訓(xùn)練數(shù)據(jù)集和測(cè)試數(shù)據(jù)集數(shù)據(jù)結(jié)構(gòu)和分布不一致時(shí)會(huì)出現(xiàn)條件偏移問(wèn)題,一個(gè)標(biāo)準(zhǔn)的改進(jìn)Greedy TS 的方式是添加先驗(yàn)分布項(xiàng),減少噪聲和低頻率類別型數(shù)據(jù)對(duì)于數(shù)據(jù)分布的影響,公式表示為
其中p是添加的先驗(yàn)項(xiàng),a通常是大于0 的權(quán)重系數(shù),對(duì)于分類問(wèn)題,先驗(yàn)項(xiàng)是正例的先驗(yàn)概率;同時(shí)該算法會(huì)自動(dòng)組合類別型特征為新的特征,更進(jìn)一步提升模型的表達(dá)能力。針對(duì)CatBoost 算法上述優(yōu)點(diǎn),滑坡數(shù)據(jù)集本身多為類別型特征,運(yùn)用該算法能夠最大程度地學(xué)習(xí)到更多的信息,從而進(jìn)一步提升模型表達(dá)能力。
3.1.1 數(shù)據(jù)來(lái)源
利用機(jī)器學(xué)習(xí)構(gòu)建模型分析需要大量的樣本及豐富的滑坡特征數(shù)據(jù),而模型的好壞又與這些數(shù)據(jù)密切相關(guān),因此數(shù)據(jù)的收集是一個(gè)長(zhǎng)期、持續(xù)的過(guò)程。高程數(shù)據(jù)來(lái)自地理空間數(shù)據(jù)云的ASTER GDEM 數(shù)據(jù),該數(shù)據(jù)由美國(guó)NASA 和日本METI 共同開發(fā),是唯一能夠覆蓋全球陸地的高分辨率高程數(shù)據(jù);滑坡災(zāi)害來(lái)自于貴州省自然資源廳,數(shù)據(jù)詳細(xì)統(tǒng)計(jì)了滑坡發(fā)生時(shí)間與滑坡名。
通過(guò)不同數(shù)據(jù)來(lái)源收集滑坡數(shù)據(jù)1018 例,其中包括滑坡樣本200例,非滑坡樣本818例,滑坡特征13 個(gè),滑坡特征分別為高程、坡度、坡向、年降雨量、歸一化植被覆蓋指數(shù)、剖面曲率、距水系距離、距道路距離、地表起伏度、土地利用類型、地層巖性、距斷層距離、人類活動(dòng)強(qiáng)度?;緮?shù)據(jù)來(lái)源見表1所示。
表1 數(shù)據(jù)來(lái)源情況
3.1.2 數(shù)據(jù)處理
根據(jù)不同數(shù)據(jù)平臺(tái)采集的滑坡數(shù)據(jù)集往往存在重復(fù)值、異常值、缺失值等不合理的數(shù)據(jù),同時(shí)不同滑坡特征數(shù)據(jù)的量綱不統(tǒng)一等這些問(wèn)題,會(huì)對(duì)滑坡模型預(yù)測(cè)精度產(chǎn)生較大的影響,甚至直接導(dǎo)致失敗。本文對(duì)數(shù)據(jù)集的清洗工作包括:1)刪除重復(fù)數(shù)據(jù);2)缺失值的填充,對(duì)連續(xù)特征采用平均值,對(duì)類別特征采用眾數(shù);3)數(shù)據(jù)分桶,根據(jù)數(shù)據(jù)分布按分位點(diǎn)對(duì)連續(xù)特征進(jìn)行分桶并標(biāo)簽編碼,類別特征直接進(jìn)行標(biāo)簽編碼。
本文采用多個(gè)評(píng)估指標(biāo)對(duì)滑坡模型進(jìn)行評(píng)估:查準(zhǔn)率(Precision)是指分類正確的正樣本個(gè)數(shù)占分類器判定為正樣本的樣本個(gè)數(shù)的比例;召回率(Recall)是指分類正確的正樣本個(gè)數(shù)占真正的正樣本個(gè)數(shù)的比例;F1-score 是查準(zhǔn)率和召回率的調(diào)和平均數(shù),定義為
AUC 是指ROC 曲線(Receiver Operating Characteristic Curve)線下面積,一般介于0.5~1 之間,AUC值越大說(shuō)明模型泛化能力越好。
實(shí)驗(yàn)環(huán)境為Jupyter Notebook,package 主要包括python3.8,numpy,pandas,scikit-learn,imblearn等。原始滑坡數(shù)據(jù)集為1018例,滑坡特征數(shù)13個(gè),對(duì)經(jīng)過(guò)清洗后的原始數(shù)據(jù)進(jìn)行Bootstrap 和Borderline-SMOTE 方法得到所需的平衡數(shù)據(jù)集,數(shù)據(jù)集情況對(duì)比如表2所示。
表2 數(shù)據(jù)集情況對(duì)比
對(duì)數(shù)據(jù)集進(jìn)行劃分訓(xùn)練集70%、測(cè)試集30%,使用CatBoost 算法構(gòu)建大方縣滑坡模型,與傳統(tǒng)機(jī)器學(xué)習(xí)(LR、SVM)進(jìn)行實(shí)驗(yàn)對(duì)比,為保證實(shí)驗(yàn)結(jié)果置信度,避免單次實(shí)驗(yàn)結(jié)果偶然性,本文多次實(shí)驗(yàn)結(jié)果如表3與圖3,各模型AUC值對(duì)比如圖4所示。
圖3 各模型實(shí)驗(yàn)結(jié)果誤差分析圖
圖4 AUC值實(shí)驗(yàn)對(duì)比圖
表3 各模型的評(píng)估指標(biāo)實(shí)驗(yàn)對(duì)比
通過(guò)實(shí)驗(yàn)對(duì)比,基于CatBoost 算法的滑坡模型在多個(gè)評(píng)估指標(biāo)上優(yōu)于LR、SVM 等傳統(tǒng)機(jī)器學(xué)習(xí)模型,尤其在AUC 指標(biāo)上表現(xiàn)尤為突出,模型效果提升分別為8.48%、4.92%。利用CatBoost模型的特征重要性排序,可以發(fā)現(xiàn)各個(gè)滑坡因素對(duì)模型的重要性或貢獻(xiàn)度,如圖5 所示。可以從中土地利用類型、地層巖性、距水系距離、距斷層距離表現(xiàn)出更高的重要性,從可解釋性出發(fā),上述滑坡特征對(duì)滑坡災(zāi)害的發(fā)生有著更加重要、直接的影響。
圖5 滑坡特征重要性
本文通過(guò)收集不同來(lái)源的數(shù)據(jù),構(gòu)成大方縣滑坡數(shù)據(jù)集,利用Borderline-SMOTE算法對(duì)數(shù)據(jù)進(jìn)行有效的過(guò)采樣,一定程度上解決了非平衡數(shù)據(jù)集對(duì)滑坡模型預(yù)測(cè)效果的影響,然后采用CatBoost 算法構(gòu)建滑坡敏感性模型,從數(shù)據(jù)集的特點(diǎn)出發(fā),該算法充分挖掘數(shù)據(jù)信息,讓模型學(xué)習(xí)更加充分、滑坡模型預(yù)測(cè)效果更加準(zhǔn)確,對(duì)比傳統(tǒng)機(jī)器學(xué)習(xí)算法有著明顯的提升,同時(shí)也證明了Borderline-SMOTE算法的有效性。但滑坡模型的預(yù)測(cè)效果還需要進(jìn)一步的提升,且單一滑坡模型的效果不具備較好的魯棒性,因此,進(jìn)一步收集滑坡特征數(shù)據(jù),提高滑坡數(shù)據(jù)集的質(zhì)量以及融合多模型進(jìn)行滑坡災(zāi)害的建模將會(huì)是未來(lái)的研究方向。