基于GA-BP神经网络算法的三相电能表检定风险预警研究
2023-12-06周思阳
周思阳,郭 钧
(武汉理工大学 机电工程学院,湖北 武汉 430070)
三相电能表的功能主要是通过测量三相交换电网的电源输出功率,以及所接负荷的电力损耗。三相电能表使用电子电路中的电子设备芯片来测量电量[1-2]。三相电能表中数字电子设备信息技术的应用,不但能够更准确地测算用电量,同时也能够更合理地解决供电需求[3]。但在三相电能表检定过程中常常因为外界环境因素产生误差,使得检定结果超差,需对检定工位的环境进行风险预警[4]。笔者基于对三相电能表检定环境的风向预警,建立风险评估策略,引入GA-BP(genetic algorithm-back propagation)神经网络算法模型进行优化求解。
1 问题描述及数学模型
1.1 问题描述
因实际情况较为复杂,做出以下假设:
(1)流水线上进行检定的三相电能表均为标准电能表,即内部不存在明显误差影响因素。
(2)影响三相电能表误差的主要因素为外界环境影响因素。
(3)电能表检定结果受到电压、频率、功率因素、温度、湿度、检验台、检定人员、逆向序、电流和电压线路的谐波分量等因素的影响,从众多影响因素中选取电压、频率、功率因素、温度、湿度这前5个影响程度最大的因素作为主要因素来研究。
1.2 数学模型
BP神经网络中的机器学习过程主要是由输入信息的正向传递和误差信息的逆向传递两个过程组成。在正向与逆向传递的循环中,通过网络的权值向量空间遵循梯度下降的策略,合适的权值经过动态迭代,最终使得模型误差进一步降低,以便于获取准确的输出结果。
目标函数1(BP神经元的输入和输出):
(1)
(2)
(3)
式(1)为输入变量通过BP神经元计算后,得到的第j个神经元的净输入值Sj;式(2)中Sj的传递函数f(·)在经过映射后,得出第j个神经元的输出yj;式(3)为Tan-Sigmoid函数,即在神经网络中使用的电能分析函数,同样包括在内的还有线性函数和阈值函数,输入值x为任意值。
目标函数2(定义误差函数):
(4)
(5)
目标函数3(输出层权值调整函数):
利用累积误差调整模型中的输入权值Wjk,即可再一次降低全局误差E,如式(6)所示。
(6)
式中,η为学习量,且一般为一个非负常数,用来控制该模型的学习速率。
式(7)为定义误差信号的函数δyj。
(7)
(8)
(9)
把式(8)和式(9)代入δyj,根据链式法则可得式(10)。
(10)
其中zk为隐含层传递变量,最后通过式(11)进行输出层各神经元的权值调节,得到优化后的输出层权值。
(11)
目标函数4(输出层权值调整函数):
初始输出权值由式(12)得出。
(12)
将式(12)的权值进行调整,调整的过程和输出层相似,最后得到隐含层中各个神经元的权值调整的式(13)。
(13)
1.3 风险评估
电能表存在超差的风险,若检测结果为超差则判定为不合格,因此需要对风险做出预警。基于对误差实验进行测量的三相电能表均为误差等级0.05级的标准三相电能表,故判断测试结果可以比较真实地还原误差实验工位的现实情况,在完成基本偏离计算并得出平衡负荷值后,按照JJG596-1999《中华人民共和国国家测量检定规程——电子式电能表》中所规定的标准三相电能表的精度条件,制定三相电能表的风险评估措施。
根据对三相电能表的误差检定实验的结果特性以及预警结论的正确性,制定了如下规则:
(1)按照一定的时间间隔t,取m台电能表在n个时刻的m×n数据。
(2)利用SPSS(statistical product and service solutions)软件的权重分析,对影响误差的主要因素进行权值计算,从而确定输入变量。
(3)利用MATLAB软件使用GA-BP神经网络算法对误差进行预测。
(4)若对超差电能表能够进行准确的预测,则说明风险预警有效。
2 GA-BP神经网络算法实现
2.1 遗传算法的优化
笔者采用遗传算法对BP神经网络模型进行了一定程度的优化,也就是基于遗传算法结构涵盖了整个搜寻空间的特点,在随机解集中,使用遗传算法寻得在一定范围内的优化解,得到BP神经网络结构的最初值,然后将整个BP神经网络结构按照负梯度方向加以快速搜索,以达到全局的最小点。这种方法,既实现了输出结果在全局的最小点上收敛,又可以提高收敛的效率[6-7]。
2.2 GA-BP神经网络模型流程图
基于遗传算法优化的BP神经网络算法流程如图1所示。
图1 基于遗传算法优化的 BP 神经网络算法流程
步骤1权值和阈值在BP神经网络中都有一定的次序级联,其中包括:由N位染色体组型随机生成的输入层与隐含层连接权值、隐含层阈值、隐含层与输出层连接权值、输出层阈值,将这些BP神经网络的权值和阈值,都按次序级联出来[8];
步骤2利用适应度函数来选择均方误差,然后再利用均方误差对染色体的适合度进行测算,以确定预计结论是不是满足了目标条件,如果满足要求,则转至步骤4;
步骤3生成新个体,具体操作是对符合适应度值条件的新个体进行变异、交叉、复制计算;
步骤4确认新个体能否满足均方误差值函数的所有条件,如果不符合则转到步骤2,否则转步骤5;
步骤5按顺序划分最优解个体,并将BP神经网络的权值和阈值进行更替;
步骤6正向传播的BP神经网络中,对全局偏差做出了预测,权重和阈值可以通过对网络参数的相互加以校正和调节,并通过对BP神经网络的循环练习,直到原先拟定的练习次数和精度条件都得以实现,输出结果,该算法结束。
3 实验仿真与分析
3.1 网络创建
BP神经网络结构的定义,有如下两个较为主要的指导准则:①针对一般性的模式识别,三层神经网络能很好地处理问题;②三层神经网络中,隐含层的神经网络总量n2和输入层的神经元总量n1相互之间具有类似的关联:n2=2×n1+1。
根据上述原则,在建模中,由于样本层有3个输入参数,以及3个输出参数,因此n2取值为7,所设置的BP神经网络统计结构就是3-7-3,即输入层有3个节点,隐含层有7个节点,输出层有3个节点,总共3×7+7×3=42个权值,以及7+3=10个阈值,故采用遗传算法优化参量的个数就是42+10=52。取3组具有特征的数据作为训练样本,进行神经网络的训练。然后再利用误差范数测算个体的适应度,个体的误差范数越大,个体的适应度就越小,该个体越劣,反之越优。
通过持续的训练,使得网络模拟的输出数值偏差越来越小,这就是网络练习的过程,也是一个不断调整权数和阈值的过程。对BP神经网络的练习函数一般默认为trainLM(·),为LM(levenberg-marquardt)算法[9],利用改进的方法,可以对神经网络进行不断的练习。
3.2 神经网络的要素确认
在遗传算法的编码方式中,个体编号一般都采取了二进制编号的形式,将所有个体串成一个二进制串,由输入层与隐含层连接值、隐含层阈值、隐含层与输出层连接值、输出层阈值4个部分构成,连接权值与阈值也都采取了M位二进制的编号形式,将所有的权值都与阈值的编号相连,共同组成了单一个体的编号。因此,由于本例的网络结构是3-7-3,其中权值和阈值的个数如表1所示。
表1 权值和阈值的设置
(1)所使用的遗传算法中,权值和阈值的编码假设为十位二进制数,那么个体的二进制代码长度是520位。其中,前210位就是在输入层与隐含层之间的连接权值的编号;第211~280位是隐含层阈值编号;第281~490位则是隐含层与输出层之间的连接权值编号;第491~520位则是输出层阈值的编号。
(2)适应度参数。利用BP神经网络进行估计时,希望使预期值与估计预期值之间的残差尽可能最小,并对估计样本与预期样本的预期值之间的误差矩阵的赋范为目标函数的输出值。
(3)选定算子。对选定算子进行随机遍历抽样。
(4)交叉算子。交叉算子中使用了经过简化的单点交叉算子。
(5)变异算子。变异以一定几率产生变异基因,用随机方式产生变异的基因。如果选择的基因编码是0,则变成1;如果是1,则变成0。
遗传算法以及运行参数如表2所示。
表2 遗传算法的参数设定
3.3 输入和输出模式的确定
3.3.1 输入模式的确定
笔者采用SPSS权重分析法,通过输入电能表的环境变量,求解得到环境温度、相对湿度和电压各自所占的权数。
根据分析可知,环境因素对于三相电能表误差检测的影响较大,对于三相电能表的风险预警起重要的判断作用[10]。通过SPSS权重分析得到的权数如表3所示,对温度、湿度和电压这3个误差因素的权数进行归一化处理后得到输入变量。
表3 误差因素的权数
3.3.2 输出模式的确定
根据JJG596-1999《中华人民共和国国家测试仪表检定规则——电子式能量表》中规定的三相电能表的主要误差标准,由于检测对象为0.05级的三相电能表,其中基本误差限为衡量输出误差的标准。为了方便BP神经网络的输出,这里规定输出数据的最大值为1,数据越大则代表当前类型的误差越严重,越有可能趋近于故障。规定若目前的状态是“正常”,则算法输出值是{1,0,0};若目前的状态是“正超差”,则算法输出值为{0,1,0},那么则表示当前的状况为“正超差”;若目前的状态是“负超差”,则算法输出值为{0,0,1};其中“正超差”与“负超差”均判为故障。
3.4 实验结果
基于1.1中假设条件成立的情况下,本实验模拟流水线检测环境,在同一检测台上对10个电能表进行检测,以电能表1为例,统计了电能表1在不同时刻的实际测量误差,取了10个时间段的数据测得实际误差,并与预测误差进行对比,为进一步分析预测误差与实际误差的比较情况,判断对于误差的预测是否满足基本误差的风险预警条件,预测结果与实测结果如图2所示。笔者并计算了实际误差和基于GA- BP 神经网络模型的预测误差和相对误差值,结果如表4所示。
表4 预测误差分析
图2 GA-BP神经网络模型的误差对比
从表4可知,绝对误差和相对误差的平均值为0.003 7%和9.62%;此外,绝对误差和相对误差的最大值为0.007%和20%,最小值为0.001%和2.5%。对电能表1来说,预测结果具有较好的仿真性,其预测误差和实际误差较为接近,且在实测结果为“正常”时,预测结果并没有出现“超差”的错误判断,这一点尤为关键。
仅凭借电能表1的结果不足以说明该GA-BP神经网络模型预测的可靠性,经过对10个电能表样本的分析后,得出总数据的对比图如图3所示。
图3 GA-BP神经网络模型的仿真曲线对比
从图3可知,采用GA-BP神经网络模型进行预测,其预测结果对于实测结果有较好的仿真性,两种结果基本吻合,尤其是电能表7和电能表4在“正超差”和“负超差”这两个异常结果处,预测误差与实际误差的输出值相近。因此GA-BP 神经网络模型的预测准确度较高,能够一定程度实现对于电能表检定的风险预警。
4 结论
针对三相电能表在流水线上的检定环境进行了影响因素的筛选、权值的分析,将分析的结果用于输入变量的归一化,再运用GA-BP 神经网络模型对测量结果进行预测,通过对比预测结果与测量结果来验证GA-BP 神经网络模型的准确性。
由于本文的模型只考虑了5种外界因素的影响和测量准确规范等假设,未使用其他算法进行对照实验,因此其准确性有待进一步的验证。