基于SCSO-SVM算法的光伏组件故障识别

2024-02-28 13:50郁纪肖文波李欣蕊吴华明
科学技术与工程 2024年3期
关键词:超平面方差组件

郁纪, 肖文波,*, 李欣蕊, 吴华明

(1.南昌航空大学测试与光电工程学院, 南昌 330063; 2.南昌航空大学科技学院, 共青城 332020)

传统化石燃料的不断消耗带来日益严重的环境污染问题,太阳能作为可再生的清洁能源,日益受到世界各国的重视[1-2]。其中,光伏发电的发展尤为迅速。然而,光伏组件大多安装在屋顶、山丘、沙漠等恶劣环境中,容易出现光伏板材料异常老化、裂块、阴影遮蔽、开路和短路等情况,导致发电效率降低、光伏组件损坏,甚至引发火灾等问题。因此,研究准确、快速的光伏组件故障识别方法具有重要意义[3-4]。

近年来,智能检测算法在光伏组件故障识别领域得到了广泛应用;原理是将光伏组件的特征数据,结合算法对特征数据建模,模型配合状态模块用于电站故障诊断工作[5]。常用的智能检测算法有人工神经网络、模糊C均值聚类和支持向量机(support vector machine,SVM)等算法[6-9]。常用的SVM算法[10]具有避免模型过学习和欠学习、陷入局部极值等优点,但是存在易受参数初始值影响等问题[11]。为此,研究使用各种算法对SVM的核函数等进行优化得到广泛研究[12-14]。但是这些方法存在收敛速度慢的突出问题。最近,Cai等[15]提出粒子群(particle swarm optimization,PSO)优化支持向量机算法的故障识别方法。该方法不仅准确辨识故障发生所在位置,普适性也较好,准确率均在98.21%以上。但寻找到支持向量机的最优参数值所花费的时间较长,为4.52 s。为了提高识别精度与效率,遗传算法(genetic algorithm,GA)优化SVM[16]、麻雀搜索算法(sparrow search algorithm,SSA)优化SVM[17]、灰狼算法(gray wolf algorithm,GWO)优化SVM[18]、鲸鱼算法(whale optimization algorithm,WOA)优化SVM[19]等算法被提出。

为了进一步提高故障识别精度及提高效率,现提出沙猫群(sand cat swarm optimization,SCSO)优化支持向量机算法,并对比文献[11,15-19]所提算法的识别效果,详细研究该算法的优缺点。

1 沙猫群优化支持向量机

1.1 支持向量机

SVM算法基本思路是在线性可分时,在原空间寻找两类样本的最优分类超平面。在线性不可分时,加入松弛变量并通过使用非线性映射将低维度输入空间的样本映射到高维度空间使其变为线性可分,这样就可以在该特征空间中寻找最优分类超平面,如图1所示。设训练样本集为V,V={(x1,y1),(x2,y2),…,(xl,yl)},其中,xl∈R为输入特征,yl为分类标签。

margin为超平面间隔;H代表超平面;H1与H2为边界图1 SVM超平面Fig.1 SVM hyperplane

超平面表达式[20]为

ωφ(x)+b=0

(1)

式(1)中:φ(x)为映射函数表达式;ω为最优分类超平面的法向量;b为分类阈值。对于线性不可分问题,SVM需要大于0的惩罚因子C和松弛变量ξ,其目标函数为

(2)

(3)

在最优超平面上样本分类间隔d需要达到最大值才能得到正确分类,因此超平面的寻优问题可以归结为二次规划问题,即

(4)

利用拉格朗日算子来解决上述问题,则最优超平面函数为

(5)

式(5)中:S为支持向量模型;(xi,yi)为通过该SVM的样本。

核函数(一般选用径向基高斯核函数)表达式为

(6)

