一种基于稀疏表示和SVM的光伏发电阵列故障诊断与分类的方法转让专利

申请号 : CN201811591020.5

文献号 : CN109672406B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 林培杰程树英郑艺林俞金玲陈志聪吴丽君郑茜颖

申请人 : 福州大学

摘要 :

本发明涉及一种基于稀疏表示和SVM的光伏发电阵列故障诊断与分类的方法,首先采集光伏阵列不同工作状态下多组温照度的电流样本信号;接着对每个电流样本信号进行归一化处理,构造训练样本矩阵;然后实验探索K‑SVD算法学习过完备字典的参数设置,并分别学习正常字典、单组串1个组件短路字典及单组串一个组件开路字典和单组串2个组件短路字典;接着调用OMP算法,用学习的四种字典重构每一类的电流信号,并计算出原电流信号和重构信号的均方根误差,并可以得到多个特征向量;最后设置SVM的参数,由特征向量训练故障分类器以实现光伏阵列的故障诊断和分类。本发明不需要其他的数据特征,且能在不影响光伏发电系统工作的情况下进行故障检测与分类。

权利要求 :

1.一种基于稀疏表示和SVM的光伏发电阵列故障诊断与分类的方法,其特征在于:包括以下步骤:步骤S1:采集光伏阵列不同工作状态下多组温照度的电流样本信号;其中不同工作状态包括正常、单组串1个组件短路、单组串一个组件开路以及单组串2个组件短路;

步骤S2:对每个电流样本信号进行归一化处理,构造训练样本矩阵;

步骤S3:实验探索K-SVD算法学习过完备字典的参数设置,包括训练样本矩阵的行数N、列数M、每类字典的词汇量K、稀疏度L、以及迭代次数n;其中,行数N即为样本信号的维度,列数N即为样本信号的个数;

步骤S4:基于步骤S3设置好参数的K-SVD算法,从正常样本矩阵、单组串1个组件短路样本矩阵、单组串一个组件开路样本矩阵和单组串2个组件短路中分别学习正常字典、单组串

1个组件短路字典及单组串一个组件开路字典和单组串2个组件短路字典;

步骤S5:调用OMP算法,用学习的四种字典重构每一类的电流信号,并计算出原电流信号和重构信号的均方根误差;

步骤S6:由4个均方根误差组成维度为4的特征向量,每一类的多组电流信号可以得到多个特征向量;

步骤S7:设置SVM的参数,由特征向量训练故障分类器以实现光伏阵列的故障诊断和分类;

其中,步骤S5中,采用下式来计算原电流信号和重构信号的均方根误差:式中,x(n)表示电流样本信号,N表示了该电流信号的维度,yi(n)表示第i类字典重构信号。

2.根据权利要求1所述的一种基于稀疏表示和SVM的光伏发电阵列故障诊断与分类的方法,其特征在于:步骤S2具体为:将阵列电流除以短路电流,经过归一化处理可以消除不同温照度的影响,其中归一化的公式如下:ipv(t)=Ipv(t)/ISC(t)

式中,Ipv(t)为采集的阵列电流样本信号,ISC(t)表示阵列短路电流信号,ipv(t)表示归一化后的阵列电流样本信号。

3.根据权利要求1所述的一种基于稀疏表示和SVM的光伏发电阵列故障诊断与分类的方法,其特征在于:步骤S3中,所述参数设置具体为:四种训练信号样本矩阵的行数N和列数M都分别为40和90;单组串1个组件短路字典的词汇量K为60,稀疏值L为4;单组串一个组件开路字典的词汇量K为55,稀疏值L为2;正常字典的词汇量K为60,稀疏值L为3;单组串2个组件短路字典的词汇量K为60,稀疏值L为4。

4.根据权利要求1所述的一种基于稀疏表示和SVM的光伏发电阵列故障诊断与分类的方法,其特征在于:步骤S4具体为:步骤S41:样本信号xi在字典D下的稀疏表示转化为下式的优化问题:式中,D∈RN×k为字典矩阵,K为字典的词汇量,λ为正则化参数;ai∈RK为样本xi的稀疏表示系数;式子的前半部分表示尽可能地重构样本信号,式子的后半部分则使尽量稀疏;其中,采用变量交替优化的方法对上式进行求解;

