一种基于lof算法与混合采样的变压器故障诊断方法
技术领域
1.本发明涉及一种基于lof算法与混合采样的变压器故障诊断方法,属于变压器故障诊断技术领域。
背景技术:
2.随着国家经济的不断发展,生活水平的不断提高,社会对电力的需求量越来越大,因此,为了不影响居民正常的用电,电力系统的稳定运作便成为了运维人员日常工作中的重要组成部分,而电力变压器作为电力系统的电能转换以及能量输出的关键电气设备之一,其运行状态对电力系统的正常稳定工作有着非常直接的影响,所以保持变压器良好的运行状态需要运维人员的高度关注,一旦变压器出现故障运维人员需要快速准确的定位其故障位置并进行维护,以此来保证后续的供电可靠性。因此,电力变压器故障诊断方法的研究对指导检修工作具有重要意义。传统的油中溶解气体分析方法可有效反映出变压器的早期故障,现已在实际场景中被广泛应用,但仍存在故障数据与正常数据比例不平衡导致诊断精确度低等问题。因此本发明提出了一种基于lof算法与混合采样的变压器故障诊断方法。
技术实现要素:
3.本发明提供一种基于lof算法与混合采样的变压器故障诊断方法,用来在训练模型之前解决训练数据的类不平衡问题,并减少了采样后噪声数据的产生,保障了后续对变压器故障诊断的准确度。
4.为了实现上述发明的目的,本发明采取如下的技术方案:
5.本发明公开了一种基于lof算法与混合采样的变压器故障诊断方法,包括如下步骤:
6.s1、收集数据样本。收集油中溶解气体中的故障数据d1,d2,t1,t2和正常数据nc,得到初始的非平衡数据集。
7.s2、数据预处理。对非平衡数据集进行归一化处理,以此缩小数据集的数值范围:
8.进一步地,步骤2的具体实现:
9.将初始数据集带入归一化公式计算,公式如下:
[0010][0011]
式中z
ij
表示原始数据,代表经归一化处理后的数据;i表示样本数据个数编号;j表示特征维度序号,1~5分别表示五种气体类型数据。
[0012]
s3、为了避免影响后续模型的诊断结果,需要去除数据集中的异常值,采用lof算法分别去除故障数据和正常数据样本集中的异常值;
[0013]
进一步地,步骤3的具体实现:
[0014]
(1)计算样本点间距:对于n个待测样本,采用马氏距离来计算任意两个样本点之间的距离,马氏距离公式如下:
[0015][0016]
计算待测样本点o与其第k个局部集群点的可达距离,公式如下:
[0017]
distk(o,p)=max{distk(o),dist(o,p)}
[0018]
等式右边表示结果取该点与点o的距离和第k个集群点p与点o距离的最大值。
[0019]
(2)计算待测样本点o的局部可达密度lrd(o):
[0020][0021]
式中nk(o)表示点o的第k距离领域,即点o的第k距离及以内的所有点,包括第k距离,|nk(o)|表示为点o的第k个领域点的个数,dk(o,p)表示待测样本点o和第k个集群点p的距离。
[0022]
(3)计算局部离群因子lof,lof的值反应了某一点的可达密度与其他领域点密度之间的差异,用来作为判断待测点o是否为异常值的依据:
[0023][0024]
其中lrd(p)和lrd(o)分别表示点p和点o的局部可达密度,若lof的值越接近1,说明点o的可达密度与其领域点密度相似,若lof值小于1,说明点o的可达密度高于其领域点密度,若lof值大于1,则说明点o的可达密度低于其领域点密度,即被认为是异常值。
[0025]
s4、扩充少数类故障样本数据。采用smote算法进行过采样;
[0026]
进一步地,步骤4的具体实现:
[0027]
(1)设置故障样本数量为t,利用欧式距离计算样本间距,从故障样本中得到k个近邻样本x
i(near)
,near∈{1,...,k}。
[0028]
(2)根据不平衡比例设定一个采样倍率n,对于每一个原故障样本xi,在其k个近邻样本中随机挑选一个样本x
i(nn)
,将原故障样本和近邻故障样本按照如下公式合成新故障样本:
[0029]
x
new
=xi rand(0,1)*|x
i-x
i(nn)
|
[0030]
(3)重复上述两步步骤n次,即可合成n个新故障样本x
i(new)
,new∈{1,...,n},此时的样本集即为新故障样本集。
[0031]
s5、提取多数类正常样本数据。采用crius算法对正常样本欠采样;
[0032]
进一步地,步骤5的具体实现:
[0033]
(1)首先将数据集聚类为多个簇群,利用k-means算法将正常样本集划分成k个簇,其中k-means算法的步骤为:
[0034]
a)首先选择k个正常点作为初始质心;
[0035]
b)其次计算质心近邻的点到质心的欧式距离,将每个近邻点指派到最近的质心,形成k个簇;
[0036]
c)再根据划分的簇群更新每个簇群的质心;最后重复前两个步骤直到簇群质心不
发生移动。
[0037]
(2)在已经聚类完成的每个簇群中随机选择m个正常样本构成子集x
,其中
[0038]
(3)随后计算每个x
的信息潜力v(x),计算公式如下所示,其中表示高斯核函数:
[0039][0040]
(4)计算每个正常样本之间的交叉信息潜力v(x,y),计算公式如下所示:
[0041][0042]
(5)构建代价函数并求其最小值,找到能使上述代价函数最小化的样本子集x
,则该样本子集就是欠采样后代表正常样本的m个样本。公式如下:
[0043]
j(x
)=h2(x
) λd
cs
(x
,x
)
[0044]
其中h2(x
)为renyi二次熵用来测量正常冗余,d
cs
(x
,x
)为cs散度用来处理欠采样数据中的失真,该变量存在以下关系式:
[0045][0046][0047]dcs
(x,y)=2h2(x,y)-h2(x)-h2(y)
[0048]
根据关系式对上述代价函数进行优化得到公式如下:
[0049][0050]
其中参数λ∈r
,其主要用来控制二次采样数据中的失真程度。
[0051]
(6)更新子集x
中的样本,迭代公式如下:
[0052][0053]
其中x
k
∈x
(k∈{1,2,...,m})指子集x
中的样本,表示高斯核函数,t∈n指迭代了t次。
[0054]
(7)重复步骤(3)至(6),直到结果收敛,从而得到m个最具有代表性的正常样本。
[0055]
s6、训练模型。将二次采样过后的正常样本和故障样本整合,得到新的平衡样本集,将新的平衡样本集输入随机森林模型中训练,从而建立故障诊断模型,对变压器的低能放电(d1),高能放电(d2),中低温过热(t1),高温过热(t2)和正常数据(nc),这以上五种类型
进行分类。
[0056]
本发明的有益效果为:
[0057]
1、本发明首先利用lof算法在数据预处理阶段去除噪声等异常值,再通过组合crius算法与smote算法混合采样进行数据平衡化,充分发挥了两种算法的优势,在处理数据平衡化的同时减少了噪声数据的生成,保留了具有重要信息的数据,进而提高诊断模型的精确度,对于及时发现变压器故障具有较好的指导作用。。
[0058]
2、传统数据平衡化方法通常采用单一的过采样或欠采样来解决数据不平衡问题,但是单一采样极可能会导致重要数据丢失,同时也会增加许多无用的噪声数据,进而影响后续故障诊断模型的准确性。本发明首先在数据平衡化之前采用lof算法去除噪声或异常值,再利用crius算法与smote算法进行混合采样,以此克服传统方法带来的影响,提高诊断模型精度。
附图说明
[0059]
图1:基于lof算法与混合采样的变压器故障诊断方法流程图
具体实施方式
[0060]
下面结合附图和实施例对本发明作进一步说明。
[0061]
本实施例中,一种基于lof算法与混合采样的变压器故障诊断方法,如图一所示,包括:
[0062]
s1、由于变压器内部绝缘老化、热故障、电故障等原因会导致内部化学物质产生不同成分的气体,其中包括h2、ch4、c2h6、c2h4、c2h2等特征气体,收集油中溶解气体体积含量的故障数据和正常数据,其中包括低能放电d1,高能放电d2,中低温过热t1,高温过热t2和正常数据nc,将其作为初始数据集合z
ij
。
[0063]
s2、数据预处理。
[0064]
对非平衡数据集进行归一化处理,以此缩小数据集的数值范围;
[0065]
进一步地,步骤2的具体实现:
[0066]
将初始数据集带入归一化公式计算,公式如下:
[0067][0068]
式中z
ij
表示原始数据,代表经归一化处理后的数据;i表示样本数据个数编号;j表示特征维度序号,1~5分别表示五种气体类型数据。
[0069]
s3、去除异常值,数据集中的噪声等异常值是降低模型训练效果的重要因素之一,为了避免影响后续模型的诊断结果,采用lof(local outlier factor)算法分别去除故障数据和正常数据样本集中的异常值;
[0070]
进一步地,步骤3的具体实现:
[0071]
(1)计算样本点间距:对于n个待测样本,采用马氏距离来计算任意两个样本点之间的距离,马氏距离公式如下:
[0072][0073]
计算待测样本点o与其第k个局部集群点的可达距离,公式如下:
[0074]
distk(o,p)=max{distk(o),dist(o,p)}
[0075]
等式右边表示结果取该点与点o的距离distk(o)和第k个集群点p与点o距离dist(o,p)的最大值。
[0076]
(2)计算待测样本点o的局部可达密度lrd(o):
[0077][0078]
式中nk(o)表示点o的第k距离领域,即点o的第k距离及以内的所有点,包括第k距离,|nk(o)|表示为点o的第k个领域点的个数,dk(o,p)表示待测样本点o和第k个集群点p的距离。
[0079]
(3)计算局部离群因子lof,lof的值反应了某一点的可达密度与其他领域点密度之间的差异,用来作为判断待测点o是否为异常值的依据:
[0080][0081]
其中lrd(p)和lrd(o)分别表示点p和点o的局部可达密度,若lof的值越接近1,说明点o的可达密度与其领域点密度相似,若lof值小于1,说明点o的可达密度高于其领域点密度,若lof值大于1,则说明点o的可达密度低于其领域点密度,即被认为是异常值。
[0082]
s4、扩充故障样本数据。采用smote算法进行过采样;
[0083]
进一步地,步骤4的具体实现:
[0084]
(1)设置故障样本数量为t,利用欧式距离计算样本间距,从故障样本中得到k个近邻样本x
i(near)
,near∈{1,...,k}。
[0085]
(2)根据不平衡比例设定一个采样倍率n,对于每一个原故障样本xi,在其k个近邻样本中随机挑选一个样本x
i(nn)
,将原故障样本和近邻故障样本按照如下公式合成新故障样本:
[0086]
x
new
=xi rand(0,1)*|x
i-x
i(nn)
|
[0087]
(3)重复上述两步步骤n次,即可合成n个新故障样本x
i(new)
,new∈{1,...,n},此时的样本即为故障样本。
[0088]
s5、提取正常样本数据。采用crius算法对正常样本欠采样;
[0089]
进一步地,步骤5的具体实现:
[0090]
(1)首先将数据集聚类为多个簇群,利用k-means算法将正常样本划分成k个簇,其中k-means算法的步骤为:
[0091]
a)首先选择k个正常点作为初始质心;
[0092]
b)其次计算质心近邻的点到质心的欧式距离,将每个近邻点指派到最近的质心,形成k个簇;
[0093]
c)再根据划分的簇群更新每个簇群的质心;最后重复前两个步骤直到簇群质心不发生移动。
[0094]
(2)在已经聚类完成的每个正常簇群中随机选择m个正常样本构成子集x
,其中
[0095]
(3)随后计算每个x
的信息潜力v(x),计算公式如下所示,表示高斯核函数:
[0096][0097]
(4)计算每个正常样本之间的交叉信息潜力v(x,y),计算公式如下所示:
[0098][0099]
(5)构建并求解代价函数最小值,找到能使上述代价函数最小化的样本子集x
,则该样本子集就是欠采样后代表正常样本的m个样本。公式如下:
[0100]
j(x
)=h2(x
) λd
cs
(x
,x
)
[0101]
其中h2(x
)为renyi二次熵用来测量正常冗余,d
cs
(x
,x
)为cs散度用来处理欠采样数据中的失真,λ∈r
用于控制采样数据失真程度,该变量存在以下关系式:
[0102][0103][0104]dcs
(x,y)=2h2(x,y)-h2(x)-h2(y)
[0105]
根据关系式对上述代价函数进行优化得到公式如下:
[0106][0107]
其中参数λ∈r
,其主要用来控制二次采样数据中的失真程度。
[0108]
(6)更新子集x
中的样本,迭代公式如下:
[0109][0110]
其中x
k
∈x
(k∈{1,2,...,m})指子集x
中的样本,表示高斯核函数,t∈n指迭代了t次。
[0111]
(7)重复步骤(3)至(6),直到结果收敛,从而得到最具有代表性的m个正常样本。
[0112]
s6、训练模型。将二次采样过后的正常样本和故障样本整合,得到新的平衡样本集,将新的平衡样本集输入随机森林模型中训练,从而建立故障诊断模型,对变压器的低能放电(d1),高能放电(d2),中低温过热(t1),高温过热(t2)和正常数据(nc),这以上五种类型进行分类。
[0113]
上文所列出的一系列的详细说明仅仅是针对本发明的可行性实施方式的具体说
明,它们并非用以限制本发明的保护范围,凡未脱离本发明技术所创的等效方式或变更均应包含在本发明的保护范围之内。
转载请注明原文地址:https://tc.8miu.com/read-544.html