由式(4)可知,超平面寻优问题需要对C进行处理,而由式(6)与式(7)可知,求y需要确定K(xi,yi),同时K(xi,yi)需要确定σ。因此,SVM需要确定的还有惩罚因子C和核函数参数σ。惩罚因子越大越不能容许出现误差,惩罚因子过小容易出现欠拟合现象,核函数参数反应分类的准确率。因此在使用SVM进行故障分类时,得到最优的(C,σ)组合可以很大程度上提高故障诊断的准确率。

1.2 沙猫群算法

沙猫群算法(SCSO)是一种模拟沙猫生存行为的元启发式算法。

沙猫是猫科动物中的一种,它们能够探测低于2 kHz的低频,也具有挖掘猎物的能力。SCSO是基于沙猫捕食的两个阶段(搜索阶段和攻击阶段)[21]上提出的新算法。图2为沙猫捕食行为示意图。

图2 沙猫捕食行为示意图Fig.2 Schematic diagram of predatory behavior of sand cats

当沙猫处于猎物搜索阶段时,有

(7)

R=2rGrand(0,1)-rG

(8)

r=rGrand(0,1)

(9)

P(t+1)=r[Pb(t)-rand(0,1)Pc(t)]

(10)

式中:SM为沙猫的听觉特性,一般设置为2;Nc为当前迭代次数;Nmax为最大迭代次数;rG为常规的灵敏度范围;R为沙猫转换搜索阶段和攻击阶段的控制参数;r为沙猫个体的灵敏度范围;Pb为当前时刻的沙猫群最优位置;Pc为沙猫个体当前位置;P为沙猫下一时刻的位置。

当沙猫处于攻击阶段时,有

Prnd=|rand(0,1)Pb(t)-Pc(t)|

(11)

P(t+1)=Pb(t)-rPrndcosθ

(12)

通过判断R的取值大小决定沙猫下一时刻处于猎物搜索阶段还是攻击阶段。当|R|≤1时,沙猫被引导攻击猎物;反之,则继续搜索。表达式为

(13)

式(13)中:θ为示意图中圆的随机角度。

SCSO优化的基本步骤如下:

(1)设置算法基本参数:种群数目(设置为40)、变量维数(2)和最大迭代次数(100)。

(2)种群初始化。对于d维优化问题,沙猫个体代表优化问题的一个解,为[x1,x2,…,xd]且∀xi∈[lower,upper]。

(3)通过目标函数计算沙猫个体的适应度值,并更新个体极值和全局极值。

(4)利用式(7)~式(10)来更新沙猫个体位置。

(5)通过式(13)判断沙猫下一步的行为是处于探索阶段还是攻击阶段。若沙猫处于探索阶段,则转至步骤四,否则转至步骤六。

(6)利用式(11)、式(12)来更新沙猫个体位置和其对应的适应度值。

(7)判断算法是否满足终止条件。若算法达到迭代最大次数或者精度要求。则结束并输出极值,否则转至步骤二继续迭代计算。

1.3 SCSO-SVM

SCSO-SVM识别算法首先是通过SCSO对SVM的惩罚因子C和核函数参数σ进行寻优,再利用寻优后的参数建立模型进行训练和识别。

算法流程图如图3所示,算法的基本步骤如下。

图3 SCSO-SVM流程图Fig.3 SCSO-SVM flowchart

(1)设置SCSO-SVM算法的基本参数:种群数目(设置为40)、变量维数(2)、核函数(径向基高斯核函数)和最大迭代次数(100)。

(2)初始化SVM的惩罚因子C和核函数参数σ,作为种群的位置。

(3)计算适应度值(将交叉验证的准确性作为沙猫个体的适应度值),并确定当前个体极值和全局极值。

(4)利用式(7)~式(10)更新沙猫个体位置。

(5)通过式(13)判断沙猫下一步的行为是处于探索阶段还是攻击阶段。若沙猫处于探索阶段,则转至步骤4,否则转至步骤6。

(6)利用式(11)、式(12)更新沙猫个体位置和计算其对应的适应度值。更新当前个体极值和全局极值。

