基于贝叶斯网和集成学习的智能电表状态评价

2021-07-06 02:10张照鑫朱允刚虞玉峰赵山博张胜男陶紫涵
计算机技术与发展 2021年6期
关键词:贝叶斯电表电能表

张照鑫,朱允刚,虞玉峰,赵山博,张胜男,陶紫涵

(吉林大学 计算机学院,吉林 长春 130023)

0 引 言

电能表是每家每户都会使用的电子测量仪器,而智能电表已经和传统电表有了很大的不同,它的功能有本地数据处理、远程数据通信以及电网运行参数采集等。同时智能电表质量以及运行状态直接影响到采集系统的稳定性和安全性,而现有针对智能电表状态评价方法的研究较少,大量的质量数据和监测数据并没有得到充分的价值挖掘和合理利用,国内的智能电表状态监测技术仍处于起步状态,因此,寻找一个合理化、高效化的智能电表评价方法就成为了重要的探索方向。

贝叶斯网是一种概率网络模型,它以贝叶斯公式为基础,基于概率推理,广泛应用于人工智能领域,被认为是推理领域和不确定知识表达领域最有效的理论模型之一[1-3]。通过对智能电表运行过程中与运行状态相关的多种数据的选取,根据贝叶斯网络知识训练有效模型,并利用集成学习方法融合构建最优网络,作为评价智能电表运行状态的高效模型[4],同时利用Visual Studio 2019实现评价算法,通过输入其他相关方面运行数据推算智能电表各状态概率,得出最符合实际的状态评价,以此作为评价智能电表运行状态的合理方法。

1 运行状态评价模型设计

利用贝叶斯网络进行智能电表的状态评价就需要选择准确的数据离散化方法以及高效合理的贝叶斯网训练方法。而电能表状态评价是典型的有序命题类问题,为此该文提出适用于智能电能表状态融合的凸函数证据理论方法,结合选择性集成学习方法进一步提高了状态评价的准确性和科学性,最终实现对电能表状态的高准确判定。

为了有效地进行智能电表状态评价,根据生活经验选取了基本误差、有功准确度等级、运行误差、运行时间、运行故障率、全检退货率、监测异常、安装环境、用户信誉、家族缺陷、状态评分等相关因素[5](148),并结合智能电能表性能退化数据的典型时间点对应的可靠性值、实际验证的运行状态等数据组成电能表状态评价数据集,并同时进行数据离散化。同时,为了提高准确度,运用集成学习思想,对训练集进行R次采集m个样本的随机采样,形成R组均包含m个样本的数据集,分别对每组进行贝叶斯网络数据训练,同时根据数据训练结果不断修改贝叶斯网络的结构,寻找最优的贝叶斯网络模型[6]。然后利用聚类算法,对这R个贝叶斯网进行聚类,从中挑选出M个精度高,符合实际情况的贝叶斯网络集合F,利用网络集合F中的所有贝叶斯网作为融合模型,分别计算出智能电能表处于各评分状态的概率值。基于凸函数的理论,对贝叶斯网络进行有效融合,以此得到较为准确的最终状态评价结果。设计的模型框架如图1所示。

图1 基于贝叶斯网络的智能电能表状态评价模型框架

2 状态评价方法及运行状态评价模型设计

2.1 数据预处理

为了数据表示和处理方便,将上述的基本误差、有功准确度等级、运行误差、运行时间、运行故障率、全检退货率、监测异常、安装环境、用户信誉、家族缺陷、状态评分等相关因素表示为变量X1,X2,…,X11。

由于采集的智能电能表数据有一部分是一系列连续值,而贝叶斯网络只能处理离散数值,所以首先要将数据进行离散化,离散方法[4](148)如下:

对于以上所有区间,设计处理算法,将任意两个区间合并后成k-1个区间,计算出每个区间出现的概率,根据每个区间出现的概率值计算合并后的指标X的信息熵H(k-1),然后计算H(k)-H(k-1);计算任意合并情况下前后的信息熵之差,寻找出差值最小的合并策略作为本次合并策略[7-8]。若同时出现两种或两种以上差值最小的合并策略,则随机选择一种策略进行合并。根据合并后的信息熵H(k-1)计算Sj=(k0-1)×H(k-1)-(k-2)×H(k0),其中j的初始值为1;若Sj≤Sj-1,此时每个区间对应指标X的一个离散值。否则令k=k-1,j=j+1,重复上述操作[9]。利用Visual Studio 2019实现上述算法处理所得数据,部分连续数据离散化后结果见表1(表中数字代表数据所处离散后的区间)。

