1. 引言
如何对所提取电力数据进行检测并做出正确决策,判断数据所反映出来的电网是否安全和稳定至关重要。zhibin guan等[1]提到被大量的数据包围,但缺乏知识。在大数据时代,如何从大量数据中快速获取高质量、有价值的信息已成为一个重要研究方向。近年来,利用属性约简方法,通过把粗糙集理论与其他一些算法进行结合使用,来改善粗糙集的属性约简难题,相对于传统的启发式属性约简算法,效率有所提升,但也同样适合于处理小规模数据集。李刚等[2]建立一种基于偏序电力大数据属性约简方法,优点在于在数据规模不变时,随着节点数成倍的增加,偏序算法约简效率有所提升,当数据规模越大时,节点数越多,偏序算法约简效率越高,并且解决启发式约简算法引起的决策表信息丢失问题。虽然经过约简,以减少数据分析过程中的属性个数。但是,经过约简后仍可能出现属性数量较多情况。
当面对异常pmu数据时,王德文等[3]研究智能电网流式数据处理,提出一种实时流处理框架,并从数据实时采集、数据缓冲、流计算等方面来进行详细分析。研究发现,利用历史数据模拟数据流形式进行异常检测实验,结果表明strom集群环境下滑动窗口处理延时较低。在不同strom集群节点数以及进程并行度等情况下进行测试,测试表明合理设置工作节点数以及任务拓扑并行度,可以优化strom性能,增加预计吞吐量,进而提高大规模监测数据流的实时处理性。虽然通过阈值判断检测异常数据较为简单,可能会有较低利用率,而且需要人工设置工作节点。毕天姝等[4]则提出基于局部离群因子的pmu连续坏数据检测方法,实现对不良数据有效处理和检测。可以与基于监督学习决策树相结合,避免人为设定不良数据阈值主观性;所提方法在系统处于不同状态下,面对多种类型不良数据均可有效检测,弥补现有方法在动态条件下检测精度不高的缺陷。但并未考虑不同地域下,是否也能提高对发现异常pmu数据准确性。
国外的turki ali alghamd等[5]利用apache技术对电网数据进行处理,并利用计算设备实例之间数据样本相关性,在聚类分析中,基于成员相似性和不相似性来构建类。在使用上述过程中减少了数据量。利用spark中数据预处理步骤似乎增加了计算时间,但是它们避免了预测模型过拟合和欠拟合问题,并减少了模型训练时间。mehwish bilal等[6]则提出另一种数据预处理新方法,将ml管道作为数据预处理关键步骤,其中利用新的计算方法automl。通过自动检测重复性,自动检测特征数据类型,自动缺失数据插补,自动分类特征编码,自动特征缩减和自动特征缩放,这六个基本步骤实现对数据预处理,该方法不仅简单易行,而且能提高模型性能。但其不足之处是如果数据集没有正确准备,或者数据集太大,该方法提取数据信息可能不准确。takashi furukawa等[7]提出新颖思路,由于三角形是三维计算机中最基本的形状元素,在保持任意精度同时进行“边折叠”,先计算三角形面积,对面积进行排序,并预先创建优先级列表。这个新思路可以保持形状精度的同时减少三角形数量的技术,并对数据有效性进行评估,不足之处是在保持精度前提下提高压下率。李永光等[8]则提出一种连续特征属性,每个属性有不同度量方法。一般来说,测量数据单位越小,其变量值就越大。为减少属性度量上的差异对计算过程影响,消除度量单位选择上的不便,需要对连续特征属性值进行标准化和规范化。标准化就是在不同维度上对原始数据做一个伸缩性改变,但不同数据之间几何距离并没有改变,标准化好处在于特征提取中尤为显著。在数据特征空间转换过程中,保留样本在各个维度上的信息分布,避免不同特征之间度量差异带来影响。但是将数据标准化需要时间较长,并且面对大数据集是将所有数据标准化意味着需要大量内存来储存这些信息。文献[9]提出一种基于长短期记忆网络的pmu不良数据检测方法。jianping li等[10]针对机器学习算法,提出一种将信息增益和主成分分析相结合的数据特征问题的异常检测方法。实验仿真数据表明,与传统单特征降维方法相比,特征降维方法提高了入侵检测模型精度。刘灏等[11]针对pmu连续坏数据难以与扰动数据区分问题,提出一种基于局部离群因子(lof)的连续坏数据检测算法。文献[12]基于四点斜率特征构造决策树区分扰动数据和坏数据,但是这些方法均是有监督的,存在离线训练负担。liya su等[13]提出通过级联两种机器学习算法发展起来的层次聚类和多项式朴素贝叶斯监督学习模型。
根据上述国内外文献,在不同方法下都能提升数据预处理时间并且提高效率,但是有些情况下无法提升大数据集预处理效率和速度,还有可能出现数据提取时决策表信息丢失情况,导致在约简后仍有可能出现信息较多情况。当出现连续不良数据时,利用聚类法和集成学习法效果不好,检测结果也会出现漏判,导致数据并不完整。本文采用bp神经网络与双向长短期记忆神经网络(bi-directional long short-term memory, bi-lstm)相结合,因为bp神经网络拥有强大的非线性成像技术和灵活网络结构。在网络各层的中间层位置和神经元数量均可针对特殊情形选择,性能根据结构而不同。而bi-lstm学习速度快,更加擅长解决多变量问题。所以将两者相互结合,形成一种混合模式计算。它具备比bp神经网络模式更强大的非线性映射能力和泛化学习能力,大大提高数据分析应用范围。
2. 基本理论
2.1. 双向长短期记忆网络
双向长短期记忆神经网络具有特殊循环机制,有助于检测并选择或遗忘时钟序列中不良信息,进而降低错误数据对数据重构干扰。另外,与bp神经网络一样,各层次间节点都不能经由输入层直接链接至隐藏层;输出层输入不仅包含了输入层输出,还包含上次隐藏层输出。所以,根据长时间与短期记忆网络之间独特循环构造,可以选用双向长短期记忆网络和bp神经网络,作为处理pmu测量中不良数据主要结构。
双向循环神经网络(bidirectional recurrent neural networks, brnn)基本思想是提出每一个训练序列向前和向后分别是两个循环神经网络,而且这两个都连接着一个输出层。图1为一个沿着时间展开的双向循环神经网络。六个独特权值在每一步被重复利用,六个权值分别对应:输入到向前和向后隐含层(w1, w3),隐含层到隐含层自己(w2, w5),向前和向后隐含层到输出层(w4, w6)。值得注意的是:向前和向后隐含层之间没有信息流,这保证展开图是非循环的。
figure 1. bi-directional long short-term memory network structure diagram
图1. 双向长短期记忆网络结构图
对于一个长度t输入x,网络有i个输入单元,有h个隐含单元,k个输出单元。定义为t时刻第i个输入,定义和分别表示为t时刻网络单元j的输入以及t时刻单元j非线性可微分激活函数输出。
2.2. bp神经网络
bp网络主要是在输入层与输出层间,增加了多个(多层)的隐藏单元。其不与外部世界直接联系,但由于状态改变会影响它们。
对于一个x,其角标表示第i个神经元,本神经元拓扑结构共有x1、x2、…、xj,共计j个神经元输入。输入多数时候作为一个独立变量,对系统模型有显著影响,起着至关重要作用。w1、w2、…、wj则调整连接重量的各输入权重比。
我们现在要做的就是根据这个误差调整
个参数值,逐步减小ek。这里通过最常见的梯度下降算法来改变参数。该函数总是以沿着梯度方向改变为最快,所以需要给所有需要拟合的参数计算偏导数。如果偏导数 > 0,则应改为偏导数的相反方向改变;如果偏导数 < 0,则沿着此方向改变即可。
3. bp bi-lstm
3.1. bp bi-lstm算法
bp神经网络结构图如图2所示。bi-lstm向前推算公式如下:
figure 2. bp neural network model
图2. bp神经网络结构图
(1)
(2)
对于网络的输出单元也可以通过下面公式来计算:
(3)
向后推算公式如下:
(4)
(5)
最后,在每一个时步对于隐含层单元的输入和输出的权值是相同的,我们这个序列求和来得到关于每个网络权值的导数。
(6)
在改进的bp神经网络中:
(7)
(8)
(9)
(10)
(11)
根据上述公式(11)可以得知,在公式(12)中通过
初步影响
,所得结果再影响
,最后会一直影响到
。因此,有:
(12)
其中
(在每一个隐藏神经元的输出都有一个独立表示,其角标h代表当前隐藏神经元的输出)。
(13)
而sigmoid函数具有一个良好性质:
(14)
(15)
综上所述,可以得出:
(16)
同理:
(17)
由公式(17)可得,v权值会影响所有β。
(18)
(19)
(20)
(21)
3.2. bp bi-lstm步骤
步骤1:准备数据。随机选取某一节点的五种数据按照文件中的“raw_data.xlsx”格式准备。将数据进行归一化处理,即将有量刚的表达式经过变换化为无量纲表达式。
步骤2:整理数据。将处理后的数据分为90%训练集与10%的测试集,测试集目的是为了保证程序没有发生错误或者与真实数据差别过大等问题。保证90%训练集准确无误。
步骤3:数据预处理。将数据分为动态数据和稳态数据分别处理;稳态数据采用均值滤波方式寻找。动态数据采用神经网络方法模型进行训练,如果数据中没有不良数据时,bi-lstm预测出来的结果和实际结果误差较小,如果存在不良数据,误差会比较大;bp神经网络在存在不良数据时效果较bi-lstm更好。
步骤4:数据反归一化。将数据进行反归一化处理,此步骤与真实的数据进行对比更加直观。
步骤5:与真实数据进行对比。判断标准为预测误差,通过计算均方根误差,该时刻误差大于总体mse误差的3倍视为不良数据。
综上本文提出的pmu不良数据检测图,如图3所示。
figure 3. pmu defective data detection flowchart
图3. pmu不良数据检测流程图
4. 仿真与验证
4.1. 仿真系统
为了验证所提出方法可行性,本文利用如图4所示的新英格兰10机39节点系统获取0 s~179.9662 s时间段的pmu数值。
figure 4. new england 10 machine and 39 node system
图4. 新英格兰10机39节点系统
4.2. 仿真测试
对pmu数据进行检测和处理获得输出电压信号幅值、相电压幅值、电流、电流角度、相电压角度等。再将这些数据进行训练10%的测试集和90%训练集,训练效果如图5所示。
figure 5. iterative loss graph
图5. 迭代损失图
截取一段训练轮数,蓝线为训练集,绿线为测试最佳验证性能,红线为测试集,绿色虚线为预期最佳验证性能,黑色虚线为预期目标,训练均方根误差图如图6所示。
图6表明:测试集与验证集相较于最佳和目标集无明显差异,测试集与理想目标差距较为明显。在训练120轮中训练至107轮时得到最佳验证性能为0.028448。
4.3. bp bi-lstm方法
将电力系统不良数据定义为突变数据,但原始数据中未发现突变数据,所以需要制造任选一个数据进行换取作为突变数据来使用。图7所示橙色线段为bp bi-lstm预测值。
在图7中,我们直观发现整体趋势会逐渐上升或者逐渐下降。当某一点会在一段较平缓线段内突然下降。那么此点就是其预测异常点。
4.4. 实验方法对比
4.4.1. lstm方法
通过长短期记忆网络的pmu不良数据检测方法[7],将不良数据定义为数据突变,图8为lstm预测误差图像,蓝色线为数据真实值,红橙色线为通过lstm方法预测数值。
figure 6. root mean square error graph for training
图6. 训练均方根误差图
figure 7. bp bi-lstm prediction error
图7. bp bi-lstm预测误差
figure 8. lstm prediction error graph
图8. lstm预测误差图像
图8表明:将lstm预测值与真实值进行对比,图形走向与真实值接近,部分线段lstm预测值斜率与真实值较为相似。但个别地方会发现有严重滞后或提前现象,均方根误差较大,rmse为45.1279。
4.4.2. bp bi-lstm方法
图9为bp bi-lstm预期误差图以及时间误差图,蓝色线段为数据真实值,橙色线段为通过本文提出方法(bp bi-lstm)预测数值。
figure 9. bp bi-lstm prediction error graph
图9. bp bi-lstm预测误差图
将bp与bi-lstm相结合预测误差与真实值进行对比可以发现,它与真实值更为接近,bp bi-lstm预测值各点斜率与真实值更为接近,均方根误差值为44.9616。
4.4.3. 方法对比分析
图10中蓝色线段为lstm预测值,绿色线段为bp bi-lstm预测值,红色线段为真实值。在将长短期记忆网络的pmu不良数据检测方法[7]与本文方法(bp bi-lstm)进行对比,可以直观发现本文方法在某一点与真实值斜率更为接近,数据走向也更贴近真实值。
figure 10. comparison chart between two methods and actual value
图10. 两种方法与真实值对比图
由于本文提出方法检测均方根误差低于文献[7]的误差,将调制信号中设置幅值偏差范围1%~15%的不良数据。
table 1. four methods for detecting bad data with different deviations
表1. 四种方法对不同偏差不良数据检测结果
方法 |
1% |
5% |
10% |
15% |
本文方法 |
√ |
√ |
√ |
√ |
lstm |
√ |
√ |
√ |
√ |
聚类法 |
× |
× |
√ |
√ |
集成学习法 |
× |
× |
√ |
√ |
主成分分析法 |
√ |
√ |
√ |
√ |
从表1可知,在不同幅值偏差范围1%~15%中,本文方法、lstm方法和主成分分析法可以检测出不良数据;但将幅值偏差设置在1%~5%时,聚类法以及集成学习法无法检测出来。
5. 结论
电力系统同步向量测量数据对电力系统规划和电力系统安全至关重要。随着社会对电力需求量的增加,做好电力系统数据预测工作可以获得很多经济效益和社会效益,由此保证数据安全十分重要。本文提出一种将bp神经网络与双向长短期记忆相结合的pmu不良数据检测方法。经过与其他方法对比发现,本文方法可以检测出不同因素导致的不良振荡,且提高pmu数据质量与在检测过程中的准确率。在未来,作者将会考虑在不同场景下,将本文方法进行运用,例如将bi-lstm与其他方法进行结合,提高准确率和检测速度等工作。
基金项目
北京市自然科学基金面上项目(4242035);山东大学电网智能化调度与控制教育部重点实验室基金资助项目;北京建筑大学金字塔人才培养工程项目(jdyc20200324);北京建筑大学培育项目专项资金资助项目(x23050);国家自然科学基金委青年科学基金资助项目(51407201)。
notes
*通讯作者。