(7)判断算法是否满足终止条件。若算法达到迭代最大次数或者精度要求。则结束并转至步骤8,否则转至步骤3。

(8)将获得的最优解作为SVM的初始惩罚因子C和核函数参数σ,输入归一化[逐行将数据标准化到区间[0,1]]的训练样本继续训练,即

(14)

式(14)中:[ymin,ymax]=[0,1],xmin、xmax分别为每行数据的最小值和最大值。

(9)判断算法是否达到迭代最大次数或者精度要求。若满足要求,则结束训练并转至步骤10,否则转至步骤2。

(10)输入归一化的测试样本,输出识别结果。

2 光伏组件故障理论分析以及实验

2.1 光伏组件故障理论仿真分析

为了分析光伏组件正常、遮荫、开路及短路故障特征[22],首先用MATLAB软件搭建3×3串并联的光伏组件并仿真,其示意图如图4(a)所示。

图4 光伏组件仿真Fig.4 Photovoltaic module simulation

在四种运行工况(正常、遮荫、开路及短路)下,光伏组件的仿真输出特性即光伏组件的P-U和I-U特性曲线如图4(b)和4(c)所示。由图4(b)可知,四种运行工况下最大功率点大小与位置变化显著,遮荫下输出特性甚至呈现“多峰”状态。开路故障时,短路电流Isc下降明显;四种运行工况下开路电压Uoc略有差别。由此,选取Isc、Uoc、Im和Um(4个参数),Im和Um(2个参数),Pm(1个参数)作为算法的输入特征,并研究3种输入特征的算法故障识别能力。

2.2 光伏组件故障实验测量与结果分析

搭建了一个3×3串并联组合的光伏组件的实验平台,如图5所示。实验装置主要由管型卤钨灯(佛山电器照明公司)、浩云安防科技公司生产的9块尺寸为54 m×54 m的多晶硅光伏电池、Keithley 2450(吉时利公司)、PC机、光强探测器HT-855(宏诚科教公司)、红外测温仪AR-320(希玛科技有限公司)组成,如图5(a)所示。

图5 实验平台Fig.5 Experimental platform

图5(b)为实验示意图。实验过程为:卤钨灯模拟太阳光垂直入射光伏组件表面,并用光强探测器和红外测温仪分别测量正入射光强和阵列表面温度;启动Keithley 2450源表和KickStart软件测量并记录光伏组件分别在正常、遮荫、开路和短路情况下的输出特性(I-U曲线)。通过覆盖不同透光率的亚克力板来改变照射到每个光伏电池表面的光强,达到局部阴影的效果;通过断开单个或多个支路的导线来模拟开路故障;将空气开关和单个光伏电池并联,通过打开开关模拟短路故障。采集到总计249组数据,其中4种运行工况的数据量分布如表1所示。

表1 4种运行工况的数据分布和样本划分Table 1 Data distribution and sample division for 4 operating conditions

为了判断算法识别效果,选择10次平均识别时间、平均识别精度及其对应的方差作为模型评价指标[23]。

3 算法识别结果及分析

3.1 Isc、Isc、Im和Um作为输入下7种算法识别效果

图6为不同算法对249组实验数据进行训练和识别一次结果。表2为算法训练和识别后的10次平均识别结果。

由图6可以看出,SCSO-SVM对测试集识别效果最好,仅错误识别一个标签为1的测试样本。SVM的识别效果最差,错误识别五个标签为1的测试样本和三个标签为3的测试样本。7种算法测试集识别效果大致依次为SCSO-SVM、GWO-SVM、WOA-SVM、SSA-SVM、GA-SVM、PSO-SVM及SVM。

表2是算法平均识别效果。从表2看出,SCSO-SVM相较于SVM、PSO-SVM、GA-SVM、SSA-SVM、GWO-SVM和WOA-SVM平均识别精度提高了9.459 4%、7.432 4%、6.756 7%、3.378 3%、1.351 3%和2.702 7%,对应的方差减少了0、32.566 2、0、2.130 5、0和0;平均识别时间减少了-1.451 4、5.409 9、2.356 5、1.501 5、0.774 1和0.188 3 s,对应的方差减少了-0.001 9、0.051 8、0.053 9、-0.000 6、0.028 1和0.004 2。

