发明内容
为了减少基层员工现场勘查的工作量,获得配电线路线变关系的低维特征,实现线变关系模型的优化,并实现可视化,本发明提出了一种基于ReliefF和t-SNE的配电线路线变关系模型优化方法。
本发明的技术方案是:一种基于ReliefF和t-SNE的配电线路线变关系模型优化方法,包括以下步骤:
S1,将配电线路线变关系分为三类别:线路挂错类、电能表倍率计错类和正常线变类,采集配电线路的日输入电量和与该配电线路相连的各变压器用户的日用电量作为采集量,并获取各变压器的线变关系类别;
S2,对所述配电线路的日输入电量和所述各变压器的日用电量进行预处理,获得配电线路的日线损电量;
S3,由所述配电线路的日输入电量和所述各变压器的日用电量获得每日输入-用电电量差值比,由所述配电线路的日线损电量与所述各变压器的日用电量计算每日线损-用电电量差值比;
S4,对两类差值比序列分别进行小波包分解与重构,分别提取各频带信号以及计算各频带内能量占总能量的百分比,各自作为两类差值比序列的初选特征,将两个初选特征组合为线变关系的初选特征集;
S5,利用ReliefF算法计算各初选特征的权值并排序,保留权值大于阀值的初选特征,实现特征量的优化;
S6,计算高维空间内两两数据间的局部对称联合概率、联合概率、及局部对称联合概率与联合概率的散度值,采用t-SNE方法对高维特征数据进行数据降维,获取低维特征;
S7,利用所得到的低维特征,构建BP神经网络分类模型,通过选择BP神经网络的训练样本和测试样本以及参数设置,实现线变关系模型的优化。
优选地,所述步骤S2具体包括以下步骤:
S21、对步骤S1采集的用电量数据进行检查,查找各变压器用户的用电量缺失数据和用电量异常数据;
S22、若存在用电量缺失数据,当用电量缺失数据的缺失量大于采集量20%时,将在步骤S1中采集的该变压器用户的日用电量序列在样本中剔除,而对缺失量小于采集量20%的用户的用电量缺值数据以临近处均值代替;
S23、若存在用电量异常数据,当用电量数据异常值数据高于采集量20%时,将在步骤S1中采集的该变压器用户的日用电量序列在样本中剔除,而对异常量低于采集量10%的用户的用电量异常值数据以临近处均值代替,对用电量数据异常量高于采集量10%但低于采集量20%的,利用平滑修正方法对异常值数据进行修正,其方法为:设第α个变压器用户的第β个采集点的数据Pα,β为异常数据,则修正值P′α,β为:
式中:α=1,2,…r,β=1,2,…s,r代表变压器用户的总数,s代表电量数据的采集总天数,K表示向前采集的位数,L表示向后采集的位数,K1、L1取2~5,式(1)表示电量数据异常点处的修正值为从该点向前采集K1个数据和向后采集L1个数据,再取K1+L1个数据的平均值;
S24、利用预处理后的配电线路的输入电量和变压器用电量,计算每日的配电线路线损电量,计算表达式为:配电线路线损电量=配电线路输入电量-∑各变压器用电量。
优选地,所述步骤S3具体包括以下步骤:
S31、从配电线路输入电量与变压器用电量的关系出发,变压器用电量波动与配电线路输入电量波动曲线呈正相关,用户日电量差值上升,配电线路日输入电量差值也上升,则每日输入-用电电量差值比=(变压器当日用电量-变压器昨日用电量)/(配电线路当日输入电量-配电线路昨日输入电量),以日为单位,构成每日输入-用电电量差值比序列;
S32、从配电线路线损电量与变压器用电量的关系出发,变压器用电量波动与配电线路线损电量波动呈负相关,用户日电量差值下降,配电线路日输入电量差值上升,则每日线损-用电电量差值比=(变压器当日用电量-变压器昨日用电量)/(配电线路当日线损电量-配电线路昨日线损电量),以日为单位,构成每日线损-用电电量差值比序列。
优选地,所述步骤S4具体包括以下步骤:
S41、设置小波包分解层数为3,对小波包分解系数重构,提取各频带信号,用S3,ρ表示第3层节点ρ的重构信号,其中ρ=0,1,…,7;
S42、计算小波包分解到各节点上的频带能量E3,ρ,计算公式如下
其中,xρz表示重构信号S3,ρ的第z个离散点的幅值,z=1,2,…,n,n为信号离散点数,δ表示时间;
S43、构造特征向量:将各经过小波包分解的节点的频谱能量特征值构成特征向量U,并对特征向量U进行归一化处理,得到U′作为初选特征
U=[E3,0,E3,1,E3,2,…,E3,7] (3)
S44、参照步骤S41至S43,将输入-用电电量差值比和线损-用电电量差值比对应的两类差值比序列经3层小波包分解,各自得到8个初选特征,组合构成线变关系初选特征集
F=[F10,F11,F12,…,F17,F20,F21,F22,…,F27] (5)
其中,F10,F11,F12,…,F17表示输入-用电比值序列的初选特征,F20,F21,F22,…,F27表示线损-用电比值序列的初选特征。
优选地,所述步骤S5具体包括以下步骤:
S51、输入:训练样本集D(m×b),由m个样本构成,每个样本由b个特征A1,A2,…,At,…,Ab表示,线变关系初选特征数b=2×8;
S52、输出:特征权重向量W(1×b),W(At)表示特征At的权重;
S53、设置权重向量W初始值为零向量
S54、Forλ=1to m:
从样本集D中随机选择一个样本Rλ;
在Rλ的相同类别中,选择g个最近邻样本Hη;
在Rλ的每个不同类中,找出g个最近邻样本Mη;
S55、For t=1 to b,对每个特征权重进行如下更新
式(6)中,diff(At,Rλ,Hη)为样本Rλ和Hη在特征At上的距离,一般取欧式距离;P(c)为第c类样本数占样本总数的比例;class(Rλ)为样本Rλ的类别号;P(class(Rλ))为样本Rλ的类别号对应的样本数占样本总数的比例;
S56、将特征按权重大小进行排序,设定阈值,将权重低于该阈值的特征剔除,剩余特征个数为d(d<16)。
优选地,所述步骤S6具体包括以下步骤:
S61、假设线变关系样本总数为N,每个样本有16个初选特征,根据步骤S5剔除无关特征后剩余特征个数为d(d<16),构造N×d维的矩阵G作为输入数据,设定低维空间目标维数为2;设G的行对应的高维数据点为X={x1,x2,…,xN},低维映射点为Y={y1,y2,…,yN}。
S62、计算高维空间内两两数据点之间的相似性条件概率Pj|i
其中,pj|i表示点xj分布在点xi附近的条件概率,它的计算依托以点xi为中心的高斯分布的概率密度函数,σi是以点xi为中心的高斯方差,k值为以xi为中心的有效最近邻点数,可得pi|i=0;
S63、观测空间任意两点xi、xj的相似性度量,用局部对称联合概率分布pij表示
S64、计算低维空间内两点之间的联合概率qij
其中,yi、yj是高维数据点xi、xj在低维空间中的映射点,l值为以xj为中心的有效最近邻点数,可得qii=0;
S65、KL散度是描述两个概率分布P和Q差异的一种方法,为描述pij与qij分布的差异,计算pij和qij的KL散度;t-SNE方法采用联合概率分布来表示点对间的相似度,通过最小化KL散度目标函数得到降维后低维空间中样本的分布,KL散度目标函数C的表达式如下:
S66、利用随机梯度下降方法优化迭代,梯度计算式如下
迭代表达式如下:
其中,
为梯度值、Y
(a)表示第a次迭代的解、a为迭代次数、θ为学习率、
为第a次迭代的动量项;
S67、迭代循环步骤S64-S66,直到迭代次数a从1到预设值T,最后得到低维数据Y(T)={y1,y2,…,yN}。
与现有技术相比,本发明具有以下有益效果:
1、本发明能实现线变关系的特征提取、特征优选和维数缩减,以所得的低维特征为基础,构建BP神经网络分类模型,实现线变关系模型的优化;
2、相比传统的通过人工现场勘查确定线变关系错误的变压器用户,本发明可以结合训练BP神经网络分类器,得到高精度的线变关系模型,实现智能化分类,快速有效地梳理各个配电线路的线变关系,准确定位线变关系错误的变压器用户,极大的减轻了基层员工现场勘查的工作量,提高同期线损治理效率。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
本发明实施例提供了一种基于ReliefF和t-SNE的配电线路线变关系模型优化方法,具体步骤包括:
步骤S1,将配电线路线变关系分为三类别:线路挂错类、电能表倍率计错类和正常线变类,采集配电线路的日输入电量和与该配电线路相连的各变压器用户的日用电量作为采集量,并获取各变压器的线变关系类别;
采集周期至少应为1个月,不超过3个月;变压器用电量包括高压专变用户用电量和台区变压器用电量之和;
步骤S2,数据预处理,计算配电线路日线损电量;
S21、对步骤S1采集的用电量数据进行检查,查找各变压器用户的用电量缺失数据和用电量异常数据;
S22、若存在用电量缺失数据,当用电量缺失数据的缺失量大于采集量20%时,将在步骤S1中采集的该变压器用户的日用电量序列在样本中剔除,而对缺失量小于采集量20%的用户的用电量缺值数据以临近处均值代替;
S23、若存在用电量异常数据,当用电量数据异常值数据高于采集量20%时,将在步骤S1中采集的该变压器用户的日用电量序列在样本中剔除,而对异常量低于采集量10%的用户的用电量异常值数据以临近处均值代替,对用电量数据异常量高于采集量10%但低于采集量20%的,利用平滑修正方法对异常值数据进行修正,其方法为:设第α个变压器用户的第β个采集点的数据Pα,β为异常数据,则修正值P′α,β为:
式中:α=1,2,…r,β=1,2,…s,r代表变压器用户的总数,s代表电量数据的采集总天数,K表示向前采集的位数,L表示向后采集的位数,K1、L1取2~5,式(1)表示电量数据异常点处的修正值为从该点向前采集K1个数据和向后采集L1个数据,再取K1+L1个数据的平均值;
S24、利用预处理后的配电线路输入电量和各变压器的用电量,计算每日的配电线路线损电量,计算表达式如下
配电线路线损电量=配电线路输入电量-∑各变压器用电量
步骤S3,分别从配电线路的输入电量与该配电线路所挂接的变压器的用电量以及配电线路的线损电量与该配电线路所挂接的变压器的用电量的关系出发,计算每日的输入-用电电量差值比以及线损-用电电量差值比;
S31、从配电线路输入电量与变压器用电量的关系出发,变压器用电量波动与配电线路输入电量波动呈正相关,用户日电量差值上升,配电线路日输入电量差值也上升,则每日输入-用电电量差值比=(变压器当日用电量-变压器昨日用电量)/(配电线路当日输入电量-配电线路昨日输入电量),以日为单位,构成每日输入-用电电量差值比序列;
S32、从配电线路线损电量与变压器用电量的关系出发,变压器用电量波动与配电线路线损电量波动呈负相关,用户日电量差值下降,配电线路日输入电量差值上升,则每日线损-用电电量差值比=(变压器当日用电量-变压器昨日用电量)/(配电线路当日线损电量-配电线路昨日线损电量),以日为单位,构成每日线损-用电电量差值比序列;
步骤S4,对两类差值比序列分别进行小波包分解与重构,计算出各频带内能量占总能量的百分比,并将其作为初选特征;
S41、设置小波包分解层数为3,对小波包分解系数重构,提取各频带信号,用S3,ρ表示第3层节点ρ的重构信号,其中ρ=0,1,…,7;
S42、计算小波包分解到各节点上的频带能量E3,ρ,计算公式如下
其中,xρz表示重构信号S3,ρ的第z个离散点的幅值,z=1,2,…,n,n为信号离散点数,δ表示时间;
S43、构造特征向量:将各经过小波包分解的节点的频谱能量特征值构成特征向量U,并对特征向量U进行归一化处理,得到U′作为初选特征
U=[E3,0,E3,1,E3,2,…,E3,7] (3)
S44、参照步骤S41至S43,将输入-用电电量差值比和线损-用电电量差值比对应的两类差值比序列经3层小波包分解,各自得到8个初选特征,组合构成线变关系初选特征集
F=[F10,F11,F12,…,F17,F20,F21,F22,…,F27] (5)
其中,F10,F11,F12,…,F17表示输入-用电比值序列的初选特征,F20,F21,F22,…,F27表示线损-用电比值序列的初选特征。
步骤S5,利用ReliefF算法计算各初选特征的权值,剔除对分类效果影响不大(权值较小)的特征,实现特征量的优化;
ReliefF算法是一种特征量权值算法,其作用是根据各个特征量和类别的相关性赋予特征量不同的权值,也可以根据计算结果将权重小于某个阈值的特征量移除,以实现特征量的优化。ReliefF的伪代码实现如下:
S51、输入:训练样本集D(m×b),由m个样本构成,每个样本由b个特征A1,A2,…,At,…,Ab表示,其中线变关系的初选特征数b=2×8=16;
S52、输出:特征权重向量W(1×b),W(At)表示特征At的权重。
S53、设置权重向量W初始值为零向量
S54、Forλ=1to m:
从样本集D中随机选择一个样本Rλ;
在Rλ的相同类别中,选择g个最近邻样本Hη;
在Rλ的每个不同类中,找出g个最近邻样本Mη;
S55、For t=1to b,对每个特征权重进行如下更新
式(6)中,diff(At,Rλ,Hη)为样本Rλ和Hη在特征At上的距离(一般取欧式距离);P(c)为第c类样本数占样本总数的比例;class(Rλ)为样本Rλ的类别号;P(class(Rλ))为样本Rλ的类别号对应的样本数占样本总数的比例;
S56、将特征按权重大小进行排序,设定阈值,将权重低于该阈值的特征剔除,剩余特征个数为d(d<16)。
步骤S6,采用t-SNE方法对优化后的高维特征数据进行数据降维,获取低维特征。
t-SNE引入具有对称性的联合概率表达原空间中的数据相似度,利用高维空间的数据点与其对应的低维空间的数据点之间的联合概率代替相似性条件概率,通过最小化Kullback-Leibler散度目标函数得到降维后低维空间样本分布。具体步骤如下:
S61、假设线变关系样本总数为N,构造N×d维的矩阵G作为输入数据,设定低维空间目标维数为2;设G的行对应的高维数据点为X={x1,x2,…,xN},低维映射点为Y={y1,y2,…,yN}。
S62、计算高维空间内两两数据点之间的相似性条件概率Pj|i
其中,pj|i表示点xj分布在点xi附近的条件概率,它的计算依托以点xi为中心的高斯分布的概率密度函数,σi是以点xi为中心的高斯方差,k值为以xi为中心的有效最近邻点数,可得pi|i=0;
S63、观测空间任意两点xi、xj的相似性度量,用局部对称联合概率分布pij表示
S64、计算低维空间内两点之间的联合概率qij
其中,yi、yj是高维数据点xi、xj在低维空间中的映射点,l值为以xj为中心的有效最近邻点数,可得qii=0;
S65、KL散度是描述两个概率分布P和Q差异的一种方法,为描述pij与qij分布的差异,计算pij和qij的KL散度;t-SNE方法采用联合概率分布来表示点对间的相似度,通过最小化KL散度目标函数得到降维后低维空间中样本的分布,KL散度目标函数C的表达式如下:
S66、利用随机梯度下降方法优化迭代,梯度计算式如下
迭代表达式如下:
其中,
为梯度值、Y
(a)表示第a次迭代的解、a为迭代次数、θ为学习率、
为第a次迭代的动量项;
S67、迭代循环步骤S64-S66,直到迭代次数a从1到T(预设值),最后得到低维数据Y(T)={y1,y2,…,yN}。
步骤S7,利用所得到的低维特征,构建BP神经网络分类模型,实现线变关系模型的优化。
S71、BP神经网络的结构和参数设计:利用软件MatlabR2017a自带的神经网络工具箱,建立含单隐含层的BP神经网络,即1个输入层,1个隐含层,1个输出层;BP神经网络的输入层节点数等于通过步骤S6特征降维后得到的低维特征的维度,即为2;BP神经网络的输出层节点数等于预测结果(或分类结果)的类别数,由于线变关系样本可分为线路挂错、电能表倍率计错以及正常线变共3类,则输出层节点数为3;BP神经网络的隐含层节点数由经验表达式
决定,随机量τ=1~10,在训练过程中通过反复调试τ的值以最终确定最适合的隐含层节点数,其中u表示输入层节点数、v表示输出层节点数、τ表示随机量;输入层和隐含层的传递函数设为正切函数tan-sigmoid,输出层的传递函数为线性函数pureline;
S72、BP神经网络的训练样本和测试样本选择:通过步骤S6得到一个由低维特征构成的样本数据集,将其划分为训练样本集和测试样本集;随机选择70%的样本用于训练,其余样本用于测试;为了提高结果的可信度,采用10折交叉验证,即将训练样本集随机划分为10个等份,每次选取1个等份的样本用于测试,其余9个等份用于训练,直至每个等份的样本都被用作测试集一次为止,并记录每次试验得到的相应正确率,再计算平均正确率;
S73、BP神经网络的训练参数设置:训练前,先对低维特征进行归一化处理,直接调用BP神经网络的’mapminmax’最大最小归一化函数;BP神经网络的目标输出采用二进制方法表示,三类线变关系样本(线路挂错,变比计错,正常线变)的输出分别为(1 0 0)、(0 10)、(0 0 1);训练函数采用“traingdx”,阈值和权值的学习函数采用梯度下降动量函数“learngdm”,学习率取0.01,性能函数采用均方差函数“mse”;迭代次数设为1000次,训练目标误差为1e-8;连续进行10次10折交叉验证,并记录每次10折交叉验证的平均正确率;
在本发明实施例的一个具体应用场景中,以某区域7条10kV配电线路及其所挂接的129个变压器用户(包括专变、公变)为例,采集为期一个月的配电线路日输入电量数据和挂接在相应配电线路上的变压器用电量数据。结合实际情况,变压器用户线变关系错误主要表现在两个方面:用户挂接在错误的配电线路上和系统记录的电能表倍率与现场不符,简称线路挂错和电能表倍率计错。
步骤S1,将配电线路线变关系分为三类别:线路挂错类、电能表倍率计错类和正常线变类,采集配电线路的日输入电量和与该配电线路相连的各变压器用户的日用电量作为采集量,并获取各变压器的线变关系类别;
通过电网公司的用户电量采集系统,获得在一个月内这7条10kV配电线路的每日输入电量,以及其所挂接129个有效变压器用户的每日用电量;由于这7条配电线路为电网公司的线损治理示范线路,因此同时获取了各变压器的线变关系所属类别,本例129个变压器用户的线变关系分布情况如表1所示
表1线变关系分布情况
步骤S2,对所述配电线路的日输入电量和所述各变压器的日用电量进行预处理,获得配电线路的日线损电量;
通过步骤S1,得到7条配电线路的日输入电量序列和129个变压器用户的日用电量序列,以其中一条A线为例,电量数据情况如表2所示
表2 A线30天电量数据和线变关系
步骤S2的具体步骤如S21-S24所示:
S21、对步骤S1采集的7条配电线路的日输入电量序列和129个变压器用户的日用电量序列进行检查,查找缺失和异常数据;
S22、缺失数据处理情况:7条配电线路的日输入电量序列均无缺失数据;25个变压器的日用电量序列存在小于20%的数据缺失,取临近两点处的均值予以替代;
S23、异常数据处理情况;7条配电线路的日输入电量序列均无异常数据;13个变压器的日用电量序列存在10%~20%的数据异常,对每个异常点,利用平滑修正表达式计算修正值,其方法为:设第α个变压器用户的第β个采集点的数据Pα,β为异常数据,则修正值P′α,β为:
式中:α=1,2,…r,β=1,2,…s,r代表变压器用户的总数,s代表电量数据的采集总天数,K表示向前采集的位数,L表示向后采集的位数,K1、L1取2~5,式(1)表示电量数据异常点处的修正值为从该点向前采集K1个数据和向后采集L1个数据,再取K1+L1个数据的平均值;在本实施例中r取129,s取30,K1、L1均取3;
S24、利用预处理后的配电线路输入电量和各变压器的用电量,计算每日的配电线路线损电量,计算表达式为:配电线路线损电量=配电线路输入电量-∑各变压器用电量,如A线变压器1在第1日的线损电量由42320-(1560+211.6+788.2+…)=10971.7得到。
步骤S3,由所述配电线路的日输入电量和所述各变压器的日用电量获得每日输入-用电电量差值比,由所述配电线路的日线损电量与所述各变压器的日用电量计算每日线损-用电电量差值比;
具体计算表达式如步骤S31-S32所示,并以A线变压器1为例进行两类差值比计算,则其余变压器的差值比计算同理进行;
S31、从配电线路输入电量与变压器用电量的关系出发,变压器用电量波动与配电线路输入电量波动呈正相关,用户日电量差值上升,配电线路日输入电量差值也上升,则每日输入-用电电量差值比=(变压器当日用电量-变压器昨日用电量)/(配电线路当日输入电量-配电线路昨日输入电量),以日为单位,构成每日输入-用电电量差值比序列;以A线变压器1为例,其每日输入-用电电量差值比序列的计算过程为:(1236-1560)/(43720-42320),(1452-1236)/(37440-43720),…,(1031.56-1276)/(38799-40274);
S32、从配电线路线损电量与变压器用电量的关系出发,变压器用电量波动与配电线路线损电量波动呈负相关,用户日电量差值下降,配电线路日输入电量差值上升,则每日线损-用电电量差值比=(变压器当日用电量-变压器昨日用电量)/(配电线路当日线损电量-配电线路昨日线损电量),以日为单位,构成每日线损-用电电量差值比序列。以A线变压器1为例,其每日线损-用电电量差值比序列的计算过程为:(1236-1560)/(10543.8-10971.7),(1452-1236)/(10370.95-10543.8),…,(1031.56-1276)/(9112.2-9862.33)。
步骤S4,对两类差值比序列分别进行小波包分解与重构,分别提取各频带信号以及计算各频带内能量占总能量的百分比,分别作为两类差值比序列的初选特征,将两个初选特征组合为线变关系的初选特征集;
该步骤通过在软件MATLAB R2017a中编辑循环程序实现,选取db6小波函数分别对两类比值信号依次进行3层小波包分解并得到初选特征集,具体步骤如下S41-S44所示:
S41、设置小波包分解层数为3,对小波包分解系数重构,提取各频带信号,用S3,ρ表示第3层节点ρ的重构信号,其中ρ=0,1,…,7。
S42、计算小波包分解到各节点上的频带能量E3,ρ,计算公式如下
其中,xρz表示重构信号S3,ρ的第z个离散点的幅值,z=1,2,…,n,n为信号离散点数,δ表示时间;
S43、构造特征向量:将各经过小波包分解的节点的频谱能量特征值构成特征向量U,并对特征向量U进行归一化处理,得到U′作为初选特征
U=[E3,0,E3,1,E3,2,…,E3,7] (3)
S44、参照步骤S41至S43,将输入-用电电量差值比和线损-用电电量差值比对应的两类差值比序列经3层小波包分解,各自得到8个初选特征,组合构成线变关系初选特征集
F=[F10,F11,F12,…,F17,F20,F21,F22,…,F27] (5)
其中,F10,F11,F12,…,F17表示输入-用电比值序列的初选特征,F20,F21,F22,…,F27表示线损-用电比值序列的初选特征。
对129个变压器对应的输入-用电电量差值比序列和线损-用电电量差值比序列,分别执行S41-S44的小波包分解和能量特征提取,得到2×8个初选特征,即得到129×16的数据集,如表3所示
表3经3层小波包分解得到的初选特征集
步骤S5,利用ReliefF算法计算各初选特征的权值并排序,保留权值大于阀值的初选特征,实现特征量的优化;
该步骤5于软件MATLAB R2017a中进行,软件自带ReliefF算法,其实现步骤如下:
S51、输入:训练样本集D(129×16),由129个样本构成,每个样本由16个特征F10,F11,F12,…,F17,F20,F21,F22,…,F27构成,线变关系类别标签定义如下:1为线路挂错,2为电能表倍率计错,3为正常线变;
S52、输出:特征权重向量W(1×16),W(At)表示特征At的权重;
S53、设置权重向量W初始值为零向量
S54、Forλ=1to m:
从样本集D中随机选择一个样本Rλ;
在Rλ的相同类别中,选择g个最近邻样本Hη;
在Rλ的每个不同类中,找出g个最近邻样本Mη;
S55、For t=1to b,对每个特征权重进行如下更新
式(6)中,diff(At,Rλ,Hη)为样本Rλ和Hη在特征At上的欧式距离;P(c)为第c类样本数占样本总数的比例;class(Rλ)为样本Rλ的类别号;P(class(Rλ))为样本Rλ的类别号对应的样本数占样本总数的比例;
S56、将特征按权重大小进行排序,设定阈值,将权重低于该阈值的特征剔除,剩余特征个数为d(d<16)。
步骤S51-S56可由MATLAB R2017a中自带ReliefF算法一步实现,该算法在软件中的调用语句为“help ReliefF”,且本次测试不改变源代码所设的默认参数;
考虑到ReliefF算法在运行过程中会选择随机样本,导致结果权值有一定出入,为使实验结果更可靠,使用MATLAB R2017b自带ReliefF函数连续重复20次特征权值计算,再计算各特征平均权值。
经计算,各特征的平均权值分布情况如表4所示
表4特征权值降序表
特征 |
平均权值 |
特征 |
平均权值 |
F<sub>10</sub> |
0.0228 |
F<sub>25</sub> |
0.0094 |
F<sub>21</sub> |
0.0199 |
F<sub>14</sub> |
0.00862 |
F<sub>17</sub> |
0.0178 |
F<sub>26</sub> |
0.00815 |
F<sub>11</sub> |
0.0156 |
F<sub>22</sub> |
0.0047 |
F<sub>23</sub> |
0.0144 |
F<sub>12</sub> |
0.0027 |
F<sub>13</sub> |
0.0125 |
F<sub>24</sub> |
0.002 |
F<sub>16</sub> |
0.011 |
F<sub>27</sub> |
0.0011 |
F<sub>20</sub> |
0.0107 |
F<sub>15</sub> |
0.0001 |
根据表4,以0.005为权值的阈值,则F22、F12、F24、F27、F15的权值相对更小,说明这些特征对分类的影响较小,应予以剔除。因此得到优化后的特征集如下
Fˊ=[F10、F11、F13、F14、F16、F17、F20、F21、F23、F25、F26]
步骤S6,计算各初选特征高维空间内两两数据间的局部对称联合概率、联合概率、及局部对称联合概率与联合概率的散度值,采用t-SNE方法对高维特征数据进行数据降维,获取低维特征;
该步骤S6于软件MATLAB R2017a中进行,软件自带t-SNE算法,其实现步骤如下:
S61、线变关系样本总数为129,每个样本有16个初选特征,根据步骤S5剔除无关特征后剩余特征个数为11,具体特征如下
Fˊ=[F10、F11、F13、F14、F16、F17、F20、F21、F23、F25、F26]
构造129×11维的矩阵G作为输入数据,设定低维空间目标维数为2;设G的行对应的高维数据点为X={x1,x2,…,x129},低维映射点为Y={y1,y2,…,y129}。
S62、计算高维空间内两两数据点之间的相似性条件概率Pj|i
其中,pj|i表示点xj分布在点xi附近的条件概率,它的计算依托以点xi为中心的高斯分布的概率密度函数,σi是以点xi为中心的高斯方差,k值为以xi为中心的有效最近邻点数,可得pi|i=0;
S63、观测空间任意两点xi、xj的相似性度量,用局部对称联合概率分布pij表示
S64、计算低维空间内两点之间的联合概率qij
其中,yi、yj是高维数据点xi、xj在低维空间中的映射点,l值为以xj为中心的有效最近邻点数,可得qii=0;
S65、KL散度是描述两个概率分布P和Q差异的一种方法,为描述pij与qij分布的差异,计算pij和qij的KL散度;t-SNE方法采用联合概率分布来表示点对间的相似度,通过最小化KL散度目标函数得到降维后低维空间中样本的分布,KL散度目标函数C的表达式如下:
S66、利用随机梯度下降方法优化迭代,梯度计算式如下
迭代表达式如下:
其中,
为梯度值、Y
(a)表示第a次迭代的解、a为迭代次数(默认设置500次)、θ为学习率(默认设置0.01)、
为第a次迭代的动量项;
S67、迭代循环步骤S64-S66,直到迭代次数a从1到500,最后得到低维数据Y(500)={y1,y2,…,yN}。
步骤S61-S67可由MATLAB R2017a中自带tSNE算法一步实现,该算法在软件中的调用语句为“help t-SNE”,且本次测试不改变源代码所设的默认参数;使用MATLAB R2017b中自带的t-SNE函数进行降维,得到的2维特征如表5所示
表5低维特征结果
同时,对降维结果进行可视化,可视化结果如图2所示,其中“o”表示“线路接错”类样本,“.”表示“电能表倍率计错”类样本,“*”表示“正常线变”类样本,横坐标表示低维特征1,纵坐标表示低维特征2。从图2中可以看出,通过t-SNE降维处理后的3类样本的数据分离程度较高,数据点分布重叠程度较低,可以较好的区分3类样本,如图3所示,说明所提出的基于ReliefF和t-SNE算法的线变关系特征提取方法可以有效地提取电量数据特征。
S7,利用所得到的低维特征,构建BP神经网络分类模型,实现线变关系模型的优化。
该步骤S7于软件MATLAB R2017a中进行,利用神经网络工具箱构建BP神经网络分类模型,其构建步骤如下:
S71、BP神经网络的结构和参数设计:利用软件MatlabR2017a自带的神经网络工具箱,建立含单隐含层的BP神经网络,即1个输入层,1个隐含层,1个输出层;BP神经网络的输入层节点数等于通过步骤S6特征降维后得到的低维特征的维度,即为2;BP神经网络的输出层节点数等于预测结果(或分类结果)的类别数,由于线变关系样本可分为线路挂错、电能表倍率计错以及正常线变共3类,则输出层节点数为3;BP神经网络的隐含层节点数由经验表达式
决定,随机量τ=1~10,在训练过程中通过反复调试τ的值以最终确定最适合的隐含层节点数,其中u表示输入层节点数、v表示输出层节点数、τ表示随机量,经调试,隐含层节点数设置为10;输入层和隐含层的传递函数设为正切函数tan-sigmoid,输出层的传递函数为线性函数pureline;
S72、BP神经网络的训练样本和测试样本选择:通过步骤S6得到一个由低维特征构成的129×2样本数据集,将其划分为训练样本集和测试样本集;随机选择70%的样本用于训练,其余样本用于测试,每次样本选取的训练样本和测试样本的数目分布要求如表6所示
表6训练样本和测试样本分布情况
为了提高结果的可信度,采用10折交叉验证,即将训练样本集随机划分为10个等份,每次选取1个等份的样本用于测试,其余9个等份用于训练,直至每个等份的样本都被用作测试集一次为止,并记录每次试验得到的相应正确率,再计算平均正确率;
S73、BP神经网络的训练参数设置:训练前,先对低维特征进行归一化处理,直接调用BP神经网络的’mapminmax’最大最小归一化函数,调用语句为“help mapminmax”;BP神经网络的目标输出采用二进制方法表示,三类线变关系样本(线路挂错,变比计错,正常线变)的输出分别为(1 0 0)、(0 1 0)、(0 0 1);训练函数采用“traingdx”,阈值和权值的学习函数采用梯度下降动量函数“learngdm”,学习率取0.01,性能函数采用均方差函数“mse”;迭代次数设为1000次,训练目标误差为1e-8,连续进行10次10折交叉验证,并记录每次10折交叉验证的平均正确率,表7给出了10次10折交叉验证的最优正确率和平均正确率情况。
表7分类精度情况
|
最优分类精度/% |
平均分类精度/% |
总体样本 |
82.67 |
81.33 |
线路挂错样本 |
72 |
68.21 |
变比计错样本 |
68.5 |
65.17 |
正常线变样本 |
87.27 |
85.09 |
由表7可知,得到的2维特征作为BP神经网络的输入向量,经过训练可以得到较好的分类性能,验证了所提方法的有效性和可行性。在实际应用中,电网公司可以先通过所提基于ReliefF和t-SNE的配电线路线变关系模型优化方法,初步确认出疑似属于线路挂错、电能表倍率计错的变压器用户,然后由工作人员进行专项调查,可以极大的节省人力消耗,提高线损治理效率。
最后应说明的是:以上所述的各实施例仅用于说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述实施例所记载的技术方案进行修改,或者对其中部分或全部技术特征进行等同替换;而这些修改或替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。