2. 江西理工大学 信息工程学院, 赣州 341000
2. Faculty of Information Engineering, Jiangxi University of Science and Technology, Ganzhou 341000, China
滑坡灾害严重危害人类的生命财产安全, 并对环境、资源构成严重威胁[1], 给人们的生活带来了巨大影响. 滑坡的发生伴随着多种因素, 其中降雨是一个重要的诱发因素之一[2]. 由于降雨具有不确定性和随机性, 无法对其进行有效刻画, 因此给滑坡预测的准确性带来了一定的挑战.
聚类技术能够根据数据对象之间的较高相似度、聚簇之间的较高分离度实现数据对象的有效划分, 因而被广泛应用在滑坡灾害预测的研究中. 张俊等[3]使用滑坡面积比与分级面积比曲线对指标因子分级, 选取7个致灾因子作为滑坡易发性的评价指标, 采用K-means聚类算法对三峡库万州区滑坡易发性评价体系进行分级, 实验表明滑坡灾害易发性评价体系预测精度较高. 文建华等[4]提出同伦模糊C-均值聚类算法, 以三峡库岸为研究区对边坡的稳定性进行分类, 研究表明同伦模糊C-均值聚类算法是一种较好的边坡稳定性分级聚类分析方法. 孙树林等[5]以南京地区滑坡作为研究对象, 提取影响因素并计算其熵值, 利用K-PSO方法生成南京地区滑坡敏感图, 并行研究对比表明K-PSO聚类准确度高, 验证了其在滑坡敏感性分析的可行性. 吴亚子等[6]采用灰色聚类法, 并选取11个评价因子, 建立了阿里地区地质灾害危险性的评价模型, 结果表明利用灰色聚类方法对阿里地区公路沿线的危险性评价精度较高, 说明该方法具有一定可行性. 传统聚类技术在滑坡预测应用上取得了一定成果, 但是还不能满足人们的需求, 主要是存在以下两个问题: 1)传统聚类算法很难实现对不确定数据降雨量的有效处理; 2)传统聚类方法需要预先设定聚簇数目k值, 而在实际应用中k值难以准确给定, 致使对大规模数据集聚类结果影响较大. 针对传统聚类算法预先设定k值问题, Miin-Shen等[7]构建一个基于学习的模糊聚类框架, 可自动找到最佳簇的数量, 实验结果证明该算法具有先进性; 赵文冲等[8]通过对k值的自动获取, 提高实验聚类结果, 但难以处理不确定数据. 以上两个问题致使传统聚类算法在滑坡危险性预测中的聚类结果不是很理想, 因此需要一种能够有效处理不确定数据和能够提升聚类效果的方法, 从而提高滑坡危险性预测精度.
快速搜索和发现密度峰值聚类算法(CFSFDP)[9]可自动获得类的个数, 能够有效避免聚类数目k的预先设定, 算法复杂度相对较低, 可对任意形状的数据集进行聚类且实现简单聚类速度快. 但是CFSFDP算法无法有效处理不确定数据, 并且需要人工尝试设置密度阈值以及对大规模数据处理效果不佳, 因此文中在传统CFSFDP算法基础上, 提出不确定GM-CFSFDP聚类算法. 该算法首先建立不确定数据模型, 设计E-ML距离公式, 使其能够描述不确定属性之间的相似度, 有效刻画不确定因素降雨; 通过网格划分的思想按照维度将数据集进行网格化, 使之能够有效处理大规模数据; 借鉴平均密度思想建立网格密度阈值模型, 动态确定网格密度阈值, 避免CFSFDP需要人工尝试确定密度阈值; 利用层次聚类思想合并关联性较高的类, 解决大规模滑坡数据集密度分布不均匀的问题, 构建不确定GM-CFSFDP聚类算法滑坡预测模型, 以延安市宝塔区为例进行预测. 实例结果证明不确定GM-CFSFDP算法比CFSFDP算法在滑坡危险性预测中聚类效果更佳, 具有可行性.
1 不确定GM-CFSFDP算法 1.1 不确定数据的模型假设不确定性数值属性
传统CFSFDP聚类算法能够处理离散型和连续型数据, 但难以对不确定数据进行有效处理. 文中结合不确定数据模型, 采用积分形式[10,11]考虑范围内点与点之间的差值, 再利用不确定数据的中点和长度, 替换左右界值对距离公式进行重新定义. 最后考虑含有离散型、连续型和不确定型的混合型属性数据, 对传统Euclidean距离进行拓展, 得到一种新的描述相似度的距离(E-ML距离)公式.
定理1. 设两个
$\begin{array}{c}{d_{E - ML}}(a,b) = \sqrt {\sum\limits_{i = 1}^p {\{ {{\left[ {M({a_i}) - M({b_i})} \right]}^2} + \frac{1}{{12}}{{\left[ {L({a_i}) - L({b_i})} \right]}^2}\} } } \\ {\text{其中,}}P \ge 1\end{array}$ | (1) |
其中,
证明: 设不确定数据的区间为
$\begin{aligned}{D^2}(a,b) = & \int_{ - 1/2}^{1/2} {\int_{ - 1/2}^{1/2} {} }\times \{ [(\frac{{{a^L} + {a^R}}}{2}) + x({a^R} - {a^L})] \\& - {[(\frac{{{b^L} + {b^R}}}{2}) + y({b^R} - {b^L}]\} ^2}dxdy\\ = & {(\frac{{{a^L} + {a^R}}}{2} - \frac{{{b^L} + {b^R}}}{2})^2} + \frac{1}{3}[{(\frac{{{a^R} - {a^L}}}{2})^2} \\& + {(\frac{{{b^R} - {b^L}}}{2})^2}]\end{aligned}$ | (2) |
指定
$\begin{aligned}{d_{ML}}^2(a,b) = & \int_{ - 1/2}^{1/2} {\{ [M(a) + xL(a)]} - [M(b) + xL(b)]{\} ^2}dx\\ = & {[M(a) - M(b)]^2} + \frac{1}{{12}}{[L(a) - L(b)]^2}\end{aligned}$ | (3) |
记
当
$\begin{array}{c}{d_{E - ML}}(a,b) =\sqrt {\sum\limits_{i = 1}^p {\{ {{\left[ {M({a_i}) - M({b_i})} \right]}^2} + \frac{1}{{12}}{{\left[ {L({a_i}) - L({b_i})} \right]}^2}\} } } \\ {\text{其中,}}P \ge 1\end{array}$ |
容易证明公式(1)满足距离定义的条件: 非负性、对称性和三角不等性, 说明E-ML距离具有合理性.
1.3 GM-CFSFDP聚类算法CFSFDP聚类算法[9]可聚类任意形状数据集, 并且能够自动获取类的个数, 算法复杂度低, 然而仍存在不足: a)算法聚类质量依赖于给定的密度阈值
(1) 数据空间网格化
假设存在数据集
$L = \{ {l_i}/{l_i} = g({d_i})\} $ | (4) |
$m = {g_{\max }}(L)$ | (5) |
$U = \{ {d_1},{d_2}, \cdots ,{d_n}\} $ | (6) |
其中,
(2) 网格密度阈值
采用平均密度公式计算所有网格平均密度阈值[13,14], 获取所有网格单元密度的最大值和最小值, 定义网格密度阈值
平均密度公式:
${f_{\rm{ave}}} = \frac{{\sum\limits_{i = 1}^n {{f_i}} }}{n}$ | (7) |
网格密度阈值公式:
${f_{\rm{Minpts}}} = ({f_{\rm{ave}}} + {f_{\max }})/2$ | (8) |
${f_{\rm{Low}}} = ({f_{\rm{ave}}} + {f_{\min }})/2$ | (9) |
其中,
目前在确定阈值的研究中, 学者们做了很多贡献, 其中近邻距离曲线[15]变化情况来确定密度阈值的方法, 解决了人工设置阈值的不足, 计算方法简述为先求出数据集的第1至第
(3) 类合并
CFSFDP算法无法准确对数据密度分布不均匀的数据集进行聚类[17], 原因是当数据集密度分布不均匀时, 算法可能会将一个类划分成两个或多个类, 此时需要进行子类合并. 借鉴层次聚类算法思想[18,19], 通过对比密度阈值
$\forall {p_i} \in {S_{\rm{A}}},\forall {q_j} \in {S_{\rm{B}}}$ | (10) |
$d\left( {{\rm{A}},{\rm{B}}} \right) = \min \{ {d_{c{\rm{A}}}},{d_{c{\rm{B}}}}\} $ | (11) |
若A、B满足类间相似度条件, 如公式(13)所示, 则将类A、B进行合并.
$\frac{{\sum\nolimits_i {\sum\nolimits_j {d{S_{{p_i}{q_j}}}} } }}{{\left| {{S_{\rm{A}}}} \right| \times \left| {{S_{\rm{B}}}} \right|}} \le d\left( {{\rm{A}},{\rm{B}}} \right)$ | (12) |
不确定GM-CFSFDP聚类算法聚类过程如下:
Step 1. 数据进行归一化处理, 获得有效数据集;
Step 2. 根据数据空间网格化方法对有效数据集进行网格划分, 获得对应的数据空间集合;
Step 3. 使用平均密度思想和不确定数据处理方式对数据空间集合的各数据点进行局部密度和距离计算, 对网格单元密度进行划分, 进而动态确定密度阈值
Step 4. 使用CFSFDP算法对网格数据对象进行聚类, 确定聚类中心和初始聚类个数;
Step 5. 利用密度阈值
Step 6. 计算类之间的距离, 采用类合并方法, 判断类之间能否合并, 若满足合并条件则进行合并, 否则返回Step 5;
Step 7. 退出合并操作, 输出数据集聚类结果.
2 实例研究及结果分析 2.1 实例研究 2.1.1 数据来源实验数据来源于西安地质调查中心数据库, 采用ARCGIS将延安市宝塔区进行栅格化处理, 每个栅格单元尺寸设计为5 m×5 m, 得到5 672 922个栅格单元, 每个栅格单元看成一个点, 借鉴刘卫明[20]的属性提取方法, 获得坡型、坡向、坡高、坡度数据信息, 以及岩土体结构数据、植被覆盖数据、降雨量值.
依据宝塔区的地质环境条件及地质灾害发生机理和原始数据集中各属性对聚类结果的影响程度选取坡型、坡向、坡高、坡度、岩土体、植被、降雨作为评价因子, 滑坡危险性等级作为决策因子. 其中坡型、植被、岩土体为离散属性, 先将其数值化再进行归一化处理; 坡度、坡高、坡向为连续属性可直接进行归一化方式处理; 降雨为不确定属性, 只能确定其大致取值范围, 无法直接用传统方法进行刻画, 因此采用文中提出的不确定数据处理方式进行处理.
2.1.2 不确定GM-CFSFDP聚类算法滑坡预测模型的构建由延安市宝塔区经过栅格化处理的的5 672 922个栅格单元, 每个栅格单元被看成一个点, 这些点形成的数据集规模大, 因此首先采用不确定GM-CFSFDP聚类算法中的数据空间网格化步骤, 通过网格划分的思想把大规模滑坡数据划分到相应的数据空间中, 最后得到数据空间网格单元283 375个; 初始化设置聚簇数目为空, 计算各个网格单元的平均密度, 依据密度阈值求解方法动态获得网格密度阈值
滑坡危险性等级是滑坡危险性预测的决策因子, 因此如何正确划分滑坡危险性等级影响着滑坡危险性预测的精度. 聚类算法会把具有相似特征的栅格单元聚在一个子集中, 则子集内具有较高的相似度, 文中根据“具有相似特征的滑坡同时具有相似的滑坡发生趋势[21] ”这一特性, 利用已知含有降雨信息的293个滑坡观测点的危险性等级, 采用直接搜索法和专家评分法[22]定各个区域的危险性等级. 首先利用直接搜索法, 对评价单元进行逐一搜索, 评价单元若只含有一个确定的危险性等级单元, 则该聚类子集的危险性等级为该单元的危险性等级, 若评价单元含有的各危险性等级单元不等, 则按照少数服从多数原则评定, 若未含有确定危险性等级单元和含有相同数目的不同危险性等级单元的聚类子集危险性等级则由专家根据经验进行评定, 结合区域调查结果判定滑坡危险性等级从而划分出其余单元的危险性等级.
2.2 实验结果分析与比较 2.2.1 实验环境为了验证GM-CFSFDP聚类算法的有效性以及不确定数据处理方式能否提高滑坡危险性预测精度, 实验选择Windows 7旗舰版操作系统, 计算机硬件配置为Inter i5处理器、主频3.3 GHz、8 G内存, 实验数据通过ARCGIS10.2获取, 算法通过JAVA语言实现.
2.2.2 评价标准基于误差矩阵的
$Kappa = \frac{{Pr \left( a \right) - Pr \left( e \right)}}{{1 - Pr \left( e \right)}}$ | (12) |
$Pr \left( a \right) = \frac{{\sum\limits_{i = 1}^n {{p_{ii}}} }}{N}$ | (13) |
$Pr \left( e \right) = \frac{{\sum\limits_{i = 1}^n {{P_{i + }} \times {P_{ + i}}} }}{{{N^2}}}$ | (14) |
其中,
为了验证GM-CFSFDP聚类算法的有效性, 分别按照5%、10%、15%、20%的比例对数据空间网格化后的283 375的网格单元进行采样, 对比CFSFDP聚类算法和GM-CFSFDP聚类算法的运行时间, 进行多次实验求取实验运行时间均值作为最后的聚类算法运行时间. 两种聚类算法的时间性能分析如表1所示.
从表1可得, 数据采样比例为5%时, CFSFDP算法的运行时间为10.28 min, GM-CFSFDP算法的运行时间为9.02 min, 采样比例为10%时, 二者的运行时间分别为28.45 min和26.81 min, 采样比例较小时, 二者算法运行时间相差不大, 这是因为对于小规模数据的处理, CFSFDP和GM-CFSFDP都能快速的实现聚类效果. 当采样比例增大到15%时, GM-CFSFDP算法的运行时间要比CFSFDP少6 min左右, GM-CFSFDP算法在采样比例为20%时运行时间明显低于传统CFSFDP聚类算法, 这是因为在处理大规模数据时, GM-CFSFDP算法设计了数据空间网格化思想, 能够快速的实现数据的编码, 密度阈值的动态选择实现了聚类中心选择和聚类个数, 避免了需人工设置密度阈值和设置聚簇个数带来的问题, 类合并解决了数据集密度分布不均匀的问题, 提高了聚类效果. 通过整体采样实验发现, GM-CFSFDP聚类算法的性能要高于CFSFDP聚类算法, 当数据规模越大, 效果越明显, 因此, GM-CFSFDP聚类算法对于大规模数据而言聚类速度更快, 效果更佳, 可以作为一种处理滑坡大规模数据的方法.
2.2.4 滑坡预测精度分析与比较为了验证不确定数据处理方式是否可以提高滑坡危险性预测精度, 比较传统CFSFDP聚类算法和不确定GM-CFSFDP聚类算法在滑坡实验中的预测精度. 传统聚类算法滑坡危险性预测中降雨通常以离散值进行处理, 采用定量法[24]将降雨分为六类: 小雨, 中雨, 大雨, 暴雨, 大暴雨, 特大暴雨, 使用传统Euclidean公式计算两个数据对象之间的距离, 构建传统的CFSFDP聚类算法滑坡危险性预测模型. 野外勘测获得延安宝塔区有428个滑坡灾害观测点, 其中有293个观测点含降雨量信息, 所有灾害观测点被栅格化为1367个单元, 其中1036个单元含降雨信息, 剩余331个为不含降雨信息的单元. 不确定GM-CFSFDP聚类算法利用不确定属性对降雨进行刻画, 使用E-ML距离公式计算数据对象之间的距离, 构建不确定GM-CFSFDP聚类算法滑坡危险性预测模型. 分别采用两类算法在宝塔区进行滑坡危险性预测, 依据滑坡危险性等级划分标准获得其等级划分, 并计算两种算法的预测精度
在满足相同的聚类条件时, 不确定GM-CFSFDP聚类算法的预测精度为93.27%, 比传统CFSFDP聚类算法高出约4个百分点,
针对滑坡危险性预测中的诱发因素降雨刻画难、CFSFDP算法对大规模数据集聚类不准确以及人为设置密度阈值等问题, 文中提出了不确定GM-CFSFDP聚类算法, 结合延安市宝塔区进行实例验证. 该算法设计新型E-ML距离公式, 实现不确定数据的有效刻画; 通过网格划分的思想对滑坡数据集进行数据空间网格划分, 实现了大规模数据有效编码, 利用平均密度思想构建密度阈值选择模型, 动态确定密度阈值, 对滑坡数据对象进行初始聚类, 最后合并关联性较高的类, 解决算法需人工设置密度阈值及处理大规模数据聚类效果不佳的问题. 实验结果表明不确定GM-CFSFDP聚类算法滑坡危险性预测具有较高的精度, 证明了该算法的可行性, 也为进一步的相关研究打下了基础.
[1] |
Huang FM, Huang JS, Jiang SH, et al. Landslide displacement prediction based on multivariate chaotic model and extreme learning machine. Engineering Geology, 2017, 218: 173-186. DOI:10.1016/j.enggeo.2017.01.016 |
[2] |
Salciarini D, Fanelli G, Tamagnini C. A probabilistic model for rainfall—induced shallow landslide prediction at the regional scale. Landslides, 2017, 14(5): 1731-1746. DOI:10.1007/s10346-017-0812-0 |
[3] |
张俊, 殷坤龙, 王佳佳, 等. 三峡库区万州区滑坡灾害易发性评价研究. 岩石力学与工程学报, 2016, 35(2): 284-296. |
[4] |
文建华, 周翠英, 黄林冲, 等. 边坡稳定性分类评价的同伦模糊C-均值聚类算法. 岩土力学, 2012, 33(5): 1457-1461. |
[5] |
孙树林, 余文平, 刘小芳, 等. 基于信息熵与KPSO聚类法滑坡敏感性分析. 环境保护科学, 2014, 40(6): 88-96. |
[6] |
吴亚子, 杨敏. 灰色聚类法在阿里地区地质灾害危险性评价中的应用. 水资源与水工程学报, 2010, 21(6): 155-158. |
[7] |
Yang MS, Nataliani Y. Robust-learning fuzzy c-means clustering algorithm with unknown number of clusters. Pattern Recognition, 2017, 71: 45-59. DOI:10.1016/j.patcog.2017.05.017 |
[8] |
赵文冲, 蔡江辉, 张继福. 改进k值自动获取VDBSCAN聚类算法. 计算机系统应用, 2016, 25(9): 131-136. DOI:10.15888/j.cnki.csa.005325 |
[9] |
Rodriguez A, Laio A. Clustering by fast search and find of density peaks. Science, 2014, 344(6191): 1492-1496. DOI:10.1126/science.1242072 |
[10] |
Tran L, Duckstein L. Comparison of fuzzy numbers using a fuzzy distance measure. Fuzzy Sets and Systems, 2002, 130(3): 331-341. DOI:10.1016/S0165-0114(01)00195-6 |
[11] |
刘华文. 基于距离测度的模糊数排序. 山东大学学报(理学版), 2004, 39(2): 30-36. |
[12] |
王飞, 王国胤, 李智星, 等. 一种基于网格的密度峰值聚类算法. 小型微型计算机系统, 2017, 38(5): 1034-1038. |
[13] |
邢长征, 王晓旭. 基于扩展网格和密度的数据流聚类算法. 计算机工程, 2014, 40(12): 188-194. DOI:10.3778/j.issn.1002-8331.1207-0101 |
[14] |
米源, 杨燕, 李天瑞. 基于密度网格的数据流聚类算法. 计算机科学, 2011, 38(12): 178-181. DOI:10.3969/j.issn.1002-137X.2011.12.040 |
[15] |
蒋礼青, 张明新, 郑金龙, 等. 快速搜索与发现密度峰值聚类算法的优化研究. 计算机应用研究, 2016, 33(11): 3251-3254. |
[16] |
李宗林, 罗可. DBSCAN算法中参数的自适应确定. 计算机工程与应用, 2016, 52(3): 70-73. |
[17] |
孙昊, 张明新, 戴娇, 等. 基于网格的快速搜寻密度峰值的聚类算法优化研究. 计算机工程与科学, 2017, 39(5): 964-970. |
[18] |
乔端瑞. 基于K-means算法及层次聚类算法的研究与应用[硕士学位论文]. 长春: 吉林大学, 2016.
|
[19] |
吕琳, 尉永清, 任敏, 等. 基于蚁群优化算法的凝聚型层次聚类. 计算机应用研究, 2017, 34(1): 114-117. |
[20] |
刘卫明, 高晓东, 毛伊敏, 等. 不确定遗传神经网络在滑坡危险性预测中的研究与应用. 计算机工程, 2017, 43(2): 308-316. |
[21] |
Yeon YK, Han JG, Ryu KH. Landslide susceptibility mapping in Injae, Korea, using a decision tree. Engineering Geology, 2010, 116(3-4): 274-283. DOI:10.1016/j.enggeo.2010.09.009 |
[22] |
王磊, 张春山, 杨为民, 等. 基于GIS的甘肃省甘谷县地质灾害危险性评价. 地质力学学报, 2011, 17(4): 388-401. |
[23] |
邱海军. 区域滑坡崩塌地质灾害特征分析及其易发性和危险性评价研究[博士学位论文]. 西安: 西北大学, 2012.
|
[24] |
辛鹏, 吴树仁, 石菊松, 等. 基于降雨响应的黄土丘陵区滑坡危险性预测研究——以宝鸡市麟游县为例. 地球学报, 2012, 33(3): 349-359. |