基于数据场K-means聚类的洪涝灾害突发事件分级方法
2018-11-22龚艳冰杨舒馨戴靓靓刘高峰
龚艳冰,杨舒馨,戴靓靓,刘高峰
(1.河海大学 企业管理学院,江苏 常州 213022;2.江苏省“世界水谷”与水生态文明协同创新中心,南京 211100)
0 引言
洪涝灾害发生具有突发性、多样性、难以确定性等特点,使得人们无法迅速做出反应,难以有效的控制灾情。面对突发性自然灾害,决策者快速准确的识别灾害等级,显得尤为重要。只有在确定等级基础上,采取恰当预案措施和资源调配,才能将灾害损失降到最低。传统突发事件分级的方法属于静态法,完全依赖专家主观经验打分,分级的标准和级数都是统一规定,不可更改的。但事实上突发事件爆发难以确定,具体损失复杂难以评估,静态法不再适用,容易造成分级结果的偏差,为应急管理和资源调配带来不便。因此,国内外学者开始从理论层面对灾害分级问题进行探讨。例如,张艳琼等[1]将云模型引入分级模型中,利用云模型理论将定性概念与定量数据进行转化,较好解决了突发事件的模糊性与随机性带来的决策难点;蔡正杰等[2]提出一种基于改进模糊综合评价方法的突发环境事件分级模型,将灾害数据转化成模糊评价矩阵,此基础上得到最终评价结果;商丽媛等[3]基于支持向量机算法,构建决策函数,对地震突发事件进行了分级;吴凤平等[4]提出一种基于三角模糊数改进的灰色定权聚类方法,以三角模糊数作为分级指标的判断依据;宋莎莎等[5]在使用模糊层次分析法确定旱灾分级的度量指标基础上,用聚类分级法进行分级。
在现有研究的基础之上,本文提出一种基于数据场理论改进的K-means聚类算法,并将其应用于洪涝灾害分级研究。该算法避免传统聚类算法中需提前设定聚类参数,聚类类别个数和聚类中心的问题,可以根据样本间的相似性将数据集划分成多个不同的类簇,使同一类簇的对象相似度高,不同类簇相似度低。如何确定对象之间的相似度,即紧密程度?该算法引用数据场的势函数,确定聚类个数k及初始聚类中心,既保留原本K-means算法简洁、迅速的特点,又弥补了算法本身存在的主观性,使不确定性突发事件的分级结果更加准确合理,为决策者提供科学的理论指导。
1 数据场理论
借鉴物理场的思想,李德毅将物质间的相互作用引入抽象的数域空间,创造性提出数据场思想。在描述数据场属性时,引入标量函数——势函数。势函数反映了一个数据对象受到其他所有数据对象的影响程度,克服了传统聚类算法仅考虑两个对象之间影响关系的局限性,认为空间中任一点的状态是其他所有的对象共同作用的结果[6,7]。数据场势函数定义如下:
定义1:空间Ω中共有n个对象{x1,x2,…,xn} 及其产生的数据场,空间任一点的势值可表示为:
在空间中,由于数据点势函数的存在,数据点间在无外力的作用下会发生相向运动,但受σ的约束,σ越大,所有数据点的影响力越大,辐射范围的影响也越大;σ越小,所有数据点的影响力越小,辐射范围的影响也越小[8]。
数据场理论能够较好地刻画数据与数据之间多对一的作用关系,克服了原先聚类算法只关注一对一的相互影响,能够获得更加科学合理的聚类分级结果。
2 基于数据场和K-means聚类的改进算法
K-means聚类算法是一种将距离相近的样本组成一个簇的传统统计聚类算法。首先确定聚类个数k,再在样本集合中找到k个初始聚类中心,计算聚类目标函数或聚类效果判别准则,采用迭代更新聚类中心的方法,使得聚类结果向目标函数值或判别值逐渐减小的方向进行,目标函数值或判别值出现最小时便达到最佳聚类结果[9]。引入了数据场思想后,无需事先确定聚类数,而是从数据样本间相互作用出发,根据式(2)计算每个样本数据xi的势值ϕ(xi),势值越大的数据对象,说明其受其他数据点共同作用越大,另一个侧面反映该点周围的数据点越多,该点极可能是簇类集合的中心。势值越小的对象,说明受其他数据点共同作用越小,反映该点周围的数据点较少,该点极大可能是异常值点。以势值极大点作为聚类中心,提供K-means聚类算法所需的先验知识,迭代时间更短,聚类效果更好。洪涝灾害突发事件分级具体算法步骤如下:
步骤1:根据灾情事件类型,建立灾情分级指标体系,输入数据集D={x1,x2,…,xn} 和影响因子σ的值;
步骤2:根据公式(2)计算每个灾情数据对象xi的势值;
步骤3:根据每个灾情数据对象的势值ϕ(xi),分析势值极大值点,确定洪涝灾害分级的聚类中心和聚类个数k;
步骤4:利用K-means聚类算法进行洪涝灾害分级聚类,得到最终聚类结果。
3 洪涝灾害突发事件分级实证
3.1 洪涝灾害分级指标体系
根据民政部灾情评估统计指标,洪涝灾害灾情评估主要是统计人口受灾情况、房屋损坏情况、农作物受灾情况以及经济损失情况四个方面[10]。本文依据民政部提供的洪涝灾害相关数据,依据四个指标选取我国2012—2016年洪涝灾害样本数据112个。在实际操作中,房屋损坏情况实际属于经济损失情况一类。因此,最终选取三个指标建立如表1所示的洪涝灾害突发事件分级指标体系。
表1 洪涝灾害突发事件分级指标体系
3.2 洪涝灾害突发事件分级研究
为消除原始数据各维度量纲不一致对分级结果的影响,本文采用min-max标准化方法将原始数据进行标准化处理。112个样本数据的三维分布图如图1所示(每一个*代表一次洪涝灾害)。
图1 洪涝灾害数据三维属性分布图
依据数据场势值计算公式(2),可得112个样本数据的势值分布如下页图2所示,这里计算势值时,假定σ=1。将每次洪涝灾害看成一数据点,势值的大小表示其他数据点对该点的综合影响。势值越大,说明该数据点的影响力越大,可选取该点作为聚类中心。
从图2中可以看出,数据场势值存在三个极大值点,根据前述理论,认为该极大值点就是分级结果的三个簇中心,因此,可将112个样本数据分成三类,分别对应等级Ⅰ级(重大),Ⅱ级(较大),Ⅲ级(一般)。
图2 样本数据场势值分布图
根据K-means聚类分级结果如图3所示。由图3分析可以发现,本文提出的数据场K-means聚类算法将112个样本数据分成三类。第一类中含有64个样本,这些样本三个属性值偏小,所以可以定义它们为洪涝灾害突发事件的Ⅲ级(一般),此级事件的严重程度和影响范围都较小。政府可以合理分配人力物力,将灾害的损失程度加以控制。第二类中有36个样本,为洪涝灾害突发事件的Ⅱ级(较大),此级事件不论受灾情况还是经济损失都较第Ⅲ级严重。政府部门需加大投入,控制灾情的进一步扩散,将社会损失降到最低。最后一级有12个样本,为Ⅰ级(重大)。政府需要高度重视Ⅰ级,调用一切资源控制灾情。Ⅰ级事件从受灾人口、经济损失、农作物受灾面积看均属于重大灾害事件,处理稍有耽误,容易造成严重的社会危害,准确及时科学的应急管理刻不容缓。
图3 洪涝灾害数据分级效果图
同时,为了比较本文算法和传统K-means算法的分级效果,将传统K-means聚类算法与本文改进算法进行对比。考虑到K-means聚类算法随机选取聚类中心和聚类数目,会得到不同的结果,这里选择20次聚类结果的平均值。所得分级结果和本文算法分级结果比较如表2所示。由表2可以看出,K-means聚类算法虽然用时短,但是聚类准确率低,而本文算法克服单一算法的不足,具有较高准确率,给洪涝灾害提供更加科学的分级方式,使应急决策更加具有针对性。
表2 分级算法对比结果
4 结束语
洪涝灾害突发事件分级受诸多不确定因素的影响,是一个动态复杂的问题。考虑突发事件的多样性和难确定性,本文提出将数据场和K-means聚类算法融合起来应用于洪涝灾害突发事件的分级问题,具体描述了算法的实现原理和分级过程,并给出了验证该方法可行性的洪涝灾害分级评估实例。针对灾害分类中存在的聚类个数与聚类中心不确定问题,构建数据场改进的K-means聚类算法,采用数据场方法确定聚类个数和聚类中心,通过对实际样本数据的检验,基于数据场K-means聚类算法的洪涝灾害事件分级方法是可行且有效的,相比传统的K-means聚类算法,本文方法极大的提高了灾害分级正确率,且计算简单,有利于决策者据此采取科学有效的应急管理措施,保障人民生命安全,维护社会安定。当然,由于本文算法中需要预先假定输入σ的取值,而σ的值在计算数据场势函数中是关键。因此,如何确定σ的值,使算法更加客观,这将是下一步应该讨论的问题。