文献[1]提出了将可能性模糊C均值算法与改进的粒子群优化算法相结合的异常数据检测算法;文献[2]基于K-Means聚类算法将聚类中心点定义为与实际簇中心距离较为接近的数据点,改变了传统方法中任意选择聚类中心的缺陷;文献[3]对密度峰值聚类算法进行优化,用于检测电力大数据的异常值;文献[4]提出了一种基于孤立森林的大规模电量异常检测算法;文献[5]将孤立森林算法用于电力调度数据异常检测。在对电力数据的异常值进行检测时,需要选择合适的算法。文章研究目的是通过仿真试验对目前常用的孤立森林算法、随机森林算法、K-Means算法、DBSCAN算法等电力异常数据检测算法进行对比分析,为电力数据异常检测算法的选取提供一定参考。1预备知识1.1孤立森林算法孤立森林算法[6]是一种高效的无监督异常检测算法。与传统的优化正常样本的描述相反,孤立森林算法主要是对异常样本的描述做优化,将分布稀疏并且离密度高的群体较远的点定义为异常点,在样本点随机选择的基础上,随机产生分割条件,对各个数据进行分配,基于异常数据占比量小以及特征值与正常数据差别较大两个特征,构建多棵孤立二叉树,组成孤立森林。对任意样本点,需要进行合理评估,当每个样本点都经历了孤立二叉树的构建过程后,可以计算路径长度。在这种方式下,异常点通常具有较短的路径,且无须计算距离等指标,利用多棵树的建立能够减小误差,增加稳定性。在利用孤立森林算法进行电力数据异常检测时,若异常得分为正数,则将该样本点判定为正常值,反之判定为异常值。1.2随机森林算法随机森林算法[7]是一种基于集成学习的方法,主要通过多棵决策树对数据进行训练,并且随机过程可降低异常数据对结果的影响。随机森林算法在bagging算法的基础上进行了优化,从原始数据集中以有放回的抽取方式随机抽取样本,在决策树的每个节点上进行分裂时,随机选取特征,通过不断选择训练集与特征构建大量的子决策树,从而形成随机森林。决策树的构成包括根节点、内部节点和叶子节点,根据划分特征,数据从根节点开始被决策,直到划分为最后的叶子节点,从而形成了一棵决策树。该算法能够处理高维度数据,既适用于离散型数据,也适用于连续型数据,且不容易陷入过拟合,具有良好的抗噪声能力。在利用随机森林算法进行电力数据异常检测时,构造邻近矩阵表示数据之间的相似程度(接近度),当离群值大于某一值时,该样本点则被视为异常点,从而找到样本数据中的异常数据。1.3K-Means算法K-Means算法[8]是一种基于距离的聚类算法,主要是采用距离作为相似性的评价指标,衡量数据集中所有数据的关系,即两个对象的距离越近,相似度越大,在异常值检测中具有一定的应用价值。K-Means算法是在设定簇的个数和随机选择聚类中心的基础上,计算各个数据与聚类中心的欧氏距离,将数据对象划归至距离最近的中心所在的簇类中。该算法容易实现,聚类效果较好,且收敛速度快。在利用K-Means算法进行电力数据异常检测时,计算每个簇的正常半径(即阈值)和各个簇中数据点到聚类中心的距离,以阈值为界限,超出界限的点归为异常点。1.4DBSCAN算法DBSCAN算法[9]是一种基于密度的聚类算法,相较于K-Means聚类算法,该算法在聚类前不需要预先指定聚类的个数,生成的簇个数与数据集有关,主要思想是在聚类空间中的一定区域内包含对象的数目不小于某个给定的阈值,其中最重要的是邻域阈值和点数阈值两种参数的选择。邻域阈值是指在同一个簇中的样本之间最大距离,称为Epsilonilon,点数阈值是指形成聚类的核心点最小数量,称为Min Points。该方法能在具有噪声的空间数据库中发现任意形状的簇,对噪声不敏感,能够有效处理异常数据。在利用DBSCAN算法进行电力数据异常检测时,若某点不在扩充范围内,即没有包含在任何簇中,则被视为异常点。2仿真试验结果与分析为了对比分析孤立森林算法、随机森林算法、K-Means算法、DBSCAN算法进行电力数据异常检测的效果,进行样本数据量差别较明显的3组仿真试验。在利用随机森林算法进行电力数据异常检测时,由于离群值的设定是为了使得误差达到最小值,故三组仿真试验所选取的离群值各不相同;在利用DBSCAN算法进行电力数据异常检测时,需要不断修改两个参数的取值使得异常检测效果达到最优,故三组仿真试验中两个参数的选择各不相同。为了评价四种电力数据异常检测算法的效果,将相对误差作为评价检测效果的指标。e=w*-ww×100% (1)式中:w*——检测出的异常数据个数;w——实际的异常数据个数。样本总数为276个时,四种算法的检测结果如图1所示。图1样本总数为276个时,四种算法的检测结果10.19301/j.cnki.zncs.2023.02.001.F1a1(a)孤立森林算法10.19301/j.cnki.zncs.2023.02.001.F1a2(b)随机森林算法10.19301/j.cnki.zncs.2023.02.001.F1a3(c)K-Means算法10.19301/j.cnki.zncs.2023.02.001.F1a4(d)DBSCAN算法第一组试验(少量数据):取电力数据样本量276个,其中异常值数量52个,分别利用四种算法进行异常数据检测。图1(a)、图1(c)、图1(d)中,深色表示正常数据点,浅色表示异常数据点;图1(b)中,取X=2,即离群值高于2的均视为异常数据点;在图1(d)中,取Epsilon=8,Min Points=10。利用式(1)计算得到少量数据时四种算法的相对误差结果,误差结果对比如表1所示。10.19301/j.cnki.zncs.2023.02.001.T001表1少量数据时四种算法的相对误差对比算法检测出的异常数据个数相对误差/%孤立森林算法579.62随机森林算法543.85K-Means算法4219.23DBSCAN算法503.85由表1可知,对少量数据,随机森林算法和DBSCAN算法误差较小,其次为孤立森林算法,K-Means算法的误差最大。样本总数为1 230时,四种算法的异常检测结果如图2所示。图2样本总数为1 230时,四种算法的异常检测结果10.19301/j.cnki.zncs.2023.02.001.F2a1(a)孤立森林算法10.19301/j.cnki.zncs.2023.02.001.F2a2(b)随机森林算法10.19301/j.cnki.zncs.2023.02.001.F2a3(c)K-Means算法10.19301/j.cnki.zncs.2023.02.001.F2a4(d)DBSCAN算法其中,在图2(b)中,取X=2.5,即离群值高于2.5的均视为异常数据点;在图2(d)中,取Epsilon=4,Min Points=4。利用式(1)计算得到中量数据时四种算法的相对误差对比,对比结果如表2所示。由表2可知,对中量数据,DBSCAN算法与孤立森林算法的误差较小,而随机森林算法和K-Means算法的误差都较大。10.19301/j.cnki.zncs.2023.02.001.T002表2中量数据时四种算法的相对误差对比算法检测出的异常数据个数相对误差/%孤立森林算法2282.56随机森林算法21010.26K-Means算法29023.93DBSCAN算法2311.28第二组试验(中量数据):取电力数据样本数量1 230个,其中异常值数量234个,分别利用四种算法进行异常数据检测。样本总数为3 000时,四种算法的异常检测结果如图3所示。图3样本总数为3 000时,四种算法的异常检测结果10.19301/j.cnki.zncs.2023.02.001.F3a1(a)孤立森林算法10.19301/j.cnki.zncs.2023.02.001.F3a2(b)随机森林算法10.19301/j.cnki.zncs.2023.02.001.F3a3(c)K-Means算法10.19301/j.cnki.zncs.2023.02.001.F3a4(d)DBSCAN算法第三组试验(大量数据):取电力数据样本总数为3 000个,其中异常值数为568个,分别利用四种算法进行异常数据检测。其中,在图3(b)中,取X=2.1,即离群值高于2.1的均视为异常数据点;在图3(d)中,取Epsilon=5,Min Points=5。利用式(1)计算得四种算法的相对误差结果如表3所示。10.19301/j.cnki.zncs.2023.02.001.T003表3大量数据时四种算法的相对误差对比算法检测出的异常数据个数相对误差/%孤立森林算法44022.54随机森林算法5444.23K-Means算法74430.99DBSCAN算法5483.52由表3可知,对大量数据,DBSCAN算法和随机森林算法的误差较小,而孤立森林算法和K-Means算法的误差都较大。综合三组试验可知,随着数据量的增大,K-Means算法的误差逐渐变大,孤立森林算法和DBSCAN算法的误差呈现先减后增的趋势,而随机森林算法的误差则表现为先增后减的状态。在四种电力数据异常检测算法中,无论是何种数据量,DBSCAN算法的效果均表现较好,K-Means算法的效果相对较差,孤立森林算法和随机森林算法的检测效果对数据量依赖度较高。四种算法的适用情况如表4所示。10.19301/j.cnki.zncs.2023.02.001.T004表4四种算法的适用情况算法少量数据中量数据大量数据孤立森林算法—适用—随机森林算法适用—适用K-Means算法适用——DBSCAN算法适用适用适用3结语文章介绍了孤立森林算法、随机森林算法、K-Means算法以及DBSCAN算法用于电力数据异常检测的基本步骤,通过仿真试验对四种算法的检测效果进行了对比分析,为电力数据异常检测算法的选取提供了一定的依据。

使用Chrome浏览器效果最佳,继续浏览,你可能不会看到最佳的展示效果,

确定继续浏览么?

复制成功,请在其他浏览器进行阅读