江汉大学人工智能学院 陈 岩 侯 群 关雅琦
随着全球范围内风电装机总量的逐步增加,风力发电领域对风机的运维提出了更高的要求。风力发电机的温度是评价风机运行状态的重要指标之一,其预测值可以用于风力发电机的故障预警等应用场景。本文介绍了一种基于梯度提升回归树对风力发电机温度进行预测的方法,首先使用皮尔逊相关系数法选取发电机温度的特征参数,利用正常工况下的历史数据,使用梯度提升回归树建立发电机温度的归回预测模型,最后将采集的实时运行数据输入到该模型中,得到对应的发电机温度预测值。本文通过实验,有效并准确地预测了风力发电机的温度值,拟合度达到96.42%,为进一步的风力发电机温度测点预警提供了准确的数据来源。
发电机温度是风力发电系统中极为重要的指标之一,它的预测值可以用于风场运维中的故障预警场景。在风电机组运行的过程中,每个部件上都装有对应的数据采集传感器用于实时数据的采集。然而,即使是当前的运行数据是正常的,也并不能说明该风机指标在长期的运行趋势中是正常的,这就需要使用机器学习建模的方法来对实时的运行数据进行预测,判断其与真实数据的偏差程度,如果偏差过大,则代表风机在将来的某个时间点将会发生故障。如果可以提前预测出发电机会因为温度过高而出现故障,将有助于风电场及时做出检修计划,排查故障原因,避免造成经济损失和生产事故。
从目前的风电运维领域,很多专家学者都在尝试使用机器学习、深度学习和神经网络建模等方法对温度进行预测。温度值的预测不仅仅是针对发电机的温度,还有齿轮箱各个部件的温度以及环境温度等。滕伟等提出了一种基于极端梯度提升树于长短时记忆网络加权融合的组合模型对风力发电机的定子绕组温度进行了预测。梁涛等提出了一种基于灰色关联度理论的变权组合预测模型对齿轮箱温度进行预测。刘午超建立了用于风力发电机温度预测的小波神经网络模型,通过相关系数法对风力发电机温度的影响因素进行分析。
本文使用了种集成学习中的梯度提升回归树算法,探讨其在风力发电机温度预测中的应用研究,将发电机温度的历史数据及其对应的特征参数数据进行训练建模,并使用测试数据集对预测模型进行检验。
梯度提升树也可以称为多决策树。根据不同的目的,通常分为梯度决策提升树(GBDT,Gradient Boost Decision Tree)和梯度提升回归树(GBRT,Gradient Boost Regression Tree)。该算法由Friedman在20世纪初提出,具有很强的非线性拟合能力,常用于设备运行预测、人流预测等不同场景。
梯度提升回归树由多个决策树组成,为了得到最终结果,只需将所有决策树的输出结果相加即可。它的核心是每棵树都是从之前所有树的残差中学习出来的。为了防止过拟合,增加了Boosting过程。
原始的Boost算法会给每一个样本都赋予一个相同的权重,然后开始对模型进行训练。在这个过程中,每一步的模型都会导致样本出现正确或错误。在这时对模型中的点进行标记,如果模型是往正确的方向前进的,那么就减少它的权重,如果是往错误的方向前进的,那么就增加它的权重。这样,经过n次迭代,错误的点由于拥有过高的权重,会被重点关注,并且我们得到了n个简单的分类器,将它们组合起来,便可以得到最终的模型。
Gradient Boost和传统的Boost有所不同,在每一次计算的过程中,它会在误差减少的方向上建立新的模型,这样在经过n次迭代的过程中,我们每一步都在减少误差的方向上前进。
梯度提升回归树作为一种集成学习方法,有如下优点:
(1)在参数调整时间相对较小的情况下,预测精度较高;
(2)非线性数据处理能力强;
(3)可以灵活处理各种类型的数据,包括连续值和离散值;
(4)利用一些鲁棒损失函数,对异常值的鲁棒性非常强;
(5)不需要数据归一化。
同时,梯度提升回归树也具有一些缺点,比如难以并行训练数据、不适合高维稀疏特征等。
在统计学中,皮尔逊相关系数(Pearson correlation coefficient),又称皮尔逊积矩相关系数(Pearson product-moment correlation coefficient,简称PPMCC或PCCs),是用于衡量两个变量之间的相关性,其值介于-1与1之间。
两个变量之间的皮尔逊相关系数定义为两个变量之间的协方差和标准差的商:
对于样本皮尔逊相关系数,给出其简单的单流程算法:
将某一时间段风机正常工况运行状态下的发电机温度监测数据提取出来作为X,将其他同一时刻具有相关性的观测特征数据提取出来作为Y,分别代入公式(7),可以得到X关于Y的皮尔森相关系数ρX,Y。
将特征参数和发电机温度的连续数据处理为两个观测向量,代入公式(7),即可得到发电机温度关于该特征参数的皮尔逊相关系数,如表1所示。
表1 发电机定子温度特征参数选取表
针对梯度提升回归,首先要输入训练集样本:
其中,最大迭代次数T,损失函数L。
初始化弱学习器:
在迭代轮数从1到T的过程中,对样本i=1,2,…,m,计算负梯度:
针对每一个叶子节点里的样本,求出使损失函数最小,拟合叶子节点最好的输出值ctj值如下:
更新强学习器:
从而得到最终的强学习器表达式:
通过对正常工况下历史数据的训练,调整最适合的迭代次数,即可得到最佳的风力发电机温度预测模型。在这里,使用sklearn下的ensemble集成学习功能包,调用GradientBoostingRegressor()方法,不断调整参数,得到最后的迭代次数n_estimators值为200。整个预测模型的流程图如图1所示。
图1 预测模型流程图
本文选取某风电场2019年4月1日12:00—18:00,6h内的60s采样间隔数据,在得到预测模型时后,使用方根均差、平均绝对误差和拟合度作为其评价标准。在训练结束后,得到测试集的拟合度为96.42%,其中方根均差为0.20,平均绝对误差为0.15。模型预测的真实值和预测值图如图2所示。
图2 基于梯度提升回归树的预测值与真实值
为了进一步对基于梯度提升回归树的发电机温度预测模型精度进行评价,本文使用BP神经网络算法建立预测模型与其进行对比。使用相同的数据集,使用BP神经网络算法建立发电机温度预测模型,得到测试集的拟合度为96.15%,其中方根均差为0.21,平均绝对误差为0.16。模型预测的真实值和预测值图如图3所示。
图3 基于BP神经网络的预测值与真实值
风力发电机机组设备数据预警是风电运维过程中极其重要的环节,包括发电机温度等指标的预测。在风力发电机的运行过程中,有很多因素会对发电机温度产生影响,所以选取这些主要因素作为特征参数考虑进来并对结果进行预测成为了关键的一步。本文首先使用皮尔逊相关系数法对发电机温度的特征参数进行选取,再使用梯度提升回归算法将正常工况下的发电机温度历史数据及其特征参数数据训练出预测模型,便可以得到预测结果。将该模型的预测结果与实际值相比,拟合度为96.42%。同时,使用BP神经网络算法对同样的参数指标和数据进行预测,可以得到略低于使用梯度提升回归树算法训练的预测模型的拟合精度,侧面证明了使用梯度提升回归树算法再风电运行数据预测领域的可行性。