基于改进型k-means 算法的变电站电力负荷特性分析*

2022-02-16 08:32
计算机与数字工程 2022年1期
关键词:聚类负荷密度

王 超 杨 洁

(1.南京工程学院人工智能产业技术研究院 南京 211167)

(2.南京工程学院信息与通信工程学院 南京 211167)

1 引言

随着我国电力系统的不断发展以及人们生活质量的不断提高,电力系统的负荷特性变得越来越复杂,从而难以建立适用于不同负荷节点、不同时刻的负荷模型。然而负荷建模是电力系统调度、实时控制、运行计划和发展规划的前提,负荷特性分析有助于提升负荷建模的精准度。因此,对电力系统负荷进行分析具有重要意义,聚类分析是数据分析领域最重要的研究分支之一,被广泛用于电力负荷分析,k-means 算法是聚类分析中应用最为广泛的一种算法。

传统的k-means 算法对初始聚类中心敏感,聚类结果随不同的初始输入而波动。针对这个问题,可以根据数据密度分布,基于距离公式计算每个点集所在区域的密度,然后依次根据权重找出下一个初始聚类中心,不断迭代得到k个初始聚类中心[1~3],也可以引入一个密度参数,并依据该参数选取k 个相对分散且密度参数较大的数据作为初始聚类中心[4]。为了得到最合适的初始聚类中心,Bian 等提出一种改进的k-means 算法最佳聚类数确定方法,对单一样本类的类内距离计算方法进行优化,使原有局部最优的聚类数优化为全局最优[5]。Cai 等实现了一种基于密度标准差优化初始簇中心选取的改进算法,通过计算样本的平均密度和密度标准差,若小于密度标准差,则划分为孤立点[6]。Wang等提出一种基于消息传递的算法,通过消息传递机制获得高质量的聚类中心从而优化聚类的性能[7]。Asgarali Bouyer 等提出k 均值算法与粒子群优化相结合,避免陷入局部最优状态,在有效性和稳定性上有显着提高,产生了高质量且稳定的聚类结果[8]。Mao 等提出了基于灰色关联度的初始聚类中心选择方法,能够较好地找到初值,提高聚类结果的稳定性[9]。Feng 等提出了一种新的改进的算法,通过建立最小生成树,然后将其拆分为具有相关聚类中心的k 个初始聚类[10]。He 提出一种基于彩色空间通道的k 均值优化初始中心聚类分割方法,具有更高的稳定性与准确性[11],以上方法都在一定程度上对算法的聚类结果进行了优化。

孤立点的存在使聚类中心的计算产生较大误差,影响k-means 算法的聚类效果。针对该问题,美国著名经济学家托马斯·谢林[12]提出了谢林模型,该模型所描述的是同质性对于空间隔离的影响和作用。Yang 等引入谢林模型,使离群点自动归类到其邻域,同时,并对k-means 算法过程中的距离计算、初始聚类中心选取环节进行改进[13]。Zhao等提出先利用算法数据进行预处理,然后再对Canopy 结 果 进 行k-means 细 聚 类 的 优 化 算 法[14]。Zhang 等提出基于离群因子的优化聚类算法,采用信息熵加权欧式距离作为相似性度量依据,利用k距离参数筛选出初始聚类中心的候选集,最后根据其离群因子加权距离法优化聚类中心[15]。经过实验结果表明,这些优化后的算法比传统的k-means算法具有更高的效率以及准确率。

本文总结分析了各类聚类方法,对比其优劣并针对k-means 算法对于孤立数据聚类效果较差等缺点,考虑到变电站负荷数据的分散性,提出一种改进型k-means 算法。该算法首先剔除离群点,再找出最佳聚类中心数目并进行分类。实验结果表明,该算法可以使变电站负荷特性的聚类效果进一步提高,提高电力负荷分析与建模的精准度。

2 聚类相关技术简介

聚类目的是对一组没有标签的数据,按照特定的特征,把它们分成不同的类,聚合成的一个类叫做一个簇。本文将介绍几种常见的聚类算法以及聚类评价指标。

2.1 基于划分的方法

基于划分的方法就是逐步对簇中心不断地迭代,每次迭代后再重新选择聚类中心,直到趋于稳定。常见的代表算法有k-means,k-modes。本文提出的算法即是基于k-means 的改进型算法,原算法内容如下:

