赵忠啟, 常喜强,*, 樊艳芳, 徐 森, 樊 茂
(1.新疆大学电气工程学院, 乌鲁木齐 830047; 2.国网新疆电力有限公司, 乌鲁木齐 830011)
近年来,随着智能采集感知控制技术的广泛应用,积累了大量的电力负荷数据[1]。通过聚类技术,在电力负荷数据中挖掘不同类型的用电负荷的典型负荷曲线,提取有效的特征,从而有助于电网进行负荷建模、节能改造、需求响应管理等工作[2]。因此,对负荷曲线聚类方法的研究,具有十分重要的应用价值。
聚类作为一种无监督的机器学习算法,可以对数据集进行分簇,簇内数据之间存在高度的相似性,簇间数据之间有一定的差异性,在数据挖掘领域具有广泛的应用。对负荷曲线的聚类可以分为直接聚类和间接聚类,直接聚类是对电力负荷数据不做处理而直接运用算法进行聚类[3]。文献[4]根据样本密度和样本集中的距离相对较远原则选取初始聚类中心,再采用误差平方和得出最优聚类数目K值,但存在时间复杂度较高的问题。文献[5]通过数据点之间的紧密性进行排除离群点影响,在数据集中高密度处选取初始聚类中心,但仍需要人工确定聚类数目。文献[6-7]通过结合自适应学习理论、聚类有效性函数评价计算,解决了传统聚类算法中K值的人工确定问题,但聚类准确率较低。
然而,随着负荷数据维度的不断增加,直接聚类在处理高维数据时遇到了存储量和计算量的双重挑战。间接聚类能够解决这个问题。间接聚类是先提取电力负荷数据的特征,降低负荷数据维度,再对降维后的序列聚类分析。文献[8]通过奇异值分解方法对数据进行变换,即处于一种新的坐标系中,各坐标轴上的坐标是降维指标,再运用改进的K-means算法对负荷曲线聚类。文献[9]通过对负荷数据采用离散傅里叶变换进行降维并提取特征,再对负荷曲线聚类。文献[10-11]通过Sammon映射、主成分分析等降维算法对负荷数据降维,再通过不同的聚类方法进行聚类,得到有效的聚类曲线结果。
上述研究采用的降维算法对原本负荷数据之间存在的差异性造成破坏,丢失了原始负荷数据的信息,影响了负荷曲线聚类结果的准确度。随着基于数据驱动的深度学习在电力行业的快速发展应用,已有技术为降维聚类提供了一种新的解决方法。自编码器作为新型的机器学习模型,可以对负荷数据进行特征提取,通过多层神经网络从高维的原始负荷数据中获取低维空间的特征信息,利用无损重构得到原始负荷数据信息。
现提出一种基于自编码器降维的电力负荷聚类方法,通过自编码器进行负荷数据特征提取并降维,再采用密度权值Canopy算法对降维后的数据预聚类,获取初始聚类中心和最优聚类数目K值,预聚类结果结合K-means算法进行聚类。为此,通过聚类有效性指标与其他传统方法对比分析,以期提升电力负荷聚类效率和聚类结果准确度的效果。
自编码器是一种用于无监督学习的人工神经网络,包括输入层、输出层和隐藏层3层结构[12],通过把输入的数据集非线性映射至隐藏层,获得数据集的压缩编码,即得到另一维度空间中原始数据的特征信息,其足以再现输入层的信息,从而可以达到降低数据维度和提高计算效率的目的。自编码器网络结构如图1所示。
训练过程分为编码部分和解码部分,将均方误差(mean square error, MSE)作为不断进行迭代训练调整自编码器(auto-encoder, AE)网络结构参数的损失函数,获取精确的低维度特征信息。自编码器的编码、解码过程为
(1)
(2)
式中:fencoder和fdecoder分别为编码部分和解码部分;x、r为输入数据、低维度特征向量;h为高维度数。
K-means作为一种划分式硬聚类算法[13],是大数据挖掘技术中最经典的聚类算法,在工业、科研领域都得到广泛的应用和研究。K-means算法的基本原理为:在训练数据集D中,输入所需的聚类数目K值之后,从D内随机选取与聚类数目相同的数据向量作为初始聚类中心,计算各个样本和聚类中心之间的距离,按最小距离原则进行分簇[14],再计算各簇的平均值并更新为新的聚类中心,不断地迭代循环,最终使簇内紧凑、簇间疏远,即误差平方和函数值稳定在最小值时停止迭代。
在计算各样本之间距离时,K-means算法采用的是欧式距离。设给定数据集D={x1,x2, …,xn},则计算任意两个样本点之间的欧氏距离公式为
(3)
式(3)中:xp={xp1,xp2, …,xpm};xq={xq1,xq2, …,xqm};m为样本元素的维度。
误差平方和函数为
(4)
式(4)中:K为聚类数目;ri为第i个簇集中样本元素的数目;xj为第i个簇集中的样本元素;vi为第i个簇集中全部样本元素的数据均值。
图2 传统K-means算法流程图Fig.2 Flow chart of traditional K-means algorithm
传统K-means算法流程图如图2所示。在传统K-means算法中,是随机选取K值和初始聚类中心,这种随机性可能导致收敛至局部最优解,使得聚类的质量及稳定性变差[13]。
为了解决传统K-means算法无法有效处理高维数据,且存在人工给定聚类数目K值及随机选取初始聚类中心易收敛至局部最优的问题,提出密度权值Canopy的改进K-means算法对降维后的电力负荷数据进行聚类。改进算法通过密度权值Canopy算法对降维后的数据执行预聚类,从而能够获取初始聚类中心和合适的聚类数目,将预聚类结果结合K-means算法进行聚类。
数据集D中第i个数据点xi的密度ρ(i)为
(5)
(6)
由式(5)可知,ρ(i)表示的物理意义为:在数据集D中,样本i与其余样本之间的距离小于MeanDis(D)的样本元素数目。
簇内样本平均距离a(i)可表示为
(7)
簇间距离s(i)可表示为
(8)
式中:I={ρ(j)>ρ(i)},其中ρ(j)为第j个数据点xj的密度;d(i,j)为样本点i、j之间的欧氏距离。
由式(8)可知,簇间距离s(i)表示的物理意义为:若样本元素i的局部密度为最大,与距其最远的样本元素之间的距离为s(i),即s(i)=max{d(i,j)};否则,与距其最近的样本元素之间的距离为s(i),即s(i)=min{d(i,j)}。
权值积w的计算公式为
(9)
由样本密度ρ(i)、簇内样本平均距离a(i)、簇间距离s(i)以某种形式的乘积构成了最大权值积法,能够有效对中心特征进行反映,从而为最大权值积的数据点是下一个初始聚类中心。改进的K-means算法流程图如图3所示。
图3 改进的K-means算法流程图Fig.3 Flow chart of improved K-means algorithm
改进的K-means算法步骤如下。
步骤1对于降维后的数据集D,利用公式(5)进行计算D中全部样本元素的密度值,第一个聚类中心c1选取其中的密度值最大点,则聚类中心的集合C变化为C={c1},与此同时,将D中距c1小于样本元素平均距离MeanDis(D)的点去除。
步骤2由式(5)、式(7)、式(8)计算D中剩余样本数据的ρ(i)、a(i)、s(i),并将其代入式(9)中进行计算权值积w,第二个聚类中心c2选取其中的权值积值最大点,聚类中心的集合C变化为C={c1,c2},与此同时,将D中距c2小于样本元素平均距离MeanDis(D)的点去除。
步骤3重复执行步骤2,直至降维后的数据集D为空,由此可得C={c1,c2,…,ck}。
步骤4将以上步骤得到的初始聚类中心和K值结合K-means算法,对D聚类并更新聚类中心。当新的聚类中心和初始聚类中心之间无变化时,输出聚类结果。
随着能源互联网的不断发展,获取海量基础的电力负荷用电数据难度逐渐降低[15]。但在数据采集过程中,由于存在终端采集设备故障、数据传输通信错误、人为因素丢失等问题[16],负荷数据中仍有缺失数据与异常数据的存在。
在数据清洗时,剔除存在较大数据量缺失的负荷曲线数据,利用多阶拉格朗日内插法对缺失不严重的负荷数据进行填充,如式(10)所示。若某条负荷曲线t时刻的负荷数据变化率与前一时刻的负荷数据变化率存在较大差异,或在预设阈值之外,称其为异常数据,可以通过高斯滤波方法消噪,也可采用多阶拉格朗日内插法对少量异常的负荷曲线数据进行修正。
(10)
为了进行AE神经网络训练,对负荷数据进行StandardScaler标准化,消除负荷数据量纲对后续聚类的影响,保证数据之间的可比性,采用Z-Score标准化公式为
(11)
式(11)中:x为清洗后的负荷数据;x′为标准化后的负荷数据;μ、σ分别为样本数据的均值、标准差。
整体算法包括对负荷数据的预处理、负荷数据降维、初始聚类中心与K值的确定、数据集的聚类及性能评估。整体算法流程图如图4所示。具体的流程描述如下。
图4 整体算法流程图Fig.4 Overall algorithm flow chart
(1)通过数据校正和数据补全技术对负荷数据进行数据清洗,进行标准化,完成负荷数据的预处理。
(2)利用自编码器技术提取负荷数据的低维特征,降低负荷数据维度,实现原始数据的无损压缩,可以提高后续聚类的速度与精度。
(3)采用密度权值Canopy算法对降维后的负荷数据执行预聚类,从而能够获取初始聚类中心和合适的聚类数目。
(4)将预聚类结果结合K-means算法聚类,输出聚类结果,并通过聚类有效性指标与其他传统方法对比分析。
实验数据选取新疆某地区2019年74条10 kV线路运行数据,每5 min采集一次负荷数据,每条线路全年共采集17 520个数据点,构成17 520×74阶矩阵。
将采用3.1节所述方法进行数据预处理后的负荷实测数据执行自编码器训练,学习率为0.5,批尺寸为256,通过1 000次的不断迭代训练,其损失函数的迭代过程如图5所示。
MSE为均方误差图5 MSE损失函数训练曲线Fig.5 MSE loss function training curve
输入数据在编码部分可以提取原始数据特征,获取降维数据,再经过解码部分重构原始数据。随着迭代次数的增加,原始数据与输出数据之间的MSE损失函数不断减少,损失值稳定在0.001 4左右,表明该降维数据可以有效地对原始数据进行表征。
采用自编码器网络模型提取负荷数据的低维特征,降低负荷数据维度,将降维数据输入至改进的K-means算法聚类,得到的负荷曲线聚类结果如图6所示。
根据新疆季节特点,供暖季是11月15日—4月15日,图6聚类结果可分为2种主要区域类型,即实施煤改电区域与未实施煤改电区域。图6(a)、图6(b)中,负荷曲线整体趋势大致相似,考虑接入大量的电采暖设备取代传统形式煤采暖,电采暖用户供暖季用电量呈现快速上升,在4月15日、11月15日左右负荷曲线出现明显的下降、上升,6—8月夏季负荷出现升高,但夏季负荷峰值小于供暖季负荷峰值,簇类负荷曲线供暖季负荷高于非供暖季负荷,为实施煤改电区域。图6(c)、图6(d)中,考虑用户仍采用传统形式煤采暖,簇类负荷曲线供暖季负荷明显低于非供暖季负荷,为未实施煤改电区域。
最终的负荷曲线聚类中心是4类,如图7所示。为了方便进行分析,将4类负荷曲线聚类中心作为每簇类曲线的代表负荷曲线。
由图7可知,代表负荷曲线数据之间的差异性比较大。虽代表负荷同属于实施煤改电或未实施煤改电区域,但各区域变压器的额定容量、型号却存在着不同,可以承受的总负荷大小也是不一样,从而负荷数据范围存在一定的差异性。
聚类有效性指标能够对聚类后的结果进行定量分析,将采用训练后的AE模型进行负荷曲线聚类与改进的K-means直接聚类、传统K-means聚类得到的DBI(Davies-Bouldin index)指标、CHI(Calinski-Harabasz index)指标、运行时间数值做对比[10,17],结果如表1所示。
玫红色曲线为该簇类负荷的聚类中心图6 基于AE降维的负荷曲线聚类结果Fig.6 Load curve clustering results based on AE dimensionality reduction
由表1可知,所提降维聚类算法的DBI指标值均比改进的K-means直接聚类、传统K-means算法低,而CHI指标值均比改进的K-means直接聚类、传统K-means算法高,表明所提降维聚类算法聚类准确度优于改进的K-means直接聚类和传统K-means聚类。此外,采用训练后的AE模型进行负荷曲线聚类,运行时间约为10.323 s,而改进的K-means直接聚类、传统K-means聚类运行时间分别约为15.843、24.356 s,可见,由于AE对数据集进行了压缩,降低了数据集规模,从而可提高相应的聚类速度。
图7 基于AE降维的负荷曲线聚类中心图Fig.7 Load curve clustering center diagram based on AE dimensionality reduction
表1 不同聚类算法之间结果对比Table 1 Comparison of results between different clustering algorithms
(1)提出一种基于自编码器的电力负荷聚类方法,通过自编码器进行负荷数据降维处理,再采用密度权值Canopy算法对降维后的负荷数据预聚类,得到初始聚类中心和最优聚类数目K值,预聚类结果结合K-means算法进行聚类。经过算例分析,验证了该方法应用于电力负荷聚类能够减少聚类过程中的复杂度,提高了聚类效率和聚类结果的准确度,分类出不同的区域类型,分析出不同区域中负荷的特点,有助于电网进行负荷建模、负荷特性模拟、需求响应管理等工作。
(2)通过本文方法也对智能楼宇空调、电动汽车等领域的负荷数据进行了分析,取得同样的验证结果。随着智能电网的快速发展,如何结合多源异构大数据融合,构建精细化程度更高的聚类方法是今后的研究方向。