首先结果表明,7种算法识别精度从高到低依次是SCSO-SVM、GWO-SVM、WOA-SVM、SSA-SVM、GA-SVM、PSO-SVM和SVM。6种SVM混合算法都克服了SVM诊断结果易受参数初始值影响的缺点,识别精度相较传统SVM算法都有所提升。其中SSA-SVM算法的识别精度相较SVM提高了约6.081 1%,与文献[17]提到的SSA-SVM相较SVM的识别精度提高了约5.424 3%相接近,验证了上述算法的结论。上述结论也与图4结果一致。其次,平均识别时间从短到长依次是SVM、SCSO-SVM、WOA-SVM、GWO-SVM、SSA-SVM、GA-SVM和PSO-SVM。改进SVM的其他六种算法的识别时间都比SVM长,是因为组合算法需要牺牲识别时间来提高精度[24]。SCSO-SVM不仅平均识别精度最高,平均识别时间也较短(仅次于SVM)。相较其他算法更能有效找到较好的惩罚因子 和核函数参数 。平均识别时间较短是因为SCSO结构简单,易于接近极值[25]。最后,SCSO-SVM和SVM的方差都很小,是因为最终决策函数只由少数的支持向量所确定,大量冗余样本可以剔除,鲁棒性较好。GWO-SVM的平均识别精度和时间仅次于SCSO-SVM,是因为GWO存在自适应调整的收敛因子以及信息反馈机制,能够在局部寻优和全局搜索之间实现平衡,且结构简单、易于实现。但种族多样性差、后期收敛速度慢[26]。

3.2 Im和Um作为输入下7种算法识别效果

为进一步研究影响算法识别因素,选取光伏组件伏安特性曲线参数Im和Um作为算法的输入特征,其他参数设置不变。训练和测试识别结果如表3所示。

表3 不同算法平均识别效果Table 3 Average recognition effect of different algorithms

从表3得知,7种算法相比,SCSO-SVM相较于SVM、PSO-SVM、GA-SVM、SSA-SVM、GWO-SVM和WOA-SVM平均识别精度提高了35.135 1%、33.378 4%、37.567 6%、18.108 1%、0和0,对应的方差减少了0、93.356 8、20.209 3、19.154 4、0和0。平均识别时间减少了-1.389 4、4.836 6、2.777 5、1.096 3、0.025 3和0.071 8 s,对应的方差减少了-0.004 8、0.100 7、0.007 7、0.000 8、-0.001 2和-0.002 5。结果首先表明整体排序与上面结果基本一致。其次,发现SCSO-SVM不仅识别精度最高,识别时间也较短(也仅次于SVM),进一步证明了上面结论。

3.3 Pm作为输入下7种算法识别效果

为进一步研究影响算法识别因素,选取光伏组件伏安特性曲线参数Pm作为算法的输入特征,其他参数设置不变。训练和测试识别结果如表4所示。

表4 不同算法平均识别效果Table 4 Average recognition effect of different algorithms

从表4得知,7种算法相比,SCSO-SVM相较于SVM、PSO-SVM、GA-SVM、SSA-SVM、GWO-SVM和WOA-SVM平均识别精度提高了36.486 5%、13.108 1%、12.837 8%、12.162 2%、0和0,对应的方差减少了0、0.4261、3.3480、0、0和0。平均识别时间减少了-1.660 6、18.255 0、10.675 4、1.218 3、0.032 9和0.0575 s,对应的方差减少了-0.000 8、5.838 6、0.087 3、0.001 3、0.001 2和0.002 4。结果表明7种算法中SCSO-SVM平均识别精度最高,平均识别时间也较短(也仅次于SVM),结论与上面一致,证明了上述结论。

