基于改进原子轨道搜索算法优化随机森林分类器的光伏系统故障诊断
2023-11-02杨晓燕谢满承郭小璇赵岩陈翀旻陈子民廖卓颖
杨晓燕,谢满承,郭小璇,赵岩,陈翀旻,陈子民,廖卓颖
(1.广西电网有限责任公司南宁供电局,南宁 530001; 2.广西电网有限责任公司电力科学研究院,南宁 530023;3.中国科学院广州能源研究所,广州 501640)
0 引言
随着我国“双碳”目标的提出及碳减排工作的不断深入,以新能源为主体的新型电力系统快速发展,光伏发电因可用性高、安装速度快、维护成本低、能源独立性强,成为常用的可再生清洁能源之一[1-2]。国家能源局公布的数据显示,截至2022 年年底,全国累计光伏并网容量约为3.920 4 亿kW,同比增长了28.12%,其中集中式光伏电站累计并网容量为2.344 2 亿kW,分布式光伏电站累计并网容量为1.576 2 亿kW[3]。光伏电站系统由组件、逆变器、汇流箱、支架等多个部件组成,它们通常在恶劣的室外环境中运行,强风、大雨、冰雹、污染、紫外线、热循环和不当的运输、安装、维护等都会导致光伏系统出现各种故障[4]。光伏系统部件众多,任何一个环节出现问题,都会影响电站的正常运行[5],轻则损失发电量(据Firth 等的统计,光伏阵列故障可导致输出电能减少18.9%[6]),重则引起火灾等。光伏系统故障大多发生在直流侧,即模块或阵列本身,也可能发生在交流侧,涉及逆变器或与电网的连接异常[7]。据统计,组件、逆变器、汇流箱等直流侧设备故障占比高达90.18%;电缆、箱式变电站、土建、升压站等交流侧设备故障占比达9.82%[8]。为了确保光伏阵列可靠运行,近年来许多国内外学者对故障检测和诊断方法进行了广泛研究。
通过时序电流-电压(I-V)测量进行光伏阵列故障诊断是目前较普遍的诊断方法[9],光伏电站数据采集与监视控制(SCADA)系统通过传感器测量并采集各部件的相关运行参数,这些电压、电流、频率等参数能反映组件的运行状态信息[10]。对比电压、电流、频率等数据正常运行值和实际值间的差值,经过算法分析得到故障诊断的结果[9]。在分析计算过程中,常采用群智能算法对核极限学习机[11-12]、神 经 网 络[13]、随 机 森 林(Random Forest,RF)[14]等分类诊断算法进行优化。文献[11]提出了一种基于萤火虫扰动的改进麻雀搜索算法优化传统极限学习机的光伏系统故障诊断方法,能够有效解决传统故障诊断方法收敛速度慢的问题。文献[12]利用Levy 飞行策略和自适应t分布策略对麻雀搜索算法进行改进,再利用改进后的麻雀搜索算法对核极限学习机的核参数和正则化系数进行优化,提高了核极限学习机分类的准确率。文献[13]提出了利用自适应权重粒子群对反向传播(Back Propagationg,BP)神经网络优化的光伏阵列故障诊断方法,提高了故障诊断的实时性。文献[14]提出了一种基于级联RF 的光伏组件在线故障诊断模型,其准确率和收敛时间都优于单一的RF 模型与BP神经网络模型。
神经网络故障诊断方法对样本数量要求高,对相关参数的依赖性强;核极限学习机方法对数据集中存在的离群点过于敏感;而RF 算法对泛化误差采用无偏估计,具有较强的泛化能力及强抗干扰和抗过拟合特性。因此,本文选择RF 分类器作为光伏系统故障诊断的基础算法,同时在原子轨道搜索(Atomic Orbital Search,AOS)算法的基础上提出改进的IAOS 算法,共同构建光伏阵列故障诊断模型。首先,对光伏系统故障进行分类;然后,用IAOS算法优化RF 分类器,形成更加高效的IAOS-RF 模型;最后,对光伏系统故障进行仿真试验分析。
1 光伏系统故障分类
本文使用实验室可实现的典型并网光伏系统来验证所提算法在最大功率点跟踪(Maximum Power Point Tracking,MPPT)模式下的故障诊断性能。该光伏系统由N×M个光伏组件阵列、反馈传感器、MPPT 控制器、逆变器和升压变压器组成,系统结构如图1所示。
图1 光伏系统结构Fig.1 Structure of a PV system
常见的光伏系统故障只考虑了光伏组件老化、遮阴问题和阵列之间的短路、开路问题[15-17],很少涉及系统中传感器、控制器、逆变器等元件的故障。本文除了常见的光伏阵列故障,更偏重对不同元件的故障类型进行分类,所述光伏系统不同工作状态包括正常状态、逆变器故障、反馈传感器故障、电网异常故障、局部阴影故障、单支路开路故障、MPPT控制器故障和升压转换器控制器故障,并对此进行编号。表1为以上运行状态及故障成因。
2 算法原理与改进
2.1 AOS算法基本原理
AOS 算法是在原子搜索算法基础上提出的新型元启发式算法,原子间的相互作用力是该算法数学模型的关键,而电子密度配置和原子吸收或发射能量的基本原理则是AOS算法的主要思想[18]。AOS算法模拟了电子在高低两种能态之间的转移过程,在该算法中,每个电子代表一个可行解X,搜索空间为围绕原子核的电子云,其物理模型可分成不同半径的薄球壳层,也称为电子轨道。每个电子由搜索空间中的可行解Xi表示,决策变量xji用于定义候选解在搜索空间中的位置,该目标的数学方程为
式中:m为搜索空间内电子的数量;d为可行解的维数。
电子云中电子的初始位置根据以下数学方程随机确定。
式中:E为目标函数值的向量;Ei为第i个电子的能级。
在基于量子的原子模型中,电子在原子核周围的位置由电子的概率密度函数(Probability Density Function,PDF)决定。原子核周围的电子云分为多个虚拟层,PDF用于确定可行解在这些层中的位置。可行解基于最小化或最大化优化问题按升序或降序进行排序,较好目标函数值的可行解代表较低能级的电子。因此,具有较高PDF 值的可行解位于内部虚拟电子层,而具有较低PDF 值的可行解位于外部虚拟电子层,如图2所示。
图2 通过PDF确定可行解位置Fig.2 Determining the positions of solution candidates by PDF
图2 所示的原子轨道模型中,随机整数n用于表示虚拟层L的数量。这些层将整个搜索空间划分为多个部分,以便在数学上表示原子核周围电子的波动行为。这些层的半径表示这些层在核周围的分布方式,其中较小半径的层为核层(L0),较大半径的层为核周围n个(L1—Ln)球形层。
虚拟层中可行解位置Xk和目标函数值Ek的矢量方程如下
2.2 IAOS算法
在光子的发射、吸收部分的更新策略中引入自适应权重和反向学习机制更新电子位置,可以提高搜索空间的全面勘探和开发能力,更加快速准确地找到最佳值。
2.3 IAOS-RF算法
利用IAOS算法对RF的决策树数目和决策树深度进行优化求解,形成更加高效的组合训练模型。选取该模型的期望输出值和实际输出值的均方差为目标函数即适应度值,利用原子轨道中的电子聚集来确定决策树数目和决策树深度,当均方差值最小时,就确定了RF的一组理论最优参数。IAOS-RF模型的具体实现步骤如下。
(1)数据预处理。对采集的原始特征参数进行数据预处理,包括数据归一化和数据打乱等。
(2)算法初始化。初始化AOS 算法参数和RF的最大迭代次数,其中AOS 算法参数及其常见的取值范围为:轨道数n∈[2,10],原子数i∈[2,50],光子速率vp∈(0,1)。
(3)计算个体适应度值。每个电子都有一个能量状态,对应各个个体的适应度值。
(4)确定各个层级的结合能和结合态。将各层中的电子位置平均值记为结合态,结合能为各个个体适应度值的平均值。
(5)更新电子位置。引入自适应权重和反向学习机制对光子的发射、吸收部分的更新策略进行改进,更新电子状态。
(6)更新电子最优位置与适应度值。在寻优迭代过程中,对电子的位置向量和适应度进行更新。
(7)确定RF 分类器最优参数。重复步骤(3)—(6),当达到算法最大迭代次数或满足算法设定精度时,则认为算法趋于收敛,停止迭代,输出理论最优决策树数目和决策树深度给RF分类器。
(8)抽取子数据集。采取有放回的抽样方式在原始数据集中进行子数据集的随机抽取。
(9)构建决策树。假设一个子数据集有X个属性,决策树的节点需要分裂时,从这些属性中随机抽选出Y个属性(Y≪X);再通过信息增益方式从Y个属性中选择一个作为该节点的分裂属性;不断重复这个步骤,直到达到决策深度值为止。
(10)构建RF。按照步骤(8)—(9)来构建大量若干的决策树直到达到决策树数目值为止,这些子决策树就会构成RF。
(11)进行故障诊断。将数据集输入不同的子决策树,得到不同的判断结果,判断结果最多的就是RF的最佳故障诊断分类结果。
3 算例分析
3.1 数据样本选取
本文数据来自Azzeddine Bakdi提供的实验室并网光伏系统故障数据[19]。在并网光伏系统的8种工作状态下分别采集200 组数据,共1 600 组,随机抽取1 200 组数据作为故障诊断的训练样本,其余400组数据作为该模型的测试样本。采用的光伏发电阵列工作于最大功率点,关注的电气参数包括光伏阵列电流Ipv、光伏阵列电压Vpv、直流电压Vdc、A 相电流ia、B相电流ib、C相电流ic、A相电压va、B相电压vb、C相电压vc,典型样本数据见表2。
3.2 试验过程及诊断结果
将IAOS-RF 算法的最大迭代次数设为100,用于电子位置测定的光子率设为0.1,电子数量设为30,虚拟层数设为5。以上参数对算法性能的影响是相互关联的:较小的最大迭代次数和较高的光子率可加快算法的收敛速度,但也可能降低搜索的精度;较多的电子数量和较大的虚拟层数可以增加全局搜索的能力,但也增加了计算和存储的压力。因此,选择适当的参数组合以平衡算法的速度和品质至关重要。本文参数设定原因如下。
表2 光伏阵列典型样本数据Table 2 Typical sample data for PV arrays
(1)本算法用于故障诊断场景时,目标函数趋于稳定所需的迭代次数基本都少于100,因此将最大迭代次数设为100。较小的迭代次数可以在相对较短的时间内得到结果,适用于简单问题或需要较快得到结果的场景,避免算法过度迭代。
(2)较高的光子率意味着光子更有可能进入较远的位置,扩大搜索空间,以便更好地发现潜在的解,但会降低搜索精度。综合考虑精度和收敛速度要求,选择光子率为0.1。
(3)较多的电子数量可以提高算法的全局搜索能力,但也增加了计算和存储的成本,选择适当的电子数量可在考虑效率的同时保持算法的搜索品质。为了平衡搜索的速度和精度,将电子数量设为30。
(4)通过引入虚拟层,算法可以探索更多不同的解并避免陷入局部最优解,较大的虚拟层数将增加计算和存储要求,但可以提高算法的搜索效果。为了增加搜索的灵活性和多样性,将虚拟层数设为5。
利用3.1 节采集的数据集,在IAOS-RF 算法模型中进行迭代训练,将训练结果与AOS-RF 模型和传统RF 模型的训练结果进行对比,其中各电气特征参数在诊断过程中的重要性如图3 所示。其中,Ipv,Vpv,Vdc这3 个特征参数占较高比重。由此可见,不同运行状态下,这3个参数差异较大,其阈值差能有效帮助识别故障类型。
图3 电气特征参数的重要性Fig.3 Importance of electrical characteristic parameters
经过仿真试验得到IAOS-RF 和AOS-RF 算法模型的迭代次数值和适应度值,结果见表3。由表3可以看出:IAOS-RF 算法模型迭代55次左右时目标函数的结果就趋于稳定,而AOS-RF 需要迭代70 次左右才能趋于稳定,说明改进后的算法可以更好地跳出局部极值点,能以更快的速度收敛到全局最优;同时,IAOS-RF 算法模型适应度为0.032,而AOS-RF算法模型的适应度为0.035,说明改进后的算法寻优精度更好。这是因为引入了自适应权重和反向学习机制对光子发射和吸收部分的更新策略进行改进,用于更新电子状态。自适应权重机制的作用是根据当前搜索状态和解的情况,动态调整光子发射和吸收的权重,使得算法能够更好地平衡探索和利用的能力,更有效地搜索解空间;通过引入反向学习机制,电子的位置将根据光子发射和吸收的结果进行更新,这种更新机制使得电子能够更快地朝着更优解的方向移动,从而加速算法的收敛。
表3 2种算法模型的迭代次数和适应度Table 3 Iteration times and fitness of the two models
对故障特征参数的样本数据进行训练后,将其余400 组测试集数据输入3 种模型,得到的测试集的故障诊断分类结果见表4。
表4 3种算法模型诊断结果Table 4 Diagnostic accuracy of the three models
(1)在相同样本数据集下,IAOS-RF 算法模型的诊断精度达到了98.00%,略高于AOS-RF 的95.00%,二者均远高于RF 算法模型的77.25%。这是由于AOS 优化了RF 分类器的决策树数目和决策树深度,使得分类器中的决策树可以更好地将光伏阵列的故障数据分解为不同维度的细节信息,理论上可以不断逼近实际故障类型的输入输出非线性映射关系。
(2)在测试的400组数据中,IAOS-RF 算法模型仅误诊断8 组数据,IAOS-RF 算法模型的测试集预测结果如图4所示。AOS-RF 算法模型误诊断20组数据,传统RF 模型则误诊断60 组数据。表明改进的IAOS 优化RF 分类器后,有效增强了故障模型的分类诊断能力,在区域搜索过程中收敛速度和适应度均得到了一定提升,因此可以更准确地对光伏系统故障进行诊断。另外,对于第4种故障,即电网异常故障,IAOS-RF 算法和AOS-RF 算法的误诊率均为最高。究其原因,可能是样本不平衡以及算法对特定故障类型的鲁棒性不足等。
针对这些问题,提出以下能增强算法对各种故障类型适应能力的方法。
图4 IAOS-RF算法模型测试集预测结果Fig.4 Predicted results of the testing set by IAOS-RF algorithm
(1)数据清洗和预处理。引入更多的数据清洗和预处理步骤,减少噪声,处理缺失数据等,以提高算法对数据质量的鲁棒性并降低误诊断的风险。
(2)特征选取和特征工程。使用领域专家等知识,结合模型进行自动筛选和特征提取,进一步改善特征表示能力,优化特征选择的过程。
4 结论
针对光伏系统故障难以被准确高效地诊断和分类问题,利用IAOS-RF 算法模型对光伏系统进行故障诊断,得到如下结论。
(1)IAOS具有更强的寻优能力和更快的收敛速度,可有效对光伏系统故障进行诊断,不受模型其他参数影响。
(2)相较于传统RF 和AOS-RF 算法模型,IAOS-RF 算法模型可以更加迅速准确地识别出光伏阵列的各类故障,在故障诊断效率和精度上都有明显的优势。
(3)利用IAOS-RF 算法建立基于数据驱动的诊断模型,在样本有限的情况下具有良好的泛化能力,能够有效提高光伏发电阵列故障分类的准确性,仿真证明该方法的故障诊断准确率可达98%。
IAOS-RF 算法在光伏系统故障诊断方面取得了显著的成果,但仍存在一些局限性和改进空间,需要进一步研究和探讨。
(1)在现实应用中,光伏系统故障数据可能受到多种因素的影响,如噪声、缺失数据等。因此,如何处理和优化这些数据质量问题以及如何更准确地选择和提取故障特征,仍然是一个值得研究的方向。
(2)尽管IAOS-RF 算法能够有效地处理光伏系统的故障诊断问题,但结合其他机器学习方法可能进一步提升其性能。例如,可以考虑结合深度学习方法,如卷积神经网络或循环神经网络,以便更好地解决特征提取和模式识别问题。
(3)随着光伏系统的不断发展,其结构和运行情况可能变得更加复杂。如何进一步提升IAOSRF算法的泛化能力,以适应各种系统结构和工况变化,是未来研究的一个关键方向。