基于协同表达和LightGBM算法的风机变桨电机温度故障预警方法与流程

文档序号:24531152发布日期:2021-04-02 10:10阅读:140来源:国知局
基于协同表达和LightGBM算法的风机变桨电机温度故障预警方法与流程

本发明涉及故障诊断及预警技术领域,具体涉及基于协同表达和lightgbm算法的风机变桨电机温度故障预警方法。



背景技术:

目前风电机组scada系统中已经集成变桨电机高温故障报警功能,但功能单一,只有故障指标达到设定的阈值后,才会出现报警,且会造成机组停机造成较大的电量损失,不能进行故障预警及诊断。

基于数据统计及经验判断的预警方法,能够进行一些变桨电机高温预警,但依赖于人工经验以及大量的数据统计。

传统的boosting算法(如gbdt和xgboost)需要对每一个特征都要扫描所有的样本点来选择最好的切分点,需要消耗大量时间,在如今风电领域大样本和高维度的环境下,传统的boosting在效率和可扩展性上不能满足现在的需求。

现有的风电机组变桨电机故障预警智能算法多是基于决策树、神经网络等机器学习算法,算法训练需要大量的scada数据,训练耗时长,准确率低,并且难以识别出引发故障的根本原因,另外大多数机器学习工具都无法直接支持类别特征作为输入,一般需要转换成多维0/1特征,带来计算和内存上的额外消耗。



技术实现要素:

针对现有技术的不足,本发明提供了基于协同表达和lightgbm算法的风机变桨电机温度故障预警方法,克服了现有技术的不足,大大提高了算法运行效率,提高了算法精度,并通过根因分析得到更为准确的故障原因。

为实现以上目的,本发明通过以下技术方案予以实现:

基于协同表达和lightgbm算法的风机变桨电机温度故障预警方法,包括以下步骤:

步骤s1:对数据进行清洗,将不正常数据剔除,并根据事件数据及时间序列筛选出无故障状态下的运行数据;

步骤s2:对数据进行预处理,通过引入变桨电机温度与上一时刻变桨电机温度差参数来体现时间序列;

步骤s3:通过协同表达选出输入参数;

步骤s4:通过十折交叉法验证进行超参数调参,选取得到最优参数;

步骤s5:将最优参数带入模型进行训练,得到最优参数下的每台风机的lightgbm模型;

步骤s6:对新来的数据直接带入已经训练好的模型中,得到变桨电机温度的预测值;

步骤s7:将预测值与实际值进行对比,比较预测值与实际值的残差,判断残差是否持续大于设定的阈值;若是,则发出预警。

优选地,所述步骤s3通过协同表达选出输入参数具体包括以下步骤:

步骤s31:通过协同表达选取与变桨相关参数;

步骤s32:通过协同表达算法算各个参数与变桨电机温度之间的权重系数;

步骤s33:将权重系数从小到大进行排序,得到输入参数。

优选地,所述步骤s31中所选取的与变桨相关参数包括:风速、环境温度、有功功率、三个叶片发电机定子绕组温度、轮毂温度、a相电流、b相电流、c相电流、叶片电机温度、与上一时刻电机温度差。

优选地,所述步骤s32中所述协同表达算法公式如下:

其中x为输入参数,y为变桨电机温度,α为得到的各个参数对于变桨电机温度的权重系数,从上面公式可以得到α的解析解为:

α=(xtx+λi)-1xty.

以获取每一个参数对应的权重系数。

优选地,所述步骤s4通过十折交叉法验证进行超参数调参,选取得到最优参数;包括以下步骤:

步骤s41:通过交叉验证对lightgbm中超参数进行优化得到最优lightgbm模型;

步骤s42:将筛选出的正常情况变桨电机温度相关参数数据带入lightgbm模型中,得到基于lightgbm的变桨电机故障预警模型;

步骤s43:对模型进行训练,将输入参数与变桨电机温度作为训练集带入lightgbm模型中;

步骤s44:通过十折交叉验证进行超参数调参,得到最优参数并带入模型进行训练,得到最优参数下的每台风机的lightgbm模型。

本发明提供了基于协同表达和lightgbm算法的风机变桨电机温度故障预警方法。具备以下有益效果:针对风电机组scada数据量大、数据维度多的特点,通过协同表达算法选出相关性较高的输入参数,再通过lightgbm算法,对数据进行训练,从而得到变桨电机温度预测的算法模型。利用lightgbm分布式、高效的特性,很好的解决了风电机组变桨电机故障预警建模困难、准确率低的问题。

附图说明

为了更清楚地说明本发明或现有技术中的技术方案,下面将对现有技术描述中所需要使用的附图作简单地介绍。

图1本发明的算法流程图;

图2本发明中模型预测值与实际值对比图;

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述。

如图1-2所示,本发明公开了基于协同表达和lightgbm算法的风机变桨电机温度故障预警方法,包括以下步骤:

步骤s1:对数据进行清洗,将缺失、重复等不正常数据剔除,并根据事件数据及时间序列筛选出无故障状态下的运行数据;

步骤s2:对数据进行预处理,由于温度是根据时间序列逐渐变化的,因此通过引入变桨电机温度与上一时刻变桨电机温度差参数来体现时间序列;

步骤s3:通过协同表达选出输入参数;具体包括如下步骤:

步骤s31:通过协同表达选取与变桨相关参数;所选取的与变桨相关参数包括:风速、环境温度、有功功率、三个叶片发电机定子绕组温度、轮毂温度、a相电流、b相电流、c相电流、叶片电机温度、与上一时刻电机温度差。

步骤s32:通过协同表达算法算各个参数与变桨电机温度之间的权重系数;所述协同表达算法公式如下:

其中x为输入参数,y为变桨电机温度,α为得到的各个参数对于变桨电机温度的权重系数,从上面公式可以得到α的解析解为:

α=(xtx+λi)-1xty.

步骤s33:在得到每一个参数对应的权重系数后,将权重系数从小到大进行排序,得到输入参数。

步骤s4:通过十折交叉法验证进行超参数调参,选取得到最优参数;具体包括以下步骤:

步骤s41:通过交叉验证对lightgbm中超参数进行优化得到最优lightgbm模型;

步骤s42:将筛选出的正常情况变桨电机温度相关参数数据带入lightgbm模型中,得到基于lightgbm的变桨电机故障预警模型;

步骤s43:对模型进行训练,将输入参数与变桨电机温度作为训练集带入lightgbm模型中;

步骤s44:通过十折交叉验证进行超参数调参,得到最优参数并带入模型进行训练,得到最优参数下的每台风机的lightgbm模型。

在本实施例中,lightgbm算法通过采用两种方法提升了算法运行效率:①采用基于梯度的单边采样(goss)算法减少了样本量,保留梯度较大的样本,对梯度较小的样本按比例进行采样;②采用互斥特征捆绑(efb)算法减少了特征量,通过直方图算法对冲突更小的特征进行捆绑,减少了特征的数量。

步骤s5:将最优参数带入模型进行训练,得到最优参数下的每台风机的lightgbm模型;

步骤s6:对新来的数据直接带入已经训练好的模型中,得到变桨电机温度的预测值;

步骤s7:将预测值与实际值进行对比,比较预测值与实际值的残差,判断残差是否持续大于设定的阈值;若是,则发出预警。

在本申请中,针对风电机组scada数据量大、数据维度多的特点,通过协同表达算法选出相关性较高的输入参数,再通过lightgbm算法,对数据进行训练,从而得到变桨电机温度预测的算法模型。利用lightgbm分布式、高效的特性,很好的解决了风电机组变桨电机故障预警建模困难、准确率低的问题。

以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1