陈克绪,徐春华,刘 玲,胡 涛
(1. 国网江西省电力有限公司供电服务管理中心,江西 南昌 330096;2. 国网江西省电力有限公司南昌供电分公司,江西 南昌 330012)
随着电网建设的发展,电力供应能力大幅提升,以电能为能量提供形式的不同种类的用电设备也不断增加,负荷侧的组成结构和负荷特性等也愈发复杂[1]。开展负荷侧用电特性研究,掌握负荷侧用电情况,对保障电力系统安全可靠运行具有重要指导意义[2]。通过对负荷识别进行研究,可以统计分析出电力用户负荷组成,为建设坚强智能电网提供有力数据支撑。
根据负荷识别设备安装位置的不同,可分为侵入式和非侵入式两种方法[3-4]。侵入式方法是指在室内所有的用电设备上都安装一个负荷识别设备(主要是数据采集和分析装置),这种方式负荷识别准确,缺点是安装和维护困难,成本也相对较高。非侵入式识别不需要在用户的电器上安装负荷识别设备,仅在用户电能表进线处安装相应的监测设备,对采集到的信号进行分析,通过设备内预设的负荷识别算法识别出用户负荷类别并计算电量,大大节约了成本,使用方便,实用性强,有良好的发展前景[5]。国内外学者对非侵入式负荷识别已经做了很多研究,也提出了许多不同的方法,例如 DTW 距离算法[6]、K 近邻算法[7]、遗传优化算法[8]、模糊 C 均值聚类[9]等。然而,上述研究方法计算复杂,对设备性能要求较高,无法实时进行负荷识别。
神经网络具有大规模并行、自学习及自适应能力,训练完成后计算速度快等优点,在非侵入式负荷识别中得到广泛应用。高云等[10]将模糊聚类算法用于分类识别电力负荷,但这种方法首先需要确认类别数目。黄友金等[11]采用卷积神经网络,同时结合幅值特征阈值,实现了在低采样频率下能够有效辨识负荷。江帆等[12]采用广义回归神经网络进行负荷分类研究,这种方法具有良好的鲁棒性,同时也提升了网络的训练速度。徐春华等[13]在电力负荷识别中采用深度学习和深度置信网络方法,能准确别出了各类负荷,取得了良好的效果。
目前,通过人工方式选择电力用户负荷特征比较困难,针对此问题,本文采用深度学习堆栈降噪自编码网络(stacked de-noising auto-encoder, SDAE)方法。该方法有效地解决电力用户负荷特征选择的困难,实现了对监测设备采集的现场电力负荷数据自主进行分类识别。SDAE是一种深度神经网络架构,将多个降噪自编码器(de-noising auto-encoder,DAE)进行堆叠,最后用一层后向传播(BP)神经网络进行微调。深度学习主要是通过分层预训练的机制[14-15],从大量的训练数据中提炼出隐含的关键特征。深度学习早期是用于解决图像识别问题,现在已经渗入到机器学习的各领域,在语音识别、目标检测识别等各领域均有很好的应用。本文提出的SDAE方法在对电力用户负荷识别的应用中具有良好的识别效果,其识别准确率超过96%。
电力负荷主要有电动机、电弧炉、照明装置等。近年来,接入电网的非线性负荷越来越多,造成了电网电压、电流信号畸变现象集聚增多。另外,家用电器(如空调、冰箱等)也越来越多地采用变频等电力电子技术,使居民用电呈现出非线性化。而非线性设备不仅产生谐波,而且会使电流发生畸变。例如开关电源、变频器等都会有谐波分量产生,这与整流电路的非线性有关。随着社会的发展,用户对供电可靠性和供电质量的需求将不断提高,对电网中存在的电力负荷进行分类识别,将有助于为电力用户提供优质服务。
通过在现场采集到的工业用户电力负荷波形数据,建立了相应的工业电力负荷数据库。本文从数据库内选取8种负荷类型,如表1所示。首先选择一定的样本数据进行多次训练学习,自动提取电力用户负荷数据的特征信息;然后再根据提取的特征信息进行电力负荷识别检验。
表1 负荷类型及采样地点
自编码器(auto-encoder, AE)属于一种特征提取算法,包括编码器和解码器两部分。编码器把输入数据变成一个隐藏的空间表示,解码器将隐藏空间的表示重构输出,其中输入、输出的数据空间维度相同。编码是在输入层与隐含层之间通过特征提取实现的,解码是将隐含层的数据重构输出的过程。AE首先通过预训练得到一个大致的网络参数模型,然后根据反向传播算法对网络中的参数进行更新,使该网络能更好地识别出数据的特征。一个AE的结构如图1所示。
图1 自编码器
降噪自编码器(de-noising auto-encoder, DAE)是自编码器(AE)的一种改进形式,DAE是在AE的基础上,为输入的原始信号添加了高斯白噪声,如此可以增加隐含层对输入信号中存在干扰噪声的鲁棒性。
对于DAE而言,重构输出的信号与原始输入的信号之间差异越小,其隐含层对信号特征识别的能力越好。
为得到最小的重构误差,本文采用了梯度下降法更新参数W和b,对于每一次迭代有:
选用一层和多层DAE均能对电力负荷数据进行特征提取,但是采用一层DAE提取的特征信息不够准确,因此本文采用多个DAE堆叠,形成多层网络,以提取出更加可靠的数据特征。本文分别采用了堆叠2层和3层DAE网络识别电力负荷数据的本质特征,并增加了BP神经网络的监督微调环节,对堆叠DAE识别的特征信息进行实时监督和微调,最后再将电力负荷数据进行分类输出。堆叠三层DAE网络结构如图2所示。
图2 堆栈降噪自编码网络
采用逐层训练的方式提取特征,从低层开始训练,完成后进行下一层的训练。低层训练输出的结果直接用作下一层训练的输入,直到最高一层训练完成为止。在多个DAE堆叠训练完成之后,通过顶层的BP神经网络对前面训练好的最终结果进行微调,可以进一步提高识别准确率。
在对电力负荷进行识别的过程中,首先是将原始数据分为训练和测试两大类,然后对其进行预处理与归一化,再将处理后的训练数据作为输入数据对SDAE模型进行训练,训练完的SDAE模型可以有效地提取出电力负荷工作时的特征。虽然SDAE选择与提取特征的过程不明确,但是可以自动提取电力负荷的内在特征。将测试数据输入到训练好的SDAE模型中,通过输出的最终结果与类别标签对比计算,可得出SDAE模型的负荷类型识别率。实验大致流程如图3所示。
图3 实验流程图
使用国网江西电科院自主研制的0.02级电能表现场参数记录仪,采用非侵入方式采集现场工业用户的波形数据用于分析及识别研究。为保证采样波形数据的完整和实时性,设置设备在存储数据时不进行同步电压电流波形采集,装置的采样频率设定为50 kHz,每个负荷点均采集10次,每次采集时长均设置为5 min,对电压、电流波形和用于计量的电能表脉冲进行同步采集。国内电网基波频率为工频50 Hz,根据装置设置数据计算出此时一个周波采样 1 000 点,5 min 采样 15000 周波,每个负荷点采集50 min,共计采样 150 000周波。电力负荷类型及江西采样现场情况如表1所示。
将采集的原始数据通过现场参数记录仪内设的数据分析处理软件进行解析,得到通用格式的样本数据。首先,根据使用需要,将样本数据进一步分解,得到电压、电流和采样时间等信息;然后,用Matlab工具对样本数据进行分析处理,将数据切割为10周波一行,共分割成15 000行;最后将处理后的电流波形数据用作负荷识别分析的依据。各种负荷的样本数据均为一行10个周波,其采样点数为10 000 点,最终得到的数据样本为 15 000×10 000的矩阵。选取其中12 500个(行)数据作为训练数据,剩余的2 500个(行)数据作为测试数据。采用SDAE方法进行训练和测试。在进行训练前首先对所采集的样本数据进行归一化处理:
x——原信号;
xmax——原信号的最大值;
xmin——原信号的最小值。
实验中,8种用电力负荷的电流归一化波形如图4所示。
图4 归一化波形图
为了进一步掌握8种电力负荷的内在特征,通过快速傅里叶变换对电流信号进行分析处理,从图5中可以看出,8种电力负荷的谐波分布及含量各不相同。
图5 8种负荷电流的各次谐波分量
由于样本数据多,将试验平均分成5组进行,每组仍有8种负荷类型,且每种类型由2 500个训练数据与500个测试数据组成,即训练数据与测试数据分别为 20 000×10 000 的矩阵和 4000×10 000的矩阵。最终负荷识别的准确率采用5组实验结果的平均值。
实验环境为 Inter Core i7-6500U、CPU 主频为2.5 GHz、12 GB 内存、64 位操作系统的计算机。实验时DAE网络分别为2层和3层,选用2层DAE网络时,将隐含层的神经元数量依次设为100和50,其网络结构为10000-100-50-8;选用3层DAE网络时,将隐含层的神经元数量依次设为100、50和50,网络结构为 10000-100-50-50-8。训练时,DAE 每一层迭代次数都设定为500次,学习速率设为0.02,信噪比例设为0.2 dB;DAE模型训练完成之后,用BP神经网络进行微调,微调600次,学习速率设为0.01。
选择使用两层DAE时,在第一层提取负荷的初始特征,在第二层提取负荷的深入特征,完成各层训练后再对最终的网络结构进行微调,第一层的权重可视化如图6所示,第二层的权重可视化如图7所示。图6中的区块对应着第一层DAE隐含单元的权重,与图7中第二层DAE区块类似。
图6 第一个RBM的可视化权重
图7 第二个RBM的可视化权重
图8为DAE迭代次数为600次时,识别率与微调次数关系的曲线图。从图中可以看出微调次数越多,负荷识别准确率越高,当微调次数达到500次之后,电力负荷的分类准确率已无太大的上升空间,基本保持不变。
图8 分类准确率随微调次数变化曲线
在DAE实验后,文中采用非线性的3层BP神经网络算法进行实验。训练时,采样相同的训练集对BP进行训练,神经网络的迭代次数设定为500次,学习速率设为0.02,训练完成后进行负荷识别。实验得到的8种电力负荷的测试数据样本的识别率如表2所示。
表2 负荷类型识别率 %
当采用基于SDAE的电力负荷识别方法后平均识别率为96.23%,取得了良好的识别效果。当使用3层网络后,平均识别率提高到97.68%,较2层网络识别率提高了1.45%,较4层网络识别率提高了0.67%。在迭代次数与微调次数均相同的条件下,3层DAE的识别率较3层BP神经网络(BP neural network, BP)提升了2.93%,其识别率明显优于BP。
开展对比实验,选择3层DAE网络,设置不同迭代次数和微调次数,从而进一步检验DAE能否有效分类识别电力负荷类型。网络结构依然为10000-100-50-50-8,分别进行两组实验:第一组的迭代次数以及微调次数均为300,第二组的迭代次数以及微调次数均为500。实验结果如表3所示。
表3 8种负荷类型识别率
由表3可以看出,在一定范围内,通过增加迭代次数及微调次数可以显著提高分类识别率。SDAE通过自主学习可以得到不错的网络模型,这也说明了深度学习方法在电力负荷识别中具有良好的效果。
本文提出了基于堆栈降噪自编码网络的电力负荷识别方法,并且通过现场真实采集的电力负荷数据进行了试验验证,可以得出以下结论:
1)基于堆栈降噪自编码网络的电力负荷识别方法可自动提取现场实际采集的数据特征,DAE网络的迭代次数、DAE层数以及微调次数需要经过试验获取。通过试验得出:3层DAE迭代、微调500次可以达到较好的效果,最终负荷识别准确率能达到96%以上。
2)基于堆栈降噪自编码网络(SDAE)的电力负荷识别方法可广泛用于各类电力负荷波形数据的特征提取和准确识别。首先,广泛采集现场各类典型电力负荷的电流波形数据;然后通过SDAE自动提取电力负荷的内在特征,建立典型负荷特征库;最后根据建立的特征库准确识别现场的电力负荷类型。
现场实际采集的数据为非线性负荷,其中含有较多的噪声,传统人工特征提取方法不能很好地区分特征。后期,我们将对负荷数据进行噪声处理,再将传统分类算法与SDAE算法相结合,以获得更佳的负荷识别效果。下一步将采集更多的实测数据,建立更完善的电力负荷数据集,以便有效识别更多的电力负荷类型。