步骤S42:以ai为初始值更新字典D,这就是字典学习的过程;这里采用的字典学习方法是基于逐列更新策略的K-SVD算法:步骤S43:反复迭代步骤S42,最终得到字典D和样本的xi的稀疏表示。

5.根据权利要求1所述的一种基于稀疏表示和SVM的光伏发电阵列故障诊断与分类的方法,其特征在于:步骤S7中,所述设置SVM的参数具体为:将惩罚因子C设置为1000,将两个不同类别的支持向量到超平面的距离之和γ为设置为10。

说明书 :

一种基于稀疏表示和SVM的光伏发电阵列故障诊断与分类的

方法

技术领域

[0001] 本发明涉及光伏发电故障诊断和分类技术领域,特别是一种基于稀疏表示和 SVM的光伏发电阵列故障诊断与分类的方法。

背景技术

[0002] 太阳能因其清洁、无污染和永不枯竭等特点已经成为解决全球能源紧缺,环境污染等问题的战略手段。而作为太阳能应用的最主要形式,光伏发电得到了快速的发展。直流侧光伏阵列是光伏发电系统中能量采集的核心部分,通常工作在复杂的户外环境中,易受到各种环境因素的影响而引起不同的故障。但由于光伏阵列输出特性的非线性、故障电流较低等因素的影响,传统保护器件往往失效。故障的存在不仅使光伏阵列发电效率显著降低,还将缩短光伏组件工作寿命甚至产生火灾隐患。所以对光伏系统的工作状态进行监控,实时地对出现的故障进行检测并发出警告,可以降低因光伏阵列故障带来的能量损失,防止出现安全事故,具有重要的意义。
[0003] 典型的故障检测方法有对地电容检测法,时域反射分析法,红外热成像等。对地电容检测法是根据对光伏组串的对地电容的测量来判断其是否发生断路并定位故障。时域反射分析法是向光伏组串注入一个脉冲,对返回信号的形状和延迟时间进行分析以此判断光伏组串中是否存在故障。对地电容测量法和时域反射分析法都需要进行离线检测,缺乏实时性,这样会耗费大量的人力和财力。而工作于正常状态和故障状态下的太阳电池会有存在明显的温差,故还可以采用红外热成像分析法进行故障诊断。红外热成像分析法虽然可以高效的进行故障诊断,但必须配备大量的红外摄像仪,经济成本高,难以得到推广。
[0004] 随着人工智能的快速发展,学者们提出了运用支持向量机,神经网络,决策树等基于机器学习算法的故障诊断方案,这也是目前应用最为广泛的故障诊断和分类方法。该方法具有较强的自学习能力,鲁棒性强,准确率高,能实现较多类型的故障诊断和分类。目前大多数的机器学习算法是基于光伏阵列最大功率点电流IMPP,最大功率点电压VMPP,短路ISC,开路电压VOC和温照度G,环境温度T 等变量作为特征进行训练学习,探索新的特征向量是研究光伏阵列故障诊断的要解决的重要问题,而精确的模型要求多维的数据,模型训练时间长,环境的不断变换也给模型的准确性带来了挑战。
[0005] 目前,公开发表的文献及专利中尚未见有将稀疏表示理论结合SVM应用于发电阵列的故障诊断和分类的研究。

发明内容