表1 部分连续变量离散表

2.2 贝叶斯网集合模型训练

将离散化后确定的指标属性集合表示为变量集合X={X1,…,Xi,…,Xn}(n=11),基于预先采集的电能表运行状态历史评价数据,通过遗传算法进行学习、训练,结合集成学习思想,生成表示电能表数据和电能表状态之间关系的贝叶斯网。

采用Bagging算法[10]从数据中训练生成R个贝叶斯网的集合F,方法[4](148)如下:

步骤1:对训练集进行第R次随机采样,共采集m次,得到包含m个样本的采样集Dr={C1,C2,…,Cm},其中m为数据量,Ci为第i组数据,每组数据是一个长度为n+1的向量X={X1,…,Xi,…,Xn,Xn+1}(n=11),其中r的初始值是1,1≤r≤R。

步骤2:用采样集Dr训练第r个贝叶斯网,贝叶斯网包含n+1个变量,其中X1…Xn表示如前所述的电能表状态属性数据,Xn+1表示电能表状态评分,有d种可能取值,如d=3(稳定、关注、预警),训练贝叶斯网方法如下:

基于训练数据集Dr={C1,C2,…,Cm}随机生成若干个贝叶斯网,作为通过遗传算法迭代确定最优贝叶斯网的初始种群Popr,其中r的初始值是0,设置的遗传算法迭代数为r0,每个贝叶斯网作为所述初始种群Qr中的一个个体[11]。

(2)

步骤3:将步骤2生成的最优贝叶斯网加入到贝叶斯网络集合F中。

2.3 基于聚类算法对若干最优贝叶斯网的选取

从产生的R个贝叶斯网中选择K个精度高的贝叶斯网组成新的集合∅。方法如下:

(3)

式中,m表示贝叶斯网Bi和Bj的采样集采样的样本数量。

步骤5:当连续两次迭代中,所述K个簇均不发生变化或达到最大迭代次数L时,转至步骤6,否则转至步骤3继续执行。

步骤6:从K个簇中的每一个簇里选择精度最高的贝叶斯网,以得到新的贝叶斯网集合∅={∅1,∅2,…,∅k}。

2.4 采用凸函数证据理论对各贝叶斯网的评价结果进行集成

采用凸函数证据理论方法[14],对∅中的贝叶斯网进行集成,进而得到状态评价结果(见图2)。假定x1,x2,…,xn表示当前观测到的已知的指标属性值,Y表示电能表状态。方法如下:

图2 使用∅中的贝叶斯网进行状态评价

步骤1:对于集合∅中的贝叶斯网∅1,当x1,x2,…,xn表示实际观测到的评价智能电能表运行状态的n个指标的数值,Yl表示智能电能表的运行状态d种可能取值中的第l种,则计算智能电能表的运行状态Yl的概率λ1(sl)的公式为:

λ1(sl)=P(Yl|x1,x2,…,xn)=P(Yl|πY)·

(4)

式中,1≤l≤d,1≤i≤n+1,Xi∈Children(Y)表示电能表的属性指标Xi是运行状态Y的子节点,πY是运行状态Y的父节点。

步骤2:对于集合∅中的贝叶斯网∅j,当x1,x2,…,xn表示实际观测到的评价智能电能表运行状态的n个指标的数值,Yl表示智能电能表的运行状态d种可能取值中的第l种,则计算智能电能表的运行状态Yl的概率λj(sl)的公式为:

λj(sl)=P(Yl|x1,x2,…,xn)=P(Yl|πY)·

(5)

式中,2≤j≤K,j的初始值是2,Xi∈Children(Y)表示电能表的属性指标Xi是运行状态Y的子节点,πY是运行状态Y的父节点。

步骤3:用下式将λ1(sl)和λj(sl)进行融合,并将结果赋给λ1(sl)。

(6)

步骤4:当j

步骤5:λ1(sl)即为每种可能的智能电能表运行状态的概率值。

关于上式的推导有:设πY是节点Y的父节点,Children(Y)是节点Y的子节点。由贝叶斯网马尔可夫覆盖的特性,可知:

