遗传算法优化支持向量机的光伏阵列故障诊断研究
2019-12-05郭浩然李泽滔
郭浩然 李泽滔
摘 要:研究了支持向量机(SVM)方法在光伏阵列故障诊断上的运用,对光伏阵列的输出特性以及故障类型进行了分析总结。支持向量机由于存在惩罚因子系数与核函数系数,在选用径向基核函数后通过遗传算法对其参数进行寻优,通过Matlab仿真实验得到数据,利用寻优后的参数建立模型训练与验证。研究结果表明:支持向量机使用通过遗传算法优化得到的参数在光伏阵列故障诊断上有较高的准确度。
关键词: 光伏阵列;故障分类;遗传算法;支持向量机
【Abstract】 The application of Support Vector Machine (SVM) in photovoltaic array fault diagnosis is studied. The output characteristics and fault types of photovoltaic arrays are analyzed and summarized. Because of the existence of penalty factor coefficient and kernel function coefficient, the Support Vector Machine is optimized by Genetic Algorithm after choosing the radial basis function, and the model is established by using the optimized parameters. The data are obtained through Matlab simulation experiment and the model is trained and validated. The results show that the Support Vector Machine optimized by Genetic Algorithm has high accuracy.
【Key words】 photovoltaic array; fault classification; Genetic Algorithm; Support Vector Machine
0 引 言
光伏发电系统中,其光伏阵列作为太阳能辐射的接收装置,在工作时对光照的吸收效果直接决定了光伏发电系统的发电效率。而大规模的光伏阵列往往是由多个光伏板单元根据供电要求串、并联在一起的。数量颇多且范围广的阵列由于會经历长时间的阳光暴晒、风吹雨淋,容易出现光伏板材料异常老化、裂块、异物及阴影遮蔽、开路和短路情况,从而影响经济效益。尤其是阴影遮蔽情况,实际应用中由于云层、灰尘、异物遮挡,原本的电源在没有足够辐照度的情况下会成为电路负载。近年来国内外的光伏装机容量增长迅速,对光伏阵列发生的故障进行预警、检测、分类就显得十分重要。目前常规的故障诊断方法有电信号检测法、红外图像检测法[1]等。而近年来智能算法的应用日益成熟,不少学者提出利用智能算法来检测并对光伏阵列进行故障诊断。目前,常见的智能检测方法主要有决策树[2]、神经网络[3]、模糊控制[4]等。
支持向量机在故障诊断领域有着广泛的应用,是一种有着较深厚理论基础的小样本学习方法,可以快速地从样本的训练过程得到样本的预报,同时避开从归纳到演绎的过程。对样本中的的非支持向量进行增加、删除对模型没有影响,因而具有较好的鲁棒性[5]。本文利用支持向量机对光伏阵列的故障进行检测与分类,在应用中,支持向量机中参数的选取对于精确度影响很大,为选取最优参数利用遗传算法对其进行寻优后带入。本研究在仿真模型搭建后,模拟光伏阵列各种可能出现的故障,得到样本数据,从中提取输入特征向量并进行处理,处理后再利用遗传算法寻优得到的最优参数建立模型。本文对此拟展开研究论述如下。
1 支持向量机
支持向量机(SVM)是一种旨在求得结构风险最小化的算法,使得在样本以及实际数据上的分类都尽量准确。算法基本思路是将无法线性划分的低维数据映射到高维空间后,在空间寻找一个有着最大间隔的最优分类面,如图1所示。
2 遗传算法优化的SVM
遗传算法(Genetic Algorithm,GA)基于达尔文的进化论。其思想为模拟自然界的适者生存过程,通过物竞天择不断朝着最优解进化。一般设计流程为:先随机生成初始种群,本文中需要对参数为惩罚因子C与核函数参数γ进行寻找优化,用二进制编码来对其进行编码并组合在一起,经过选择、交叉、变异产生新种群,不断循环进化,最后进化为一个最佳种群、即为问题的最优解[7]。
在算法运算过程中不停地计算单个染色体的适应度,使用交叉验证准确率作为适应度:当个体的适应度越高,则其存活概率就越大。交叉算子为单点交叉算子,并用自适应变异概率产生变异基因,随机地选出将发生变异的基因。遗传算法对SVM的参数进行优化的设计流程如图2所示。
在此基础上,研究给出了GA-SVM的设计步骤具体如下。
Step 1:初始化种群,对个体进行编码,基因序列为惩罚因子C与核参数γ,生成随机种群。
Step 2:设置终止迭代次数后,利用样本数据进行训练测试,根据规则计算个体适应度。
Step 3:当种群最优个体达到满足条件或达到终止迭代次数时退出寻优过程,得到优化解。跳转至Step 5,否则进入下一步。
Step 4:对当代存活的种群执行选择、交叉、变异得到下一代种群,返回Step 3判断。
Step 5:得到最优核参数γ与惩罚因子C。并代入到SVM中通过训练样本训练得到诊断模型。
3 光伏阵列故障分析
为模拟仿真光伏阵列在各种环境下的故障特性并获得数据,在Matlab/Simulink内基于光伏电池的数学特性仿真建立了3×5阵列[8]。即为3路支路并联,每路支路由5个光伏模块串联,如图3所示。
單个模块的参数相同,其中涉及的参数数值为:最大功率点电流4.95 A,最大功率点电压35.2 V,开路电压44.2 V,短路电流5.2 A。参考光照1 000 W/m2,参考温度25 ℃。模拟过程中光伏模块的辐照度设置为900~1 000 W/m2,温度范围为25~45 ℃。
在实际的并网运行中,常见的故障成因有:光伏模块间的线路由于恶劣天气等原因造成的绝缘层腐蚀、电池内部材料损坏等造成的组件短路;外界因素带来的连接线路断开造成组件开路;异物遮挡造成的遮阴故障,进而引发“热斑效应”;以及过久的使用年限导致组件老化[9]。
对光伏阵列可能发生的故障,将其细化并对该模型下的故障总结后分为以下几类,再通过仿真模拟,当阴影遮挡时设置辐照度为100~900 W/m2,组件老化时串联电阻为1~10 Ω。仿真得到总计800组数据,其中正常数据400组,8类故障、各50组,详见表1。
在不同故障下光伏阵列三列总特性如图4所示。
与正常工作状态进行比较,由故障状态的I-V、P-V曲线可知故障发生时的最大功率点均小于正常情况,且在遮阴与局部短路情况下呈多峰状态,从获取数据中提取特征参数(最大功率点电流Impp、最大功率点电压Umpp、短路电流Isc、开路电压Uoc),其数据的最大功率点P-V分布图如图5所示。
由图5可见,故障2、6、8分布较广,且分布交叉。故障7、5与正常数据贴近。部分故障分布差异较大,但部分故障数据分布集中,人为分类较困难。
4 仿真实验
不失一般性,将所有样本分为训练集与测试集。研究选定了测试集为150个样本,其中8类故障类别各15份,正常数据30份。剩余650份数据为训练集。使用遗传算法对支持向量机核函数参数γ与惩罚因子C进行寻优,算法设定参数为:初始种群数目pop=20,遗传代数gen=50,代沟ggap=0.9,惩罚因子范围为(0,100],核函数参数范围为[0,100]。训练过程中用交叉验证方式得到的准确率即为适应度,拥有分类准确率最高的γ与C即为最优参数。使用遗传算法对其进行参数寻优后,经过50次迭代,绘制成图,可得运行结果如图6所示。由图6可知,最佳准确率有过2次提升,且最后稳定在98.778%,此时γ=14.774,C=75.607。当不对参数寻优的情况下,选用γ=1,C=1参数对SVM模型进行建立,再用模型对测试集进行正确率测试,仅能正确分类样本128条,准确率为85.333%,如图7(a)所示。将训练后的模型对测试集进行测试,正确分类样本147条,准确率为98%,分类结果如图7(b)所示。
由图7可见,分类模型在故障类别1、2、3、4、8中均能准确识别分类,但是对于故障类别5识别有误。故障类别5为当一个组件遮挡,此时总体最大功率点电压电流变化不大,当组件遮挡光照比较小时,其特征值与正常值类似。与BP神经网络进行性能比较,建立BP神经网络,其网络输入层节点数为4,隐含层节点数为9,输出层节点数为9,学习速率为0.1,目标误差为0.000 1。神经网络使用同样的训练集与测试集,训练结束后,准确识别测试集样本为144个,准确率96%。最终可得分类准确率的数值比较结果见表2。
由表2可见,SVM分类器在进行参数寻优后准确率上有了较大提升,尤其在故障类别5、6上的精度提升很明显。在总准确度上要优于普通的BP神经网络。
5 结束语
本文通过仿真获取光伏阵列在不同可能故障下的数据并提取特征值,利用遗传算法对支持向量机的参数进行寻优,再用优化后的参数建立模型,对光伏阵列进行故障诊断。实验表明,优化参数对分类准确率有较大提高,文中的支持向量机在利用遗传算法优化参数后对光伏阵列的故障诊断取得了较高准确率。
参考文献
[HJ1.3mm]
[1]王培珍,郑诗程. 基于红外图像的太阳能光伏阵列故障分析[J].太阳能学报,2010,31(2):197-202.
[2]董美辰. 基于模糊决策树的光伏阵列故障诊断方法研究[D]. 南宁:广西大学,2018.
[3]李云桥. 基于改进BP神经网络的光伏阵列多传感器故障检测定位方法研究[D]. 西安:西安理工大学,2018.
[4]LIU Shengyang,LEI Dong, LIAO Xiaozhong, et al. Photovoltaic array fault diagnosis based on Gaussian Kernel Fuzzy C-Means clustering algorithm[J]. Sensors (Basel, Switzerland),2019,19(7):1520.
[5]郭新辰. 最小二乘支持向量机算法及应用研究[D]. 长春:吉林大学,2008.
[6]林培杰,陈志聪,吴丽君,等.一种PSO-SVM的光伏阵列故障检测与分类[J].福州大学学报(自然科学版),2017,45(5):652-658.
[7]FANG Yihui, CHEN Xingwei,CHENG Niansheng. Estuary salinity prediction using a coupled GA-SVM model: A case study of the Min River Estuary, China[J]. Water Science& Technology: Water Supply,2017,17(1):52-60.
[8]NKURIKIYIMFURA I,SAFARI B,NSHINGABIGWI E K. A Simulink model of photovoltaic modules under varying environmental conditions[J]. IOP Conference Series: Earth and Environmental Science,2018,159(1):012024.
[9]APPIAH A Y, ZHNAG Xinghua,AYAWLI B B K,et al. Review and performance evaluation of photovoltaic array fault detection and diagnosis techniques[J]. International Journal of Photoenergy,2019,2019:6953530.