[0006] 有鉴于此,本发明的目的是提出一种基于稀疏表示和SVM的光伏发电阵列故障诊断与分类的方法,不需要其他的数据特征,且能在不影响光伏发电系统工作的情况下进行故障检测与分类。
[0007] 本发明采用以下方案实现:一种基于稀疏表示和SVM的光伏发电阵列故障诊断与分类的方法,包括以下步骤:
[0008] 步骤S1:采集光伏阵列不同工作状态下多组温照度的电流样本信号;其中不同工作状态包括正常、单组串1个组件短路、单组串一个组件开路以及单组串2 个组件短路;并分别记为正常,短路1,开路1和短路2;
[0009] 步骤S2:对每个电流样本信号进行归一化处理,构造训练样本矩阵;
[0010] 步骤S3:实验探索K-SVD算法学习过完备字典的参数设置,包括训练样本矩阵的行数N、列数M、每类字典的词汇量K、稀疏度L、以及迭代次数n;其中,行数N即为样本信号的维度,列数N即为样本信号的个数;
[0011] 步骤S4:基于步骤S3设置好参数的K-SVD算法,从正常样本矩阵、单组串1 个组件短路样本矩阵、单组串一个组件开路样本矩阵和单组串2个组件短路中分别学习正常字典、单组串1个组件短路字典及单组串一个组件开路字典和单组串2 个组件短路字典;
[0012] 步骤S5:调用OMP算法,用学习的四种字典重构每一类的电流信号,并计算出原电流信号和重构信号的均方根误差;
[0013] 步骤S6:由4个均方根误差组成维度为4的特征向量,每一类的多组电流信号可以得到多个特征向量;
[0014] 步骤S7:设置SVM的参数,由特征向量训练故障分类器以实现光伏阵列的故障诊断和分类。
[0015] 本发明只采集了不同温照度下的正常和故障的电流信号,分析电流信号和学习字典重构该信号的误差构造特征向量,用SVM训练故障分类模型,实现了光伏发电阵列的故障诊断和分类,这种检测方案环境适用性强,且用稀疏表示提取的特征向量简单快捷,训练的模型能实现较高精度的故障诊断和分类。
[0016] 进一步地,步骤S2具体为:将阵列电流除以短路电流,经过归一化处理可以消除不同温照度的影响,其中归一化的公式如下:
[0017] ipv(t)=Ipv(t)/ISC(t)
[0018] 式中,Ipv(t)为采集的阵列电流样本信号,ISC(t)表示阵列短路电流信号,ipv(t) 表示归一化后的阵列电流样本信号。经过归一化处理之后的样本电流信号只反映了在不同工作状态下阵列电流的变化趋势。
[0019] 较佳的,步骤S2中,所述的电流信号训练样本矩阵包括正常样本矩阵,短路 1样本矩阵、开路1样本矩阵和短路2样本矩阵。训练样本矩阵记为 X=[x1,x2,...xi]∈RN×M,其中xi是一个样本信号,N是样本矩阵的行数,即样本信号的长度。每个样本信号的采集时间t=10s固定,所以样本信号的维度取决于数据采集频率。M代表样本信号的数目。故障(短路1,开路1和短路2)样本信号包含了阵列电流由正常到故障再到故障稳定的过程,捕获故障发生时阵列电流的变化特性。
[0020] 进一步地,步骤S3中,所述参数设置具体为:四种训练信号样本矩阵的行数 N和列数M都分别为40和90;单组串1个组件短路字典的词汇量K为60,稀疏值 L为4;单组串一个组件开路字典的词汇量K为55,稀疏值L为2;正常字典的词汇量K为60,稀疏值L为3;单组串2个组件短路字典的词汇量K为60,稀疏值 L为4。
[0021] 进一步地,步骤S4具体为:
[0022] 步骤S41:样本信号xi在字典D下的稀疏表示转化为下式的优化问题:
[0023]
[0024] 式中,D∈RN×k为字典矩阵,K为字典的词汇量,λ为正则化参数;ai∈RK为样本xi的稀疏表示系数;式子的前半部分表示尽可能地重构样本信号,式子的后半部分则使尽量稀疏;其中,采用变量交替优化的方法对上式进行求解;首先初始化并固定字典D,求解ai,为每个样本xi找到合适的ai,这就稀疏分解的过程。这里稀疏分解采用的是正交匹配追踪算法(Orthogonal Matching Pursuit,OMP),该方法是在每次的迭代过程中,从固定的字典D中选择最相关的基向量来稀疏逼近样本信号,并求出样本信号表示误差,然后继续从字典D中选择最相关的基向量来逼近样本信号误差,经过多次迭代,样本信号就可以由多个基向量线性表示;
[0025] 步骤S42:以ai为初始值更新字典D,这就是字典学习的过程;这里采用的字典学习方法是基于逐列更新策略的K-SVD算法:上式可以修改为:
[0026]
[0027] 式中,X=[x1,x2,...,xM]∈RN×M,D=[d1,d2,...,dK]∈RN×K,A=[a1,a2,...,aM]∈RK×M, ||.||是矩阵的Frobenius范数。di表示字典的第i个原子,即矩阵D的第i列,ai表示样本信号xi的稀疏表示系数,即A的第i行。进一步将上式修改为:
[0028]
[0029] 在更新字典的第i列时,其他K-1列是固定的,Ei=X-∑bjaj也是固定的,表示除去第i个字典后的所有样本的误差。对于最小化上式,可以对Ei进行奇异值分解以获取最大奇异值所对应的正交向量。这种方法虽然能够最小化上式误差,但是这种求解过程会同时修改bi和ai,这会使得ai被填满,破坏系数矩阵A的稀疏性。为了防止出现上述情况,K-SVD对Ei和ai分别进行专门处理:ai仅保留非零元素, Ei则仅保留bi与ai的非零元素的乘积项,然后再进行奇异值分解,这样就保持了原来得到的稀疏性。
[0030] 步骤S43:反复迭代步骤S42,最终得到字典D和样本的xi的稀疏表示ai。在用K-SVD进行字典学习过程当中,本发明可以设置词汇量K的大小来控制字典的规模。通过以上方式,训练出四类稀疏字典。
[0031] 进一步地,步骤S5中,采用下式来计算原电流信号和重构信号的均方根误差:
[0032]
[0033] 式中,x(n)表示电流样本信号,N表示了该电流信号的维度,yi(n)表示第i类字典重构信号。
[0034] 较佳的,步骤S6中由4个均方根误差组成维度为4的特征向量,表示为 f=[σ1,σ2,σ3,σ4]。
[0035] 进一步地,步骤S7中,所述设置SVM的参数具体为:将惩罚因子C设置为1000,将两个不同类别的支持向量到超平面的距离之和γ为设置为10。步骤S7的具体过程如下:
[0036] 支持向量机是通过线性可分的训练样本集找到一个最优分类超平面以实现不同类别的样本数据的划分。给定训练样本数据集,D={xi,yi},i=1,2,3,...,m,yi∈{-1,1},其中xi为样本数据,m为训练样本总数,d为样本空间的维度,yi为样本相应的标签。它们能够被一个最优超平面所分离,该超平面可以表示为wTx+b=0,其中w∈Rd,为法向量,决定了超平面的方向;b∈R,为位移项,决定了超平面与原点间的距离,分类的阈值。
[0037] 假设超平面能将训练样本正确分类,则对于{xi,yi}∈D,如果yi=+1,则有 wTx+b>0;如果yi=-1,则有wTx+b<0。令
[0038]
[0039] 则距离超平面最近的若干训练样本点使得上式的等号成立,它们被称之为支持向量(Support vectors,SVs),则两个不同类别的支持向量到超平面的距离之和为该距离被称为分类间隔。如果要使γ最大,则要求||w||2最小,同时要求分类面对所有的样本正确分类,需满足
[0040] yi(wTxi+b)≥1,i=1,2,3,...,l
[0041] 因此,求最优分类超平面问题,可以转化为一个二次规划问题,优化目标可以写为[0042]
[0043] s.t.yi(wTxi+b)≥1,i=1,2,3,...,l
[0044] 对于在样本空间线性可分的训练样本,其可以被最优分类超平面进行划分。然后,在现实任务中,常常存在线性不可分的情况,此时在训练样本中存在部分样本数据不满足公式 存在一定分类的误差。因此,通过引入松弛变量ξi(ξi≥0)来解决此问题。因此,可将 可写为
[0045] yi(wTxi+b)≥1-ξi,i=1,2,3,...,l
[0046] 在最大化间隔的同时,要求不满足约束的样本要尽可能少。因此,优化目标函数可以改写为
[0047]
[0048] 其中, 称为惩罚项,C为惩罚因子。因此,可以得到线性不可分时的最优分类面,称为广义分类超平面,可以表示为下面的优化问题
[0049]
[0050] s.t.yi(wTxi+b)≥1-ξi
[0051] ξi≥0,i=1,2,3,...,l
[0052] 求解该优化问题可以借助拉格朗日乘子法,得到它的对偶问题如下式[0053]
[0054]
[0055] 0≤αi≤C,i,j=1,2,3,...,l
[0056] 根据Karush–Kuhn–Tucker(KKT)条件,可以得到αi(yi(wTxi+b)-1)=0。如果αi>0,则所对应的样本点位于最大间隔边界上,就是支持向量。则可以通过 求解出w,并根据yi(wTxi+b)-1=0求解出b,其中xi为支持向量,n为支持向量的数量。在确定w和b之后,得到分类决策函数如下所示
[0057]
[0058] 其次,针对非线性分类问题,SVM采用核函数将样本从原始空间映射到更高维的特征空间,使得样本在这个特征空间内线性可分。令φ(x)表示将x映射后的特征向量,则在高维空间中超平面所对应的优化目标可表示为
[0059]
[0060] s.t.yi(wTφ(xi)+b)≥1-ξi
[0061] ξi≥0,i=1,2,3,...,l
[0062] 对应的对偶问题为
[0063]
[0064]
[0065] 0≤αi≤C,i,j=1,2,3,...,l
[0066] 为避开计算样本xi和xj在高维空间中的内积运算,构造核函数K(·,·),xi和xj在特征空间的内积转换为在原始样本空间中通过该函数计算的结果。K(·,·)表示如下[0067] K(xi,xj)=φ(xi)Tφ(xj)
[0068] 则将对偶问题的公式变为
[0069]
[0070]
[0071] 0≤αi≤C,i,j=1,2,3,...,l
[0072] 此时分类决策函数变为
[0073]
[0074] 常用的核函数主要有多项式核函数、径向基(Radial based kernel,RBF)核函数、双曲正切(Sigmoid)核函数等。本发明采用RBF核函数对SVM进行应用。RBF 核函数表示为[0075] K(xi,x)=exp(-γ||xi-x||2)
[0076] 支持向量机的分类效果将很大程度取决于C和γ的选择,本研究中将C设置为 1000,设置为10。运用设置好参数SVM,从构造的训练样本数据中训练出故障分类器,实现光伏发电阵列的故障诊断和分类。
[0077] 与现有技术相比,本发明有以下有益效果:本发明基于光伏阵列电流信号的变化特性就能进行故障诊断,不需要其他的数据特征,且能在不影响光伏发电系统工作的情况下进行故障检测与分类。该方案学习分类字典速度快,可以迅速地构造简洁有效的特征向量。用SVM基于提取的特征向量训练的故障诊断模型,环境适用性强,实现了光伏发电阵列的准确地故障检测和分类。本发明的分类准确率达95%以上。

