李 特张家驹赵 炜侯泽鹏
(国网河北省电力有限公司信息通信分公司,河北 石家庄 050021)
随着电力信息化的建设以及电力物联网的推进,大量智能电表、传感设备被广泛布置在客户侧,极大提升了电网用户侧的感知能力[1],获取了规模巨大的用电数据,这些数据蕴含了丰富价值,深入挖掘这些数据资产价值有利于改善企业经营绩效、提升客户服务水平。
机器学习主要利用经验来进行学习,通过对已有大量数据进行分析以及学习,获取数据之间内在关联。近年来伴随着数据基础、算法性能和硬件算力的提升,机器学习取得了迅猛发展,尤其深度学习在图像、语音及自然语言处理应用上取得了良好效果。机器学习已经广泛应用于用电数据分析,取得了诸多应用,在用户非侵入式负荷分解、负荷模式提取、异常用电检测、用户需求响应等方面已经取得较好效果,能够有效提升智能用电水平[2]。
本文归纳、整理了应用机器学习算法进行用电数据分析的相关研究,首先给出了基于机器学习的用电数据分析框架,进而着重分析了机器学习算法应用于非侵入式负荷分解、负荷聚类分析、负荷预测三个应用的研究现状,并且针对下一步研究给出了建议。
本文将基于机器学习的用电数据分析框架划分为数据获取、数据分析以及业务应用3个层面,整体框架如图1所示。数据获取层包含数据采集及数据预处理两部分,数据采集既包含电网内部系统采集的数据,比如用电信息采集系统、营销系统、客户服务信息等,又包含外部数据,如气象、经济、地理信息等。这些数据既包含规范的结构化数据,又包括如图像、文本等非结构化数据[3],这些数据共同构成了构建机器学习模型所需的数据集。数据预处理是指对获取的原始数据进行初步预处理,如异常、缺失数据的处理,多种数据的聚合。数据分析层是指利用机器学习算法进行建模的过程,通过学习已有大量的数据形成预测及判断,大致分为传统机器学习算法以及深度学习算法两类,传统机器学习算法需要人工进行特征提取,主要包含监督学习以及无监督学习两类,常见监督学习算法有BP(back propagation)神经网络、支持向量机、KNN(k nearast neighbor)等,无监督算法主要为聚类算法。深度学习算法本质为包含多个隐层的神经网络,利用多阶段变换对数据进行分层描述,组合低层次特征构成高层次特征,无需人为提取特征,能够表达复杂非线性函数。业务应用层根据服务对象分为电网企业以及政府两类。对于电网企业,基于对用户侧数据建模,已有应用涉及用电异常检测、非侵入式负荷分解、需求响应等。
图1 用电数据分析框架
负荷聚类是指通过对用户负荷曲线的有效分析,将具有相似用电特征的用户进行划分,提取各类用户的典型用电模式。现有研究主要运用机器学习算法中聚类算法开展负荷曲线聚类,划分聚类、层次聚类、密度聚类、模型聚类算法等均已被尝试用于负荷曲线聚类。相似性作为聚类过程中衡量样本之间差异的方法被广泛研究,欧氏距离、皮尔逊距离等已被用于度量样本相似性。
2.1.1 直接聚类
文献[4]运用改进密度峰值聚类算法进行负荷聚类,利用K近邻算法思想改进原算法密度距离计算依据,该算法能够针对高维、类簇差异巨大的负荷曲线有效聚类。相较于K-means、FCM(fuzzy c-means)、密度峰值聚类模型,该算法内存消耗较少、聚类效果更好。文献[5]引入核方法改进K均值聚类算法,将数据映射至高维空间聚类,并且使用核主成分分析预先对数据降维处理。
2.1.2 考虑数据降维的负荷聚类
随着智能电表采样频率的提高,负荷数据呈现高维、海量特征,未经处理直接进行聚类分析,造成计算量巨大、模型训练时间过长等问题,因此需要降维处理。主成分分析、指标特征提取、频域变换、分段聚合、深度学习等均被尝试用于降维处理。文献[6]考虑负荷曲线形态及变化趋势特征,运用可变时间分辨率的自适应分段聚合近似方法,对原始负荷序列数据降维重构,进而运用k shape算法对降维后数据进行聚类。模拟及实测数据实验表明,相较于K-means、DTW(dynamic time wrapping)算法,该算法运行时间、聚类有效性整体最优。文献[7]利用深度卷积自编码网络对原始日负荷数据深层次特征提取及降维,进而利用模糊聚类对降维数据进行聚类,并且结合序列欧氏距离以及序列趋势改进动态时间弯曲距离,改进聚类算法相似性判断依据。
2.1.3 基于分类模型的负荷划分
此类方法综合利用机器学习中无监督以及监督算法,先利用聚类算法对负荷数据进行聚类划分,获取数据类别标签,进而利用带标签数据训练分类器,得出负荷分类模型。文献[8]利用K-medoids聚类获取局部负荷数据标签,构成训练数据,利用改进过采样技术对训练数据集平衡处理,进而在Spart平台完成神经网络集成算法训练。实验表明该算法抗噪性、运行效率及分类效果,优于K-means聚类、K-medoids+单机神经网络算法。
2.1.4 基于多种聚类算法融合分析的负荷聚类
单一聚类算法进行负荷聚类均存在一定不足,需要综合多种聚类算法,发挥每种算法的优势,提高聚类结果鲁棒性、准确率。文献[9]运用结合划分聚类及层次聚类,设计了一种集成聚类算法,先利用划分聚类降低数据集规模,进而运用层次聚类组合划分聚类结果,该算法兼具划分聚类算法计算效率高以及层次聚类质量好优势。运用国内、国外2个数据集开展实验,集成聚类算法计算效率与划分聚类相近,聚类质量优于划分聚类及层次聚类算法。文献[10]提出基于聚类融合的负荷分类算法,分别使用K均值、模糊聚类、SOM(self-organization net)及singlelinkage进行聚类,进而构建共识矩阵对4种聚类结果进行融合。某电网实测数据实验结果表明,聚类效果优于单一聚类算法。文献[11]针对形态相似但是幅度不同负荷难以区分问题,设计一种双层聚类模型,采用皮尔逊相关系数作为相似性度量依据进行外层聚类,对于外层聚类划分结果,利用欧氏距离作为相似性度量依据进行内层聚类,对聚类结果依照幅值相近原则进行划分。
2.1.5 基于高性能聚类算法的负荷划分
负荷数据具有高维、海量特点,尽管利用降维算法能够一定程度减少计算量,但是计算效率仍然较低,需要利用并行计算平台、分布式计算平台,实现高性能聚类算法。文献[12]针对用户负荷数据分散性强,考虑节约数据通信成本,提出一种自适应分布式K-means聚类算法,先对局部数据进行K-means聚类,再对局部聚类模型进行聚类,得出全局聚类模型。
运用深度学习算法进行负荷数据特征降维,在有效降低负荷数据维度的同时,提取出高层次特征,更易于负荷数据聚类划分;现有负荷聚类研究方法主要运用电表高频数据完成负荷聚类,可以运用不同时间尺度数据进行负荷聚类,如可以运用日用电量曲线、周用电量曲线进行聚类划分;对于已构建负荷聚类模型,研究能够辨识新负荷模式的增量学习模型,能够有效节约训练成本。
电力系统运行特性要求发电与用电动态平衡,精准的负荷预测对于电网资产规划建设、调度运行意义重大。影响负荷预测的因素众多,经济、气象、节假日等因素均一定程度影响负荷使用,并且随着电动汽车、新型负荷的大量接入,负荷的随机性、波动性提高,负荷预测难度进一步增加。基于机器学习的负荷预测方法,通过对历史负荷数据以及其它影响因素的学习,构建负荷影响因素到负荷预测值的映射模型。围绕负荷特征提取、预测模型的构建,传统浅层机器学习算法以及深度学习算法均被尝试用于构建负荷预测模型。大数据背景下,深度学习算法能够进一步提取负荷数据的高级特征,卷积神经网络、循环神经网络、深度信念网络等常见模型均被应用于负荷预测,表现出了更优的准确率与鲁棒性,本文梳理、分析了深度学习负荷预测模型的相关研究总结如下。
3.1.1 基于单一模型的负荷预测
基于单一模型的负荷预测算法完成负荷特征提取以及负荷预测两部分,文献[13]提出基于改进深度信念网络的负荷预测模型,采用高斯-伯努利RBM(restricted boltzmann machine)作为第一个RBM,并且采用无监督训练与有监督结合的方式训练模型参数,实际负荷数据实验表明,该算法预测效果优于BP、SVM(support vector machine)、以及传统深度信念模型。文献[14]运用深度长短时记忆网络进行区域负荷预测,采用随机搜索法确定模型参数,并且创新提出通过对隐含层向量的可视化表示,验证对于负荷序列特征学习能力。比赛实验数据实验表明,该模型预测准确率优于SVR(support vector regression)以及GBRT(gradient boosting tree)。文献[15]设计一种深度脊波神经网络进行负荷预测,选取脊波神经元构成隐含层神经元,采用玻尔兹曼级训练方式对模型预训练,运用粒子群算法进行模型参数精调。文献[16]借助信息熵理论,提出一种新的非凸、有界、平滑、无限阶可微度量,构成神经网络的损失函数。实验证明该算法具有更强的鲁棒性。
3.1.2 多算法融合的负荷预测
该类算法综合运用多种算法进行负荷预测,发挥模型中各算法自身优势。一种为针对负荷特征提取以及预测模型设计,分别选取合适的算法。比如文献[17]结合GRU(gated recurrent unit)以及深度神经网络进行负荷预测,先运用GRU 进行负荷序列的特征提取,再结合天气、节假日信息构成输入特征,进而利用深度神经网络完成负荷预测。2个实际数据集实验表明,该模型兼备准确性以及时效性,预测效果优于LSTM(long shortterm memory)、GRU 以及MLP模型。文献[18]首先对负荷数据进行聚类划分,进而利用卷积神经网络提取各类负荷特征,最后运用支持向量回归机完成各类负荷预测。实验表明,该算法充分结合了卷积神经网络特征提取以及支持向量回归机数据拟合的优势,准确率以及计算效率优于运用单一模型。文献[19]运用经验模态分解将负荷划分为不同频率本征模态函数,采用多元线性回归对规律性较强低频成分进行预测,采用GRU 对随机性强的高频成分进行预测,将两者预测结果融合构成最终预测结果。采用数据量大、小两个数据集进行实验,结果表明该算法能够准确预测负荷局部细节,优于几种单一模型。文献[20]运用变分模态分解将负荷序列分解为各特征互异子序列,并针对负荷、温度及日期数据,通过互信息度量选出与负荷密切的输入变量,进而利用改进深度信念网络进行负荷预测。该算法预测效果优于BP、SVM 等多种算法。
另一种为运用多种负荷预测模型分别进行预测,然后将各模型预测结果有效融合,得出最终预测结果。比如,文献[21]分别运用LSTM 以及XGBoost模型进行负荷预测,然后利用误差倒数法组合两种模型的预测结果,得出最终预测值。通过 实例 分析GRU 、XGBoost、LSTM 、LSTMXGBoost、GRU-XGBoost 5种模型的预测误差曲线,证实了该组合模型能够修正单一模型预测误差较大的数据,并且LSTM 及XGBoost组合优于GRU 及XGBoost组合。
不同类别用户的负荷特性差异较大,比如工业商业及居民用户均具备各自的负荷模式,应该针对不同用户分别构建负荷预测模型,有利于更深层次提取负荷特征,实现精细化负荷预测;大量间歇性用电设备的投入使用,增添了负荷预测的难度,结合考虑间歇性用电设备用电因素,提升负荷预测模型的鲁棒性。
非侵入式负荷分解概念最早由Hrat提出,是指通过对采集的用户电表总负荷数据进行分解,得出各电器设备的用电信息,这对于指导用户科学用电、电力公司政策制定具有十分重要意义。基于机器学习的非侵入式负荷分解流程包括负荷探测、特征提取及分类器设计三部分。负荷探测是指检测负荷的投入、切除。负荷特征主要分为稳态特征以及暂态特征两类,有功功率、无功功率、电压、电流、谐波等特征被广泛用于负荷分解,其它构造特征如V-I轨迹图像特征等同样被用于负荷分解。针对分类器设计,传统浅层机器学习算法以及深层神经网络算法被用于负荷识别。
4.1.1 基于传统机器学习算法的非侵入式负荷分解
支持向量机、决策树等典型有监督机器学习算法,及以聚类算法为代表的无监督机器学习算法,均已被用于非侵入式负荷分解。优化改进算法以及多算法组合模型,也被用于非侵入式负荷分解。基于监督学习的非侵入式算法识别准确率更高,但需要大量标注数据,基于无监督的负荷识别模型无需先验标注数据,人为干预较少。文献[22]运用暂态功率特征进行负荷分解,先利用暂态功率时间及暂态功率跳变值特征初步进行负荷识别,进而对暂态功率波形进行分段线性特征提取后,输入改进核函数的支持向量机完成精准识别。测试数据实验表明,单负荷识别及多负荷投运识别均可以取得较好识别效果。文献[23]以负荷稳态电流奇次谐波作为负荷特征,从识别精度、训练时间、识别速度及抗噪性能4个层面,对比多层感知器MLP(multi-layer perceptron)神经网络、KNN、逻辑回归LR(Logistic Re-gression)、SVM 分类器,在BLUED 数据集负荷分解性能。MLP 神经网络虽然训练较慢,但其判断准确、识别快速、稳定性最优。文献[24]选用无监督模型进行负荷识别,选取电流谐波作为负荷特征,引入差量特征提取方法求出任意时刻特征值变化量,进而利用模糊聚类进行负荷识别。
4.1.2 基于深度学习的非侵入式负荷分解
文献[25]提出基于特征融合的负荷识别算法,利用卷积神经网络提取V-I图像高级特征,利用BP神经网络提取功率高级特征,将提取的高级特征输入BP神经网络完成负荷识别。PLAID 数据集实验结果表明,基于融合特征的分类结果优于单独使用V-I特征或者功率特征,并且识别效果优于MLP算法、随机森林算法、基于PCA 的辨识算法。文献[26]基于负荷V-I轨迹特征,运用四种典型卷积神经网络进行负荷识别,针对卷积神经网络所需要训练数据量大,运用迁移学习方法对卷积神经网络进行训练。4种典型卷积神经网络的负荷识别模型识别准确率均优于softmax分类器,并且在未参与训练数据仍然具备较好泛化能力。文献[27]考虑电器运行过程中的时间关联关系,建立基于序列翻译模型的负荷识别模型,以总功率数据作为输入。运用Dropout技术和稀疏化技术,减少模型过拟合现象。采用Adam 优化器对模型参数进行训练,并且实验证明Adam训练效果优于随机梯度下降、AdaGrad、RMSProp等算法。文献[28]提出基于双向门控循环单元网络及One-Hot时间信息编码器的负荷识别模型,分别提取分解时间点与前多序列之间的时间关联特征,结合时间特征信息,输入到全连接层进行负荷识别。相较于深度神经网络算法,本文算法大功率电器识别效果更佳、实用性更强。
完备的负荷特征库是建立非侵入式负荷识别模型的关键,需要不断收集、完善负荷特征库;智能电表采样频率较高,获取的负荷数据体量巨大,需要在高性能计算平台,实现高性能负荷识别算法;电器设备种类繁多,需要设计能够识别未参与训练的设备、鲁棒性高的负荷识别模型。
机器学习算法应用于用电数据分析取得了丰富成果,本文整理、分析了应用机器学习算法进行用电数据分析相关应用,给出了用电数据分析整体框架,重点分析了机器学习算法在负荷预测、负荷聚类及非侵入式负荷分解3 个应用的研究现状,并且针对每种应用给出研究建议。
目前针对用电大数据中非结构化数据的挖掘分析研究较少,非结构化数据同样蕴含丰富价值,比如客服系统中语音数据包含丰富的客户需求信息,需要更多有效挖掘非结构化数据价值。机器学习模型参数调节复杂,训练成本高,但用电数据特性随着时间会发生演变,应该研究能够识别新增用电特性的增量学习策略。