一种基于随机森林算法的光伏阵列故障诊断方法与流程

文档序号:16507860发布日期:2019-01-05 09:08阅读:266来源:国知局
一种基于随机森林算法的光伏阵列故障诊断方法与流程
本发明涉及光伏
技术领域
,尤其是一种基于随机森林算法的光伏阵列故障诊断方法。
背景技术
:随着能源需求的增长、化石能源的日益枯竭与成本上涨,以及全球气候变暖等诸多因素的影响,可再生能源技术得到了飞速发展,其中,太阳能具有易获取、无噪声、清洁、无穷无尽等优点,成为了可再生能源的重要部分。目前利用太阳能发电主要有两种形式:光热发电和光伏发电。光热发电与火力发电类似,但热能主要来自大规模的镜面收集,将水加热后,利用蒸汽推动传统发电机工作,从而实现发电,这种发电方式虽然规避了硅晶的光电转换,但对光照强度的要求高且发电成本偏高。而光伏发电基于光生伏特效应,直接将太阳能转化为电能,建设周期短,在运行时不会产生废渣、废水和其他污染物,尤其是对于交通不发达的山区、海岛和偏远地区,光伏发电具有更重要的价值。一般情况下,光伏发电都是利用光伏电池组件串、并联组成光伏阵列进行运行的,而光伏阵列使用的光伏电池组件较多,光伏电池组件本身发生故障的概率就较高,并且光伏阵列长期运行在户外,运行环境恶劣,易出现老化和损坏等情况,从而造成光伏电池组件发电效率的降低甚至停止工作。当光伏阵列中某个光伏电池组件发生故障后,会导致系统效率的下降,并对电力系统的运行调度造成不利的影响,严重时,甚至造成财产损失和人员伤亡,因此,对光伏阵列进行故障诊断具有重要意义,目前所采用的故障诊断方法主要包括直接法和间接法两类,间接法比较典型的有红外热量检测法和发电功率对比法,直接法比较典型的有对地电容法、时域反射法、智能诊断算法和电特性检测法。其中,通过将智能诊断算法和电特性检测法进行结合进行故障诊断,是目前非常具有潜力的方法。目前的智能诊断算法多采用以bp(backpropagation)为代表的神经网络,由于光伏阵列可能出现的故障类型较多,因此需要大量训练样本和训练时间,算法结构复杂、实现难度大、诊断时间过长且诊断的精度和可靠性也不高。技术实现要素:本发明人针对上述问题及技术需求,提出了一种基于随机森林算法的光伏阵列故障诊断方法,该方法基于数据驱动的思想,利用随机森林算法构建故障诊断模型,适用于实际光伏阵列的特点,克服了传统神经网络算法需要数据量大、训练时间长等问题,能够简单快速地完成诊断任务。本发明的技术方案如下:一种基于随机森林算法的光伏阵列故障诊断方法,该方法包括:确定光伏阵列在运行过程中的典型运行状态,光伏阵列包括n个支路,每个支路包括m个光伏组件,m和n均为正整数且m≤4、n≤4;在光伏阵列处于各个典型运行状态时,分别采集光伏阵列中的各个支路和总干路对应的电路参数组,每个电路参数组中包括k个电路参数,k为正整数,根据采集到的n+1个电路参数组构建得到一个p维的故障特征向量,其中,p=k*(n+1);根据获取到的故障特征向量构建光伏阵列的数据样本集,将数据样本集划分为训练样本集和测试样本集;基于随机森林算法利用训练样本集构建得到光伏阵列故障诊断模型,并利用测试样本集对光伏阵列故障诊断模型进行测试,光伏阵列故障诊断模型中包括s个决策树,s≥2且s为正整数;利用测试完成的光伏阵列故障诊断模型对待诊断光伏阵列进行诊断,得到s个决策树对各个典型运行状态的投票结果;根据各个典型运行状态的投票结果得到待诊断光伏阵列的故障诊断结果,故障诊断结果用于指示光伏阵列中的各个支路的运行状态。其进一步的技术方案为,基于随机森林算法利用训练样本集构建得到光伏阵列故障诊断模型,包括:对训练样本集进行s次有放回抽样,每次抽样得到一个子训练样本集,共得到s个子训练样本集,s≥2且s为正整数;利用每个子训练样本集训练得到一个决策树;确定训练得到的s个决策树汇总得到的集合即为光伏阵列故障诊断模型。其进一步的技术方案为,在利用子训练样本集训练决策树的过程中,在进行节点分裂时,从p个故障特征中随机选择q个故障特征,q为正整数且q≤p,计算q个故障特征中的各个故障特征对应的基尼系数,将与最小的基尼系数对应的故障特征作为最佳分裂特征来进行节点分裂。其进一步的技术方案为,k=4,每个电路参数组中包括开路电压、短路电流、最大功率点电压和最大功率点电流。其进一步的技术方案为,n=2、m=3,光伏阵列的典型运行状态包括五大类共十二小类,分别为:第一大类为正常运行状态,第一大类包括一小类,为光伏阵列中的各个支路中的各个光伏组件均正常运行时的状态;第二大类为短路故障状态,第二大类包括三小类,分别为光伏阵列中的一个支路中有一个光伏组件短路时的状态,以及光伏阵列中的一个支路中有两个光伏组件短路时的状态,以及光伏阵列中的两个支路均有一个光伏组件短路时的状态;第三大类为开路故障状态,第三大类包括一小类,为光伏阵列中有一个支路开路时的状态;第四大类为阴影故障状态,第四大类包括三小类,分别为光伏阵列中的一个支路中有一个光伏组件存在阴影时的状态,以及光伏阵列中的两个支路中均有一个光伏组件存在阴影时的状态,以及光伏阵列中的一个支路中有一个光伏组件存在阴影、另一个支路中有两个光伏组件存在阴影时的状态,以及光伏阵列中的两个支路中均有两个光伏组件存在阴影时的状态;第五大类为混合故障状态,第五大类包括四小类,分别为光伏阵列中的一个支路开路、另一个支路中有一个光伏组件存在阴影时的状态,以及光伏阵列中的一个支路中有一个光伏组件短路、另一个支路中有一个光伏组件存在阴影时的状态,以及光伏阵列中的两个支路均有一个光伏组件短路、一个光伏组件存在阴影时的状态,以及光伏阵列中的两个支路均有一个光伏组件短路、两个光伏组件存在阴影时的状态。本发明的有益技术效果是:1、本申请公开了一种基于随机森林算法的光伏阵列故障诊断方法,该方法基于数据驱动的思想,利用随机森林算法构建光伏阵列故障诊断模型,适用于实际光伏阵列的特点,克服了传统神经网络算法需要数据量大、训练时间长等问题,能够简单快速地完成诊断任务,快速实现小型光伏阵列,尤其是3×2光伏阵列的故障诊断。2、本发明采用随机森林的故障诊断模型结构,通过多个决策树的集成,由许多弱分类器构建了一个强分类器,诊断结果由投票产生,即使最多票数的诊断结果错误,还能调取第二、三票数的诊断结果,供维修人员参考,提高维修效率,从而缩短系统的故障时间。附图说明图1是本申请公开的光伏阵列故障诊断方法的流程图。图2-a是单个太阳能电池组件在不同光照强度下的u-i输出特性曲线。图2-b是单个太阳能电池组件在不同光照强度下的u-p输出特性曲线。图2-c是单个太阳能电池组件在不同温度情况下的u-i输出特性曲线。图2-d是单个太阳能电池组件在不同温度情况下的u-p输出特性曲线。图3是单个太阳能电池组件在光照强度600w/m2、800w/m2、1000w/m2情况下的输出特性曲线。图4-a是光伏阵列中有一个支路发生故障时的u-i输出特性曲线。图4-b是光伏阵列中有一个支路发生故障时的u-p输出特性曲线。图4-c是光伏阵列中有两个支路发生故障时的u-i输出特性曲线。图4-d是光伏阵列中有两个支路发生故障时的u-p输出特性曲线。图5-a是光伏阵列处于状态标签f1对应的运行状态时的u-i输出特性曲线。图5-b是光伏阵列处于状态标签f2对应的运行状态时的u-i输出特性曲线。图5-c是光伏阵列处于状态标签f5对应的运行状态时的u-i输出特性曲线。图5-d是光伏阵列处于状态标签f8对应的运行状态时的u-i输出特性曲线。图5-e是光伏阵列处于状态标签f13对应的运行状态时的u-i输出特性曲线。具体实施方式下面结合附图对本发明的具体实施方式做进一步说明。本申请公开了一种基于随机森林算法的光伏阵列故障诊断方法,请参考图1,整个故障诊断流程包括如下步骤:第一步,搭建m*n形式的光伏阵列,该光伏阵列包括并联的n个支路,每个支路包括串联的m个光伏组件,m和n均为正整数。阵列中的光伏组件通常是太阳能电池组件,每个光伏组件规格相同,以保证光伏阵列的电位平衡,并且旁路二极管、隔离二极管、快速熔断器、电压和电流传感器等保护、检测装置均安装正确并正常工作。在实际实现时,本申请公开的方法更适用于小型光伏阵列,因此通常有m≤4、n≤4。本申请以更为典型的n=2、m=3的情况为例进行说明,采用6块无锡尚德太阳能有限公司suntechstp270-24/vd型太阳能电池组件搭建光伏阵列,该型号的太阳能电池组件的参数规格表如下表所示:参数类型参数值开路电压(voc)44.5v最大功率点电压(vm)35.0v短路电流(isc)8.20a最大功率点电流(im)7.71a最大功率(pmax)270w运行温度-40℃~+85℃系统最大承受电压1000vdc串联后保险丝的额定电流20a功率误差±3%单个太阳能电池组件在温度情况相同的条件下,在不同光照强度下的u-i(电压-电流)输出特性曲线如图2-a所示、u-p(电压-功率)输出特性曲线如图2-b所示;在光照强度相同的情况下,温度从35℃下降至15℃(图中分别为35℃、30℃、25℃、20℃和15℃)时的u-i输出特性曲线如图2-c所示、u-p输出特性曲线如图2-d所示。可以看出,随着光照强度的增加和温度环境的降低,太阳能电池组件的输出功率增加,发电量增大。单独给出了光照强度600w/m2、800w/m2、1000w/m2情况下的输出特性曲线如图3所示。第二步,确定光伏阵列在运行过程中的典型运行状态,光伏阵列的典型运行状态用于指示光伏阵列中的各个支路的运行状态。光伏阵列在实际运行时会出现较多类型的故障,主要划分为四种:短路故障、开路故障、阴影故障以及混合故障,再加上正常运行的情况,光伏阵列的运行状态主要包括五大类:正常运行状态、短路故障状态、开路故障状态、阴影故障状态以及混合故障状态。当光伏阵列中的一个支路或多个支路发生故障时,故障的支路以及整个光伏阵列的输出特性曲线都会发生变化,如图4-a至4-d分别示出了不同情况下的故障支路、故障阵列、正常支路和正常阵列的输出特性曲线,其中正常支路是指正常运行的支路,正常阵列是指各个支路均正常运行时的光伏阵列,故障支路是指发生故障时的支路,故障阵列是指有支路发生故障时的光伏阵列,具体的:光伏阵列中有一个支路发生故障时的u-i输出特性曲线如图4-a所示;有一个支路发生故障时的u-p输出特性曲线如图4-b所示;有两个支路发生故障时的u-i输出特性曲线如图4-c所示;有两个支路发生故障时的u-p输出特性曲线如图4-d所示。由图中可以看出,当光伏组件发生故障导致其所在支路发生故障时,无论是该发生故障的支路还是整个光伏阵列,都会出现一个明显的功率损失,正常支路和正常阵列的输出特性曲线呈单峰特性,而故障支路和故障阵列呈多峰特性。光伏阵列的五大类运行状态可以进一步分为多个小类,实际可以在其中选择若干最为常见的小类作为光伏阵列的典型运行状态,其具体选择可以根据实际经验进行。比如在本申请n=2、m=3的例子中,可以在这些运行状态大类中选择十三小类最为常见的运行状态作为典型运行状态,分别为:(1)、第一大类为正常运行状态,第一大类包括一小类,为光伏阵列中的各个支路中的各个光伏组件均正常运行时的状态。(2)、第二大类为短路故障状态,第二大类包括三小类,分别为光伏阵列中的一个支路中有一个光伏组件短路时的状态,以及光伏阵列中的一个支路中有两个光伏组件短路时的状态,以及光伏阵列中的两个支路均有一个光伏组件短路时的状态。需要说明的是,短路故障可以看作是一种特殊的阴影故障:光伏组件被完全遮挡而无法工作而被旁路二极管全程短路,但与阴影故障不同的是,一条支路中最多存在两个光伏组件短路,若全部光伏组件短路,则熔断装置熔断,该支路会开路。(3)、第三大类为开路故障状态,第三大类包括一小类,为光伏阵列中有一个支路开路时的状态。(4)、第四大类为阴影故障状态,第四大类包括三小类,分别为光伏阵列中的一个支路中有一个光伏组件存在阴影时的状态,以及光伏阵列中的两个支路中均有一个光伏组件存在阴影时的状态,以及光伏阵列中的一个支路中有一个光伏组件存在阴影、另一个支路中有两个光伏组件存在阴影时的状态,以及光伏阵列中的两个支路中均有两个光伏组件存在阴影时的状态。需要说明的是,阴影故障与短路故障不同,可以存在所有光伏组件均存在阴影的情况。(5)、第五大类为混合故障状态,第五大类包括四小类,分别为光伏阵列中的一个支路开路、另一个支路中有一个光伏组件存在阴影时的状态,以及光伏阵列中的一个支路中有一个光伏组件短路、另一个支路中有一个光伏组件存在阴影时的状态,以及光伏阵列中的两个支路均有一个光伏组件短路、一个光伏组件存在阴影时的状态,以及光伏阵列中的两个支路均有一个光伏组件短路、两个光伏组件存在阴影时的状态。为了清楚简洁地表示各个典型运行状态,可以用状态标签表示各个典型运行状态,上述十三类典型运行状态以表格的形式表示如下:当光伏阵列处于不同的运行状态时,光伏阵列中的两个支路以及整个光伏阵列的u-i输出特性曲线和u-p输出特性曲线均不相同,以u-i输出特性曲线为例:光伏阵列处于状态标签f1对应的运行状态时的u-i输出特性曲线如图5-a所示,光伏阵列处于状态标签f2对应的运行状态时的u-i输出特性曲线如图5-b所示,光伏阵列处于状态标签f5对应的运行状态时的u-i输出特性曲线如图5-c所示,光伏阵列处于状态标签f8对应的运行状态时的u-i输出特性曲线如图5-d所示,光伏阵列处于状态标签f13对应的运行状态时的u-i输出特性曲线如图5-e所示。需要说明的是,上述各个图中由于曲线重合,使得曲线上的标记有所叠加,比如支路b和阵列的曲线重合会导致图上显示六角形图示,但本领域技术人员应该可以从附图中明白其实际表示的含义,另外本申请对光伏阵列处于其他各个典型运行状态时的u-i输出特性曲线不一一示例。第三步,构建故障特征向量。主要在光伏阵列处于各个典型运行状态时,分别采集光伏阵列中的各个支路和总干路对应的电路参数组,光伏组件所处的光照强度和温度的区间大致分别在[800,900]w/m2和[40,50]℃。每个电路参数组中包括k个电路参数,k为正整数,在本申请中,k=4,本申请采集开路电压voc、短路电流isc、最大功率点电压vm和最大功率点电流im这四个参数构成电路参数组,这是由于这四个参数能够很好的刻画光伏组件的u-i输出特性曲线。在光伏阵列中,共采集得到n+1个电路参数组,每个电路参数组中包括k个电路参数,因此可以根据采集到的电路参数组构建得到一个p维的故障特征向量,其中,p=k*(n+1)。在本申请举例的3*2光伏阵列中,主要有两个支路和一个总干路,因此需要采集两个支路和总干路的voc、isc、vm和im,因此会得到一个12维的故障特征向量。第四步,得到故障特征向量后,就能汇总并构建成光伏阵列的数据样本集,由故障特征向量汇总得到数据样本集的方法是本领域技术人员都知道的方法,本申请对此不进行展开叙述。对数据样本集进行划分得到训练样本集和测试样本集,通常可以按照2:1的比例划分成为训练样本集和测试样本集。第五步,基于随机森林算法的光伏阵列故障诊断模型的构建,设训练样本集为x,p是故障特征向量的维度,在本申请举例的3*2光伏阵列中,p=12;s是故障诊断中需要建立的决策树的数目,s≥2且s为正整数,则基于随机森林算法利用训练样本集构建得到光伏阵列故障诊断模型的步骤可以简述为:1、对训练样本集x进行s次有放回抽样,每次抽样得到一个子训练样本集,共得到s个子训练样本集,记第i个子训练样本集为xi,i为参数,i=1,2……,s。2、利用每个子训练样本集训练得到一个决策树,也即利用子训练样本集xi训练决策树qi,在进行节点分裂时,从p个故障特征中随机选择q个故障特征,q为正整数且q≤p,计算q个故障特征中的各个故障特征对应的基尼系数,将与最小的基尼系数对应的故障特征作为最佳分裂特征来进行节点分裂,基尼系数的计算方法可以采用现有的计算公式,本申请对此不作详细介绍。3、将s个决策树qi(i=1,2……,s)进行汇总,汇总得到的集合即为光伏阵列故障诊断模型。第六步,光伏阵列故障诊断模型的测试。利用测试样本集对光伏阵列故障诊断模型进行测试,可以最终得到诊断精度、平均训练时间和测试时间等指标。将本申请基于随机森林(rf)算法的故障诊断与基于神经网络(bp)和极限学习机(elm)的故障诊断进行对比,实际实验结果如下表所示。从表中可以看出,基于随机森林(rf)的故障诊断方法的诊断精度较高,同时训练和测试时间的表现也较好。诊断方法训练时间/s测试时间/s诊断精度/%bp2.66640.1085296.92elm0.34490.0066397.69rf0.37180.0105298.46第七步,利用测试完成的光伏阵列故障诊断模型对待诊断光伏阵列进行诊断,也即采用光伏阵列故障诊断模型中的s个决策树进行投票,由于随机森林的诊断结果是由投票产生的,因此会得到s个决策树对各个典型运行状态的投票结果。根据各个投票结果即可以得到待诊断光伏阵列的故障诊断结果,也即确定待诊断光伏阵列中各个支路的运行状态。通常情况下,票数最多的典型运行状态即为待诊断光伏阵列的实时运行状态,也即可以确定光伏阵列出现的故障类型。以20棵决策树为例,5组实测结果的部分投票结果汇总,以及对应的故障诊断结果如下表,表中以状态标签进行表示:如上表可以看出,对于第一组数据,状态标签f2对应的典型运行状态对应的票数为19票为最多,则诊断结果为待诊断光伏阵列处于状态标签f2对应的典型运行状态,也即诊断得到待诊断光伏阵列的一个支路中有一个光伏组件短路,并且这一诊断结果与故障真值是相符的。对于第三组数据,状态标签f11对应的典型运行状态对应的票数为10票为最多,则诊断结果为待诊断光伏阵列处于状态标签f10对应的典型运行状态,也即诊断得到待诊断光伏阵列的一个支路开路、另一个支路中有一个光伏组件存在阴影,虽然这一诊断结果与故障真值不符,但由于本申请会得到各个典型运行状态对应的投票结果,因此即使发生了这种诊断错误的情况,实际运行状态的类型也会出现在投票统计中(可以看到状态标签f7对应的典型运行状态对应的票数为5票,票数第二多),相当于有备选诊断结果,所以工作人员能对各个典型运行状态的票数进行调取并查看票数统计情况,从而找出可能发生故障的类型,即使是最高票对应的诊断发生了错误,仍可以按票数高低依次进行故障排除,也即本申请实际是提供了一个诊断路线,从而提高维修效率,缩短系统的故障时间。以上所述的仅是本申请的优选实施方式,本发明不限于以上实施例。可以理解,本领域技术人员在不脱离本发明的精神和构思的前提下直接导出或联想到的其他改进和变化,均应认为包含在本发明的保护范围之内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1