横向比较3种输入下7种算法识别效果。首先,对于同一种算法而言,在3种不同输入特征的算法下,算法的平均识别精度总体上是依次降低的,是因为输入特征越少,越不能有效表征光伏组件在不同故障类型下的输出特性。但平均识别时间却不是随着输入特征的减少而减少的,在将Pm作为输入特征情况下,7种算法的平均识别时间总体上较前两种情况有所增加。上述结果表明输入特征不是越少,算法的识别时间就会越短。同时,选取合适的输入特征才能兼顾算法的故障识别准确率和效率。

最后,7种算法的识别效果在3种输入下的顺序略有改变。例如:对于平均识别时间而言,7种算法在将Pm作为输入特征和将Im和Um作为输入特征的情况下,识别效果的顺序不变。而在将Isc、Uoc、Im和Um作为输入特征的情况下,仅有GWO-SVM和WOA-SVM两者的排序互相调动了。原因可能是各个算法参数选择过多导致泛化性较差,依赖参数初始值导致鲁棒性差[27]。

4 模型泛化性验证

为进一步验证所提模型的泛化能力(模型在不同应用中的识别效果),采用UCI数据库中的wine数据集(意大利同一地区3种葡萄酒的13种属性)作为算法的数据集[28]。

从表5得知,7种算法相比,SCSO-SVM相较于SVM、PSO-SVM、GA-SVM、SSA-SVM、GWO-SVM和WOA-SVM平均识别时间减少了-1.069 5、1.966 9、1.552 7、0.768 3、0.121 3和0.225 5 s,对应的方差减少了-0.015 4、-0.000 5、0.075 2、0.007 8、0.011 0和-0.004 2。平均识别精度提高了1.011 2%、2.134 8%、1.910 1%、9.662 9%、0.337 0%和1.011 2%,对应的方差减少了-0.126 2、0.715 5、0.098 2、69.744 2、0.210 5和-0.1262 。结果表明SCSO-SVM不仅平均识别精度最高,平均识别时间也较短(也仅次于SVM),且方差较小。进一步证明上面结论。

表5 不同算法平均识别效果Table 5 Average recognition effect of different algorithms

5 结论

针对光伏组件故障识别问题,本文提出SCSO优化SVM的故障识别算法,并对比了SVM、PSO-SVM、GA-SVM、SSA-SVM、GWO-SVM和WOA-SVM 6种算法。得出以下结论。

(1)6种SVM混合算法都克服了SVM诊断结果易受参数初始值影响的缺点,识别精度相较传统SVM算法都有所提升。SCSO-SVM不仅平均识别精度最高,平均识别时间也较短(仅次于SVM)。原因是相较其他算法更能有效地找到较好的惩罚因子和核函数参数。

(2)对于同一种算法而言,在3种不同输入特征的算法下,算法的平均识别精度是依次降低的,是因为输入特征越少,越不能有效表征光伏组件在不同故障类型下的输出特性。但输入特征不是越少,算法的识别时间就会越短。选取合适的输入特征才能兼顾算法的故障识别准确率和效率。

(3)7种算法的识别效果在一定程度上受数据集的影响。算法在wine数据集下的识别效果相较光伏组件数据集更好,原因是各个算法参数选择过多导致泛化性较差,且依赖参数初始值选择。

针对光伏组件故障识别问题,本文仅考虑了一些常用故障,不能完全代表实际问题中的复杂故障种类。同时,如何进一步将此方法应用于实践中,实时识别光伏组件故障种类,有待进一步研究。

猜你喜欢
超平面方差组件
方差怎么算
无人机智能巡检在光伏电站组件诊断中的应用
全纯曲线的例外超平面
涉及分担超平面的正规定则
概率与统计(2)——离散型随机变量的期望与方差
新型碎边剪刀盘组件
U盾外壳组件注塑模具设计
计算方差用哪个公式
以较低截断重数分担超平面的亚纯映射的唯一性问题
方差生活秀