国电电力山东新能源开发有限公司 苑宏利 吕明明 张小东 鲁东大学数学与统计科学学院 汪健冬 杨秋莲 付恩强 刘广臣 华风数据(深圳)有限公司 黄文广 柯 超 陈 文
目前风电行业随着风电机组运行年限增加,大量风电机组安全隐患不断增加、造成运维的成本不断升高,使得风电场的经济效益严重下降。为保证风电机组健康安全运行和降低风场运维成本,运用机器学习结合大数据分析的大型风电机组运行状态评估及故障诊断技术已成为风电行业的重点研究。为了增强风机发电的持续稳定、降低风电机组由于长时间停机导致的利益损失,作为关键部位的主轴承研究意义重大。
关于主轴承故障诊断,基于LightGMB算法、深度信念网络、回归分析等算法已有众多论文发表,对轴承进行状态监测和故障诊断必须提取出反映轴承故障的特征信息,然而这些特征信息常淹没于其他部件的噪声干扰之中,为此国内陈长征等[1]用盲源分离算法、黄南天等[2]采用非平衡小样本数据的风机轴承故障深度对抗诊断,王桂兰等[3]采用机器学习算法LightGMB,贾依达尔·热孜别克等[4]提出了PCA-GAElman结合算法的模型来对齿轮箱轴承温度进行预测,陈雪峰等[5]通过研究复合材料叶片、齿轮箱、发电机三大部件来对风电机组进行故障诊断与监测;乌彤等[6]对风力发电机轴承故障的探究,总结了多个轴承故障的类型与原因,并从时域、频域、时频三个角度对故障进行诊断;马立鹏等[7]对风机变桨轴承与轮毂连接螺栓进行疲劳分析;魏巍等[8]采用小波分析对风机轴承退化状态进行研究。而指标体系的选取,数据的来源等关键因素是建模的关键,我们综合以上众人的经验,对该部件进行更深度的研究。
风机实际运行中主轴承部件与主轴承叶轮侧温度(CI_MainBearingRotorSideTemp)、主轴承齿轮箱侧温度(CI_MainBearingGbSideTemp)关系密切,因此本文主要研究以上两个对象对风电机组的故障进行监测。主要包括三个部分。首先,运用4种算法pearson相关系数、随机森林、CatBoost算法、XGBoost算法对15个经验特征变量与2个研究对象的相关性排序进行特征筛选,赋予每个模型等比例权重,计分排序;然后,利用筛选出的特征集运用多种算法建模进行主轴承故障监测,对比结果表明XGBoost算法模型最优;最后,运用残差进行故障预警,利用风机故障停机时效性,在风机停机前提前预知故障状态,同时利用特征重要性排序作为故障来源诊断与定位的参考。
本文基于日照莒县风场的一号风机进行建模研究,从SCADA数据库中提取了2018~2019年以10秒钟为时间间隔的数据共约310万条。征求风电专家意见,从控制状态筛选出并网状态下的数据作为输入数据,删去含有缺失值的数据行、删除其他控制状态下的数据行;列处理:删除日期时间列,删除控制状态列,最终把数据处理成以一分钟为时间间隔。
变量筛选、确立特征函数关系是模型的基础。确定特征函数关系,据专家经验,主轴承叶轮侧温度、主轴承齿轮箱侧温度与主轴承的关系较为密切,对此建立双变量与其它特征函数关系。特征变量集简洁有效、高灵敏度的特点是简化模型结构、提升模型精度、训练高效机器学习模型的关键。因此寻找多特征变量之间的关系,排除相关性较小甚至无关变量对模型体系的影响是建模的关键,也是故障原因诊断和定位的重要参考。
特征变量筛选采用四种算法模型进行变量重要性排序,即Pearson相关系数、随机森林模型、XGBoost算法模型、CatBoost算法模型,对可能影响主轴承的15个输入变量的重要性进行排序,并分别平均赋予权重进行综合排序,排序结果以及其与主轴承叶轮侧温度(℃)、主轴承齿轮箱侧温度(℃)分别如下。
CI_WindSpeed1:15、15,CI_GearboxInputShaftTemp:11、11,CI_GearboxOutputShaftTemp:9、4,CI_GeaboxInletOilTemp:5、4,CI_GenBearingTemperature:6、1,CI_NacelleCabTemp:8、6,CI_PcsActivePower:13、13,CI_IprRealPowe:12、12,CI_PitchHubTempS1:3、2,CI_PitchHubTempS2:1、2,CI_PitchHubTempS3:2、7,CI_GenWindingTemperatureU1:10、8,CI_PcsMeasuredGenSpeed:14、14,CI_NacelleAirTemp:7、9,CI_OutsideAirTemp:4、10。
XGBoost(Exterme Gradient Boosting)算法[9]是以集成思想为基础,以梯度提升算法(Gradient Boost)为框架,是一个具有可拓展性的树提升算法系统,并非简单的将多个CART树相加,而是利用加法模型和不断递进的算法实现学习的优化路径。目前XGBoost已在竞赛、医学、金融等多个领域具有不可替代的作用,此算法在损失函数中引入正则项等方法防止模型的过拟合,适用性较于其他算法模型也表现优异,可更快更有效的处理大量数据。较与它相似的GBDT算法更加充分的利用了导数信息,使其能够更快速地达到最优。本文提出一种基于XGBoost算法模型用于主轴承故障监测与故障原因诊断,流程如图1。
图1中对原始数据初步清洗后,筛选变量、提取特征函数关系,将风机正常状态下的特征数据基于XGBoost算法建立回归分析进行训练,从而对主轴承故障监测建模,最终将模型嵌入风机监测系统中持续输入系统后台的实时监测数据,如何进行故障监测、判断故障状态体现于输入数据中故障数据在模型中的异常趋势会表现出与先前正常数据训练的风机正常状态下模型的趋势图产生分离,从而运用风机故障从故障先兆到故障停机的时效性,在两趋势分离之初进行态势分析,当趋势图到达高限值,预测风机即将进入故障状态,从而完成主轴承故障状态的监测。
当风机从主轴承部件的模型结果判断为故障状态。接下来的目标是进行故障原因的诊断与定位,对此结合技术人员与模型建立的特征重要性排序结果,对主轴承可疑相关部件实施检查和维护,从而实现风机主轴承防控。
综合考虑到模型训练结果的准确性、时效性,设定树的深度、树的棵数、叶子节点权重、学习率等参数,采用机器学习常用方法网格搜索(grid search)进行参数调优,获取局部最优解。为避免随机划分数据集产生的偶然性,均采用多折交叉验证方法来降低随机事件发生概率。随着参数个数增长,参数组合更是呈现指数增长,在保证模型准确率的前提下使模型达到最优解,还需有效降低时间成本,本文XGBoost模型中主要设定以下参数:树的最大深度(max_depth)可以控制过拟合;学习速率(learning_rate)控制每一步迭代的步长;树的个数(n_estimators)取值适当大时更好,提高鲁棒性;最小叶子节点样本权重和(min_child_weight)可避免学习局部特殊样本。其调优结果分别为50、6、200、0.05。
为评价XGBoost模型的准确率及稳健性,本文计算温度实际均值、预测均值,MSE(Mean Squared Error)、MAE(Mean Absolute Error)、MAPE(Mean Absolute Percent Error)、R2(R Squared)六项评价指标。其中R2称为拟合优度,R2的值越接近1说明模型预测值对实际观测值的拟合程度越好。通过上述六个评价指标对整个模型训练的好坏进行总体的评判。计算公式如下:
为了展示XGBoost算法模型在预测主轴承部件重要相关温度的效果,建立多个其他模型用于对比,仍采用相同的80%数据用于训练模型、20%数据用于检验模型,综合各项指标将各个算法模型进行对比分析,实验表明XGBoost在该风机部件的预测能力优异,相比于其它算法模型预测准确率高、稳健性强、能保证较好的时效性,综合来看选取XGBoost算法是正确的。表1是以主轴承齿轮箱侧温度为待预测值的各项评价指标对比表。
表1 模型对比表
以上各项评价指标均在模型达到最优参数时记录,结果表明XGBoost算法的各项指标均优于另外两种算法,模型拟合优度R2(R Squared)更是接近于1,说明了估计值与对应的实际数据之间拟合程度很高,可靠性强。从计算耗时来看,随机森林耗时较短,但在风场实际运行中,需准确性更好的模型来降低因风机长时间故障停机造成的经济损失,做到提前预警故障、提前维修故障。综上,本文选取XGBoost算法作为研究最终的算法模型(图2)。
为验证模型的有效性,选取日照某风场风机实测数据作为对象进行验证,在主轴承发生故障前,其对应的主轴承齿轮箱侧温度会处于非正常状态下温度,即模型预测温度值与实测温度值会出现偏差,若两条温度曲线偏离持续增加,则需考虑其即将发生故障。该风机于2019年1月3日18时(日期来自风电系统故障记录表)主轴传感器发生故障,取其故障前后各一段时间约2500个样本数据进行分析。
上图3红色代表实测温度值,蓝色代表预测温度值,易知在b点到c点风机主轴承部件出现故障,导致实际温度曲线与模型预测温度曲线发生偏离,由故障记录表显示,确实在该时间段发生了故障,在样本点a附近,该部位的温度也显示出异常波动;在样本点c后,风机维修完成,该温度逐渐趋于稳定,到达正常温度范围。
主轴承齿轮箱侧温度残差图(图4),更加清晰发现图中圈出范围内预测值与实测值的偏离,表现为残差曲线则出现大幅度的波动,技术人员便可通过残差曲线波动信息对故障风机进行早维修、早重启、早运行,本文便是通过观测判断残差曲线的长时间波动来诊断主轴承故障,提前发现风机异常,进而降低因为风机长时间因故障停机造成的损失,大大提高风场实际利益。实验结果表现出本文提出的模型实用性良好。