P(Y|x1,x2,…,xn)=P(Y|MB(Y))=

(7)

由于分母P(x1,x2,…,xn)并不包含Y,即无论Y取何值,P(x1,x2,…,xn)的值都相同,因此可以将分母看成常数。而且分子是联合概率分布,那么可以把它表示成各节点的局部条件概率分布的乘积。因此,上式可以表示为:

(8)

其中,c是常数。上式将各节点的局部条件概率分布分成3部分:Y的局部条件概率分布、Y的子节点的局部条件概率分布和其他节点的局部条件概率分布。由于第三部分∏Xj≠Y∩Xj∉Children(Y)P(Xj|πXj)并不包含变量Y,所以这部分也可以归到常数里,因此上式可以表示为:

c·P(Y|πY)·∏Xi∈Children(Y)P(Xi|πY)·∏Xj≠Y∩Xj∉Children(Y)P(Xj|πXj)=c'·P(Y|πY)·∏Xi∈Children(Y)P(Xi|πXi)

(9)

从上式可以看到,P(Y|MB(Y))与P(Y|πY)·∏Xi∈Children(Y)P(Xi|πXi)成正比。

3 应用验证

选用从江苏、福建省分公司获取的电能表运行状态历史数据集D。此数据集包含基本误差、有功准确度等级、运行误差、运行时间、运行故障率、监测异常、安装环境、用户信誉、家族缺陷、状态评分等数据,表示为变量X1,X2,…,Xn(n=11)。基于2.2中算法,结合集成学习思想,对电能表运行状态历史集D进行R次随机采样(R=10),形成R组数据集D1,D2,…,DR。运用机器学习的方法训练出R个贝叶斯网模型B1,B2,…,BR;训练出的每个贝叶斯网包含变量X1,X2,…,Xn,表示电能表运行指标数据与运行状态的不确定性因果关系。

贝叶斯网的基本训练原理是通过设计评分函数f(B,D)=P(D|B)来衡量贝叶斯网与数据集的拟合程度,然后运用启发式搜索算法搜索贝叶斯网结构分值最高的一种,同时运用极大似然法来学习贝叶斯网中的参数,其过程如图3所示。

图3 贝叶斯网集成学习

基于2.3中算法,设计相似度函数估算任意两个贝叶斯网在状态评价上的相似度,基于K均值聚类对生成的R个贝叶斯网进行聚类,将其划分为K(K

图4 基于聚类的贝叶斯网选择性集成

从每个簇中选择精度最高的贝叶斯网,进而可以得到K=4个精度高、多样性强的贝叶斯网B2、B4、B9、B10。

基于2.4中算法,使用上步选出的K个贝叶斯网作为融合模型,分别推理计算出电能表各状态的概率值。基于凸函数证据理论融合各贝叶斯网的决策结果,获得最终的状态评价结果,其过程如图5所示。

图5 结合贝叶斯网和凸函数证据理论得出的最终评价结果

4 结束语

为了对智能电表的状态进行高效而又准确的评价,课题组采取了智能电能表状态评价数据集,利用此数据集分组进行智能电能表状态评价贝叶斯网络的构建,并利用集成学习思想提高其准确度,再通过凸函数理论进行最优贝叶斯网的融合,最终得出高效准确的贝叶斯网络结构。利用贝叶斯网络对智能电表的状态评价方法相比传统智能电表检测方法节省了大量的人力和物力,降低了检测成本,同时充分利用了采集的数据,使检测结果更具科学性和准确性。实际研究表明,贝叶斯网络对于智能电能表的状态评价具有可行性,准确性也非常贴近实际检测结果。但此模型仍存在以下不足:数据离散化不一导致的精确度问题。贝叶斯网路只能处理离散数据,因此在进行预测时要先将数据进行离散化,而数据离散化有多种方法,精确度不一,该文采用的为基于信息熵的数据离散化方法。因此以后要对如何进行数据离散化进行更加深入的探究。

猜你喜欢
贝叶斯电表电能表
电能表的计算分类解析
“蹦叭”跳动电表数
法国人抗议智能电表或监控隐私
租赁房地产的多主体贝叶斯博弈研究
租赁房地产的多主体贝叶斯博弈研究
贝叶斯网络概述
贝叶斯公式的应用和推广
停电那点事儿
物理电功率专题练习
细说电能表