附图说明

[0078] 图1为本发明实施例的流程示意图。
[0079] 图2为本发明实施例的光伏发电系统拓扑图。
[0080] 图3为本发明实施例的光伏发电系统实验平台图。
[0081] 图4为本发明实施例的故障分类结果。

具体实施方式

[0082] 下面结合附图及实施例对本发明做进一步说明。
[0083] 应该指出,以下详细说明都是示例性的,旨在对本申请提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本申请所属技术领域的普通技术人员通常理解的相同含义。
[0084] 需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本申请的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和 /或它们的组合。
[0085] 如图1所示,本实施例提供了一种基于稀疏表示和SVM的光伏发电阵列故障诊断与分类的方法,图2为本实施例的由SP个太阳能组件组成的光伏发电系统拓扑图,通过逆变器与电网进行连接实现并网发电,人为模拟光伏发电阵列出现的故障状况,包括开路1,短路1和短路2故障。在不同温照下,针对每种故障情况进行实时故障诊断,具体包括以下步骤:
[0086] 步骤S1:采集光伏阵列不同工作状态下多组温照度的电流样本信号;其中不同工作状态包括正常、单组串1个组件短路、单组串一个组件开路以及单组串2 个组件短路;并分别记为正常,短路1,开路1和短路2;
[0087] 步骤S2:对每个电流样本信号进行归一化处理,构造训练样本矩阵;
[0088] 步骤S3:实验探索K-SVD算法学习过完备字典的参数设置,包括训练样本矩阵的行数N、列数M、每类字典的词汇量K、稀疏度L、以及迭代次数n;其中,行数N即为样本信号的维度,列数N即为样本信号的个数;
[0089] 步骤S4:基于步骤S3设置好参数的K-SVD算法,从正常样本矩阵、单组串1 个组件短路样本矩阵、单组串一个组件开路样本矩阵和单组串2个组件短路中分别学习正常字典、单组串1个组件短路字典及单组串一个组件开路字典和单组串2 个组件短路字典;
[0090] 步骤S5:调用OMP算法,用学习的四种字典重构每一类的电流信号,并计算出原电流信号和重构信号的均方根误差;
[0091] 步骤S6:由4个均方根误差组成维度为4的特征向量,每一类的多组电流信号可以得到多个特征向量;
[0092] 步骤S7:设置SVM的参数,由特征向量训练故障分类器以实现光伏阵列的故障诊断和分类。
[0093] 本实施例只采集了不同温照度下的正常和故障的电流信号,分析电流信号和学习字典重构该信号的误差构造特征向量,用SVM训练故障分类模型,实现了光伏发电阵列的故障诊断和分类,这种检测方案环境适用性强,且用稀疏表示提取的特征向量简单快捷,训练的模型能实现较高精度的故障诊断和分类。
[0094] 较佳的,本实施例中采集样本信号所采用的光伏系统由18块太阳能面板组成连接成6串3并的结构,通过逆变器进行并网发电,系统的参数如下表所示。
[0095] 表1系统详细参数
[0096]
[0097] 在本实施例中,步骤S1中采集的电流信号包括正常,短路1,开路1和短路 2工作状态下的电流信号,其中,故障样本信号包含阵列电流由正常到故障再到 MPPT算法找到新的工作点的过程。
[0098] 在本实施例中,步骤S2具体为:将阵列电流除以短路电流,经过归一化处理可以消除不同温照度的影响,其中归一化的公式如下:
[0099] ipv(t)=Ipv(t)/ISC(t)
[0100] 式中,Ipv(t)为采集的阵列电流样本信号,ISC(t)表示阵列短路电流信号,ipv(t) 表示归一化后的阵列电流样本信号。经过归一化处理之后的样本电流信号只反映了在不同工作状态下阵列电流的变化趋势。
[0101] 较佳的,在本实施例中,步骤S2中,所述的电流信号训练样本矩阵包括正常样本矩阵,短路1样本矩阵、开路1样本矩阵和短路2样本矩阵。训练样本矩阵记为X=[x1,x2,...xi]∈RN×M,其中xi是一个样本信号,N是样本矩阵的行数,即样本信号的长度。每个样本信号的采集时间t=10s固定,所以样本信号的维度取决于数据采集频率。M代表样本信号的数目。故障(短路1,开路1和短路2)样本信号包含了阵列电流由正常到故障再到故障稳定的过程,捕获故障发生时阵列电流的变化特性。
[0102] 在本实施例中,所述方法能够对不同光照度下的短路1,开路1和短路2故障进行检测。不同环境下光伏阵列在同种故障时有相同的电流变化特征,所提出的方法在组串式光伏发电系统较强的环境适用性。特别地,本实施例模拟光伏发电系统的四种工作状态进行数据采集。在2018年7月份分多个时间段,在不同的温照度下进行样本信号随机采集,每种工作状态采集190个样本信号,随机挑选90 组样本信号构造样本矩阵,学习稀疏分类字典。计算100组样本信号和学习的四种字典重构该信号的均方根误差得到100个4维的特征向量,随机挑选60个特征向量作为训练数据,40个特征向量作为测试数据。图3为本实施例中光伏发电系统实验平台图。电流样本信号采集的具体信息如表2所示。
[0103] 表2 样本信号采集信息
[0104]
[0105]
[0106] 在本实施例中,步骤S3中,所述参数设置具体为:四种训练信号样本矩阵的行数N和列数M都分别为40和90;单组串1个组件短路字典的词汇量K为60,稀疏值L为4;单组串一个组件开路字典的词汇量K为55,稀疏值L为2;正常字典的词汇量K为60,稀疏值L为3;单组串2个组件短路字典的词汇量K为60,稀疏值L为4。
[0107] 在本实施例中,步骤S4具体为:利用设置好参数的K-SVD算法和构造好的正常样本矩阵,短路1样本矩阵,路1样本矩阵和短路2样本矩阵学习出对应的字典。具体的过程是先固定字典D,用OMP算法求解稀疏系数,然后以求解的稀疏系数为初始值基于逐列更新策略的K-SVD算法更新字典D,采用变量交替优化方法不断迭代这两个过程,最终求出过完备字典。具体包括以下步骤:
[0108] 步骤S41:样本信号xi在字典D下的稀疏表示转化为下式的优化问题:
[0109]
[0110] 式中,D∈RN×k为字典矩阵,K为字典的词汇量,λ为正则化参数;ai∈RK为样本xi的稀疏表示系数;式子的前半部分表示尽可能地重构样本信号,式子的后半部分则使尽量稀疏;其中,采用变量交替优化的方法对上式进行求解;首先初始化并固定字典D,求解ai,为每个样本xi找到合适的ai,这就稀疏分解的过程。这里稀疏分解采用的是正交匹配追踪算法(Orthogonal Matching Pursuit,OMP),该方法是在每次的迭代过程中,从固定的字典D中选择最相关的基向量来稀疏逼近样本信号,并求出样本信号表示误差,然后继续从字典D中选择最相关的基向量来逼近样本信号误差,经过多次迭代,样本信号就可以由多个基向量线性表示;
[0111] 步骤S42:以ai为初始值更新字典D,这就是字典学习的过程;这里采用的字典学习方法是基于逐列更新策略的K-SVD算法:上式可以修改为:
[0112]
[0113] 式中,X=[x1,x2,...,xM]∈RN×M,D=[d1,d2,...,dK]∈RN×K,A=[a1,a2,...,aM]∈RK×M, ||.||是矩阵的Frobenius范数。di表示字典的第i个原子,即矩阵D的第i列,ai表示样本信号xi的稀疏表示系数,即A的第i行。进一步将上式修改为:
[0114]
[0115] 在更新字典的第i列时,其他K-1列是固定的,Ei=X-∑bjaj也是固定的,表示除去第i个字典后的所有样本的误差。对于最小化上式,可以对Ei进行奇异值分解以获取最大奇异值所对应的正交向量。这种方法虽然能够最小化上式误差,但是这种求解过程会同时修改bi和ai,这会使得ai被填满,破坏系数矩阵A的稀疏性。为了防止出现上述情况,K-SVD对Ei和ai分别进行专门处理:ai仅保留非零元素, Ei则仅保留bi与ai的非零元素的乘积项,然后再进行奇异值分解,这样就保持了原来得到的稀疏性。
[0116] 步骤S43:反复迭代步骤S42,最终得到字典D和样本的xi的稀疏表示ai。在用K-SVD进行字典学习过程当中,本发明可以设置词汇量K的大小来控制字典的规模。通过以上方式,训练出四类稀疏字典。
[0117] 在本实施例中,所述步骤S5中调用OMP算法,基于学习的四种字典,分别重构每一类的电流信号,每类电流信号有100个,计算样本信号和学习的四种字典重构该信号的均方根误差得到100个4维的特征向量,其中60个特征向量作为训练数据,40个特征向量作为测试数据。步骤S5中,采用下式来计算原电流信号和重构信号的均方根误差:
[0118]
[0119] 式中,x(n)表示电流样本信号,N表示了该电流信号的维度,yi(n)表示第i类字典重构信号。
[0120] 较佳的,步骤S6中由4个均方根误差组成维度为4的特征向量,表示为 f=[σ1,σ2,σ3,σ4]。
[0121] 在本实施例中,步骤S7中,所述设置SVM的参数具体为:将惩罚因子C设置为1000,将两个不同类别的支持向量到超平面的距离之和γ为设置为10。步骤S7 的具体过程如下:
[0122] 支持向量机是通过线性可分的训练样本集找到一个最优分类超平面以实现不同类别的样本数据的划分。给定训练样本数据集,D={xi,yi},i=1,2,3,...,m,yi∈{-1,1},其中xi为样本数据,m为训练样本总数,d为样本空间的维度,yi为样本相应的标签。它们能够被一个最优超平面所分离,该超平面可以表示为wTx+b=0,其中w∈Rd,为法向量,决定了超平面的方向;b∈R,为位移项,决定了超平面与原点间的距离,分类的阈值。
[0123] 假设超平面能将训练样本正确分类,则对于{xi,yi}∈D,如果yi=+1,则有 wTx+b>0;如果yi=-1,则有wTx+b<0。令
[0124]
[0125] 则距离超平面最近的若干训练样本点使得上式的等号成立,它们被称之为支持向量(Support vectors,SVs),则两个不同类别的支持向量到超平面的距离之和为该距离被称为分类间隔。如果要使γ最大,则要求||w||2最小,同时要求分类面对所有的样本正确分类,需满足
[0126] yi(wTxi+b)≥1,i=1,2,3,...,l
[0127] 因此,求最优分类超平面问题,可以转化为一个二次规划问题,优化目标可以写为[0128]
[0129] s.t.yi(wTxi+b)≥1,i=1,2,3,...,l
[0130] 对于在样本空间线性可分的训练样本,其可以被最优分类超平面进行划分。然后,在现实任务中,常常存在线性不可分的情况,此时在训练样本中存在部分样本数据不满足公式 存在一定分类的误差。因此,通过引入松弛变量ξi(ξi≥0)来解决此问题。因此,可将 可写为
[0131] yi(wTxi+b)≥1-ξi,i=1,2,3,...,l
[0132] 在最大化间隔的同时,要求不满足约束的样本要尽可能少。因此,优化目标函数可以改写为
[0133]
[0134] 其中, 称为惩罚项,C为惩罚因子。因此,可以得到线性不可分时的最优分类面,称为广义分类超平面,可以表示为下面的优化问题
[0135]
[0136] s.t.yi(wTxi+b)≥1-ξi
[0137] ξi≥0,i=1,2,3,...,l
[0138] 求解该优化问题可以借助拉格朗日乘子法,得到它的对偶问题如下式[0139]
[0140]
[0141] 0≤αi≤C,i,j=1,2,3,...,l
[0142] 根据Karush–Kuhn–Tucker(KKT)条件,可以得到αi(yi(wTxi+b)-1)=0。如果αi>0,则所对应的样本点位于最大间隔边界上,就是支持向量。则可以通过 求解出Tw,并根据yi(w xi+b)-1=0求解出b,其中xi为支持向量,n为支持向量的数量。在确定w和b之后,得到分类决策函数如下所示
[0143]
[0144] 其次,针对非线性分类问题,SVM采用核函数将样本从原始空间映射到更高维的特征空间,使得样本在这个特征空间内线性可分。令φ(x)表示将x映射后的特征向量,则在高维空间中超平面所对应的优化目标可表示为
[0145]
[0146] s.t.yi(wTφ(xi)+b)≥1-ξi
[0147] ξi≥0,i=1,2,3,...,l
[0148] 对应的对偶问题为
[0149]
[0150]
[0151] 0≤αi≤C,i,j=1,2,3,...,l
[0152] 为避开计算样本xi和xj在高维空间中的内积运算,构造核函数K(·,·),xi和xj在特征空间的内积转换为在原始样本空间中通过该函数计算的结果。K(·,·)表示如下[0153] K(xi,xj)=φ(xi)Tφ(xj)
[0154] 则将对偶问题的公式变为
[0155]
[0156]
[0157] 0≤αi≤C,i,j=1,2,3,...,l
[0158] 此时分类决策函数变为
[0159]
[0160] 常用的核函数主要有多项式核函数、径向基(Radial based kernel,RBF)核函数、双曲正切(Sigmoid)核函数等。本发明采用RBF核函数对SVM进行应用。RBF 核函数表示为[0161] K(xi,x)=exp(-γ||xi-x||2)
[0162] 支持向量机的分类效果将很大程度取决于C和γ的选择,本研究中将C设置为 1000,设置为10。从60个训练数据中训练故障分类器,实现光伏发电阵列的故障诊断和分类。用40个测试数据检测该分类的精度,图4为所提方案的故障分类结果。
[0163] 相对应,将短路1数据的标签标为1,开路1数据的标签标为2,短路2数据的标签标为3,正常数据的标签标为4。在检测结果图中,如果预测标签和实际标签重合,则该数据的预测结果是准确的。如图4所示,40个短路1测试数据中有 1个数据的预测标签和实际标签不一致,诊断精度为0.975%,开路1测试数据中有2个数据的预测出错,预测精度为95%,开路2测试数据中也有2个数据的预测出错,预测精度为95%,而正常测试数据中只有1个数据的预测出错,预测精度为 97.5%。实现了整体96.25%精度的故障诊断和分类。综上,本实施例中的故障诊断与分类结果如表3所示。
[0164] 表3故障检测与分类结果
[0165]
[0166]
[0167] 以上所述仅为本发明的较佳实施例,凡依本发明申请专利范围所做的均等变化与修饰,皆应属本发明的涵盖范围。