1)在数据集中随机选择初始化的k 个样本作为数据中心;

2)计算数据集中每个样本xi到k 个聚类中心的距离,并将它们分配给最短间距的聚类中心相对应的聚类;

3)针对每个类别ci,再次找出它的聚类中心aj(即属于该类的所有样本的质心),x 为样本中数据。

计算方法如下:

重复上面两步操作,直到达到某个中止条件(迭代次数、最小误差变化等)。

2.2 基于层次的方法

这类聚类方法无需人为指定簇个数,并且距离阈值的选择对最终聚类结果影响不大,始终会倾向于给出更好地聚类结果,而不像其他算法很依赖参数。代表算法有基于点分配的大规模聚类算法CRUE(Clustering Using Representative)。基于层次的聚类算法又包括自底而上的合并聚类和自顶向下的分裂聚类。

2.3 基于密度的方法

该方法是将数据密度较高的区域连接起来,针对于空间类型数据进行聚类。这种集群方法将具有较高数据点密度的一组数据对象划分为聚类中心。常见的典型聚类算法例如基于高密度连接区域的聚类算法DBSCAN(Density-Based Spatial Clustering of Applications with Noise)。

2.4 基于网络的方法

此类算法的本质是将数据集按照维数划分为多层类似网格的结构,常见的基于网格聚类的方法例如基于网格的多分辨率聚类技术STING(Statistical Information Grid-based method)。

2.5 神经网络的方法

自组织映射(SOM)神经网络由输入层和输出层两层结构,输出层中的节点代表其需要聚集的类。这种方法不需要定义聚类个数,SOM有很好的拓扑结构,可视性较好,但是需要调整很多参数。

2.6 聚类评价指标

1)Sum of Squared Error(和方差)

简称SSE,又称误差平方和。该统计参数计算的是拟合数据和原始数据对应点的误差的平方和,计算公式如下:

式中,用yi表示真实的观测值,用表示拟合值。SSE 越接近于0,说明模型选择和拟合更好,数据预测也越成功。

2)Elbow Method(肘部法则)

该方法通过以SSE 作为指标,Elbow 意思是手肘,此种方法适用于k 值相对较小的情况,当选择的k 值小于真正值的时,k 每增加1,SSE 值就会大幅的减小;当选择的k 值大于最合适的值时,k每增加1,SSE值的变化就不会那么明显。这样正确的k值就会在这个转折点elbow的地方。

3 改进的k-means算法

3.1 局部离群因子

1)距离度量尺度

设对于没有相同点的样本集合D,共有n 个检测样本,数据维数为m,即:

式中,Xi为集合中任一检测样本,xi1、xi2、xi3以及xim为Xi各维度数据。

针对数据集D 中的任意两个数据点Xi,Xj,通常使用Eucild(欧几里得)距离:

式中,Xik和Xjk分别是Xi,Xj在第k维的坐标。

2)第k距离(k-distance)

第k 距离就是距离o 第k 远的点到o 的距离(除了点o),记作dk(o)。

3)第k距离邻域(k-distance neighborhood)

设O 为圆心,第k 距离邻域是包含任意到圆心距离小于第k 个点到圆心距离的点的集合,记作Nk(o)。

4)可达距离(rechability distance)

基于上述第k距离,给定参数k时,数据点p 到数据点o 的可达距离reach-dist(p,o)为数据点o 的第k 距离和数据点p 与点o 之间的直接距离的最大值。

定义为

5)局部可达密度(Local Rechability Density)

定义所有与点p 的距离小于等于k-distance(p)的数据点集合称为p 的k 最近邻,此时数据点p的局部可达密度定义为它与k 最近邻的数据点平均可达距离的倒数。

公式如下:

6)局部离群因子(Local Outlier Factor,LOF)

局部离群因子即点p 邻域的平均局部可达密度与局部可达密度的比值。

计算方法如下:

3.2 算法

本文算法主要分为两步,首先区分离群点集和正常点集(较高密度点集),再去除离群点集对数据进行聚类。由于数据之间量纲的不相同,不方便比较。本算法对数据采用0-1 规格化处理,具体计算方法如下:

以下为算法流程:

输入:数据集X;

输出:正常数据集X1,离群点数据集X2,聚类数k 和聚类结果;

1)随机选取k个中心点;

2)记录k邻域距离k-distance(p);

3)获取第k 距离邻域内的每一个点到中心点的距离,并按从小到大排序;

4)获取每一个样本点的离群因子值;

5)计算离群因子值;

6)根据阈值划分离群点与正常点;

7)得到一个正常数据集X1和一个离群点数据集X2;去除离群点数据集X2;

8)对正常数据集X1进行规格化处理;

9)将聚类中心个数k设为2到8之间;

10)每次迭代30次,避免局部最优;

11)计算不同簇数所对应的簇内SSE值;

12)绘制簇内SSE值与k值关系的曲线;

13)根据elbow method(肘部法则)判断最佳聚类数k;

14)用k-means进行聚类,获得最终聚类结果。

4 实验与分析

4.1 数据来源

变电站负荷特性分类是利用各个变电站或负荷节点的负荷构成统计数据进行分类。本文实验数据来自山东省变电站用电负荷数据,主要包括站名、地区以及工业、居民、商业、农业、其他这五个行业占变电站所有负荷的百分比,总共183 条数据。列举前9行数据如表1所示。

表1 山东省变电站统计数据

4.2 实验流程

1)输入变电站数据集;

2)采用原算法和改进算法分别对数据集进行聚类分析;

3)根据SSE 与k 值关系生成聚类评价函数图,并对两种算法生成的函数图像对比;

4)统计两种算法在不同类别下SSE 值并做对比;

5)经过比较,采用更优算法聚类结果作为最终实验结果;

6)对最终聚类结果进行负荷特性分析并归类。

4.3 实验结果

为了便于直观理解SSE值与k值之间的关系和观察拐点,将SSE 值扩大10 倍,使得数据关系更加清晰。

1)原算法聚类评价指数函数图像如图1 所示,此时函数曲线较为平滑,拐点并不明显,不易确定最佳聚类个数,容易造成聚类效果不理想。

图1 原算法聚类评价函数

2)本文算法聚类评价指数函数图像如图2 所示,此时通过肘部法则,判断函数曲线在k=6 时拐点较为明显,最佳聚类个数为6。

图2 改进算法聚类评价函数

本文基于误差平方和(SSE)作为聚类评价指标,两种算法得到的统计数据如表2 所示,由本文提出的改进算法得到的各类下SSE 的值相对于传统k-means 算法的结果有了明显的降低,各类变电站负荷数据之间关系的紧密性显著提高。综上,本文提出的算法可以较为明显地提升聚类效果。

表2 两种算法在不同类别下SSE值统计数据

由表2 可知,当聚类数为6 时,SSE 值为0.0938数值最小,这也验证了肘部法则的准确性。所以实验以聚为6类作为最终结果,如图3所示,图中已将不同聚类集以不同颜色标注以便区分。其中6 个聚类中心如表3所示。

图3 最终聚类结果分布图

表3 各聚类中心的负荷占比统计数据

综上所述由表3 中各个聚类中心的各行业耗能占比可以归纳为以下六类负荷特性:

第1类:高耗能工业负荷类;

第2类:普通工业负荷类;

第3类:工业居民混合负荷类;

第4类:居民工业负荷类;

第5类:农业工业负荷类;

第6类:商业居民负荷类。

5 结语

本文主要针对k-means 算法对于孤立数据(离群点)敏感等缺点,考虑到变电站负荷数据的分散性、复杂性以及随机时变性,提出一种改进型k-means 算法。该算法先剔除离群点,优化初始聚类中心的选择,抗离群扰动能力较强,再利用elbow method 找出最佳聚类中心数目,最终再用k-means 对预处理后的数据进行处理。经过实验数据分析对比,该算法可以使变电站负荷特性数据的聚类效果进一步提高,提高电力负荷分析与建模的精准度。

猜你喜欢
聚类负荷密度
3项标准中维持热负荷要求对比分析
MIV-PSO-BP神经网络用户热负荷预测
基于数据降维与聚类的车联网数据分析应用
基于模糊聚类和支持向量回归的成绩预测
生如夏花
基于密度的自适应搜索增量聚类法
“密度”练习
密度的应用趣谈
密度的不变性与可变性