数据挖掘技术在风力发电中的应用综述

2019-04-09 05:06曾文珺吕丽霞
仪器仪表用户 2019年4期
关键词:风力风电数据挖掘

曾文珺,吕丽霞

(华北电力大学 自动化系,河北 保定 071003)

0 引言

风能作为可再生能源中的一种,利用到电力生产行业中已有30多年的历史。近10年来,由于化石能源危机,风力发电的需求迅速增大,风电机组全球装机容量从21世纪初的24GW,发展到如今的539GW,关于风力发电各方面研究逐步推进,已由粗放向精细化转变。

目前,在风力发电领域中,已有多种研究手段和分析方法。在风电机组的故障诊断中,有通过提取振动信号做频谱分析确定故障形式的方法,通过声发射技术诊断故障的方法[1];对传动机械的状态监测和预警以测量传感器为基础,现有机械振动、热红外、超声和声发射、润滑油光谱铁谱、温度和噪声监测[2];风力发电功率预测有多种研究方法,有对于功率直接预测和通过预测风速来间接预测,有通过参考地形、天气等建立预测模型的方法,还有通过风电场测量数据和功率建立映射关系的统计模型预测法[3]。在风力发电系统最大功率跟踪的研究中,传统方法有叶尖速比法、爬山法和最佳特性曲线法[4]。学者通常在非线性控制律设计基础上引入观测器法、模糊推理法、卡尔曼滤波法、支持向量机等辨识技术,建立一个基于辨识的复合控制模型[5]。

在研究过程中,学者发现风电机组复杂多变的工况、模型的多参数非线性特性和庞大的运行数据量是研究的难题,并开始思考解决这些难题的方法。由此数据挖掘技术引起了学者们的注意,研究人员开始通过数据挖掘技术,探索风力发电机组海量运行数据中蕴含的信息。本文详细叙述了数据挖掘的概念及其算法,讨论了其在风力发电领域的应用,并对未来研究的发展方向进行了展望。

图1 数据库中知识发现过程Fig.1 Knowledge discovery process in a database

1 数据挖掘的概念及主要算法

数据收集和存储技术的进步促使商业和科研领域产生了海量数据集,从数据中提取有用的信息的想法促进了数据挖掘技术的产生和发展[6]。数据挖掘技术是数据库中知识发现(knowledge discovery in database, KDD)中重要的一部分,参与了将未加工的数据转换为有用信息的过程,如图1所示。它结合了传统数据分析方法与处理大量数据的复杂算法,任务可以分为预测任务和描述任务两大类。预测任务是根据其他特征属性的值,预测特定属性的值,相关算法有分类、回归算法;描述任务的目标为导出概括数据中潜在联系的模式,聚类、关联算法通常被用于描述任务。

数据挖掘算法在功率预测建模、故障分类及预测中皆有应用,表1归纳了风力发电相关研究文献中常见的算法及其类别,后文根据类别详细叙述了数据挖掘的算法。

1)分类算法,通过对数据训练集的分析研究,发现分类规则,从而具备预测新数据类型的能力[7]。其算法分为两个阶段:构建模型阶段和使用模型阶段。在第一阶段中,将已知的训练数据集进行分析和学习,构建一个准确率较为满意的模型来用于描述特定的数据类集;后一个阶段则是对第一阶段中构建好的模型,加入未知的数据对象,使模型对其进行分类。

决策树(decision tree)分类法是一种简单但使用广泛的分类技术,它使数据由根结点出发,经过内部结点的层层分枝分类,最终将数据分到相应的根结点类别中,随机森林(Random Forest,RF)算法则是许多个决策树分类器进行投票组合,从而提高分类准确率。K-近邻(K-nearest neighbor,K-NN)通过计算每一个测试样例与所有训练样例间的距离,找出与其最近的样例进行分类。人工神经网络(Artificial Neural Networks,ANN)算法模拟了生物神经系统而研发,通过训练样本学习获得参数建立模型,继而对样本中的其余数例分类。支持向量机(support vector machine,SVM)算法基于统计学理论,在类似超平面的高维空间计算求最优分类超平面[7]。朴素贝叶斯(Naive Bayes,NB)分类法基于贝叶斯公式理论,依据样本先验概率与类条件概率计算属于各分类类别的概率来划分其确定类。

2)聚类分析研究把相似的事物归位为一类,通过静态分类的方法把相似的对象分为不同的组别和或子集,同一个子集中的对象都有相似的一些属性,不同子集中的对象是不同的。

常用的K均值(K-means)聚类算法,指定K个初始质心,样本被分派到最近的质心形成簇,基于簇中样本点的中心更新质心,重复分派直到簇不变,得到的K个聚类中每个样本点都属于离它最近的类。模糊C-均值聚类算法步骤与K-均值相仿,但其簇的边界是模糊划分的,簇中每个点拥有一个权值,表示其属于该簇的权重。

3)关联分析,发掘隐藏在数据集中有意义的联系,通过关联规则或频繁项集的形式表现。风力发电应用中常见的Apriori算法是一种挖掘布尔关联规则频繁项集的算法[8],通过逐层搜索迭代获得频繁项集。FP-增长(Frequentpattern growth)算法将频繁项集的数据库压缩到频繁模式树中并保留关联信息[9],FP-树被分化成条件库进行挖掘,将数据库频繁模式的挖掘问题转换成挖掘FP-树的问题。

2 数据挖掘在风力发电中的应用现状

目前,数据挖掘技术在风力发电中的应用主要在故障诊断和发电功率预测方面,在状态监测、预警和最大功率跟踪方面则应用得较少。

2.1 故障诊断

早些年数据挖掘技术在风电机组故障诊断中的应用还不是特别成熟,仅局限于理论研究和仿真模拟。彭安群[10]建立了一种改进粗糙集理论的C4.5决策树模型对风电机组齿轮箱系统进行故障诊断,准确率达88.5%,与单独的C4.5算法诊断的时间相比大大减少,提高了诊断速度。王小鹏[11]对一组风电机组故障数据采用决策树算法验证了数据挖掘在风机故障诊断中的有效性。

从近几年的文献可以看出,数据挖掘技术在风电机组故障诊断中的应用研究越来越多,Zhigang Chen等人[12]提出了一种模糊聚类的方法,利用聚类结果构建目标函数,将模糊传输闭包和目标函数结合挖掘敏感尺寸,以此来获得能够用于齿轮箱故障诊断的特征向量。通过实验证明挖掘出的旋转部件振动信号的敏感特征参数被用作最佳特征向量来诊断齿轮箱的故障,且有较高的可靠性。

Jae Yoon等人[13]提出了一种用于风电机组行星齿轮箱(PGB)和单个振动传感器的故障诊断方法,提取PGB的振动故障特征作为故障诊断的条件指标(CI),CI又作为行星齿轮箱故障诊断分类器的输入。其中,分类器的训练分别使用了K-NN,BP神经网络与大内存存储和检索(LAMSTAR)网络3种数据挖掘方法。K-NN表现出了其较高的诊断准确率,LAMSTAR网络除较高的准确率外,还对局部最小值的敏感度更低。

叶春霖等人[14]将几种分类数据挖掘算法应用在风电机组叶片结冰故障的诊断中,从SCADA数据中提取为期1个月的风速、风向、发电机转速、有功功率、齿轮箱温度、轴承温度、变桨角度、传动加速度等表征风电机组运行工况及运行环境的特征参数,结合不同的预处理方法与K-NN、NB、RF和AdaBoost 4种数据挖掘算法建立风电机组叶片结冰故障诊断模型,比较4种算法的优劣,RF的表现最佳,故障诊断的准确率能达到99%。

Yanting Li等人[15]使用高斯过程分类器(GPC)的数据挖掘方法,对爱尔兰南部一台3MW直驱式风力发电机组进行在线故障诊断和故障预测。GPC方法是一种远离输入输出关系的假设,属于贝叶斯非参数分类方法。文献[15]比较了不同核函数下GPC的分类性能,其中自动相关性确定指数核(EXP ARD)有较好的鲁棒性。比较指数内核的GPC与SVM的分类性能,得出GPC方法在诊断无故障、馈送故障、电源故障、风冷故障中都优于SVM;当SVM错误识别电源故障时GPC仍有50%的精度;在发电机故障诊断中两种方法都表现出高精度;在激励故障诊断中SVM的表现优于GPC;在预测性故障诊断中,GPC的短期预测准确率优于SVM,随着预测时间长度的增加GPC的准确率稍有下降但整体性能仍然很好。评估分类性能的4项性能指标有准确率、查准率、查全率和F1,GPC的整体分类性能指标表明其良好的综合分类特性。

Hasmat Malik等人[16]利用近端支持向量机(PSVM)方法强大的分类能力,基于风电机组发电机电流信号识别发电机的不平衡故障。在仿真实验台中构建风电机组模型,并在6种不同条件下模拟仿真以获得运行数据,用经验模式分解(EMD)方法预处理定子电流信号,分解后的内部模式函数(IMF)作为PSVM的输入变量。实验结果证明PSVM方法在诊断中具有更高的准确率且训练和测试时间较少。

张建美[17]开发了能对风电机组数据库进行管理和对机组设备进行故障监测与诊断的系统,研究对象为风机系统的齿轮箱云模型。依据改进粗糙集算法和决策树生成的诊断规则对齿轮箱云模型进行故障诊断。通过改进粗糙集的属性约简算法获得最佳决策约简集,简化了后续决策树的建立工作。将改进的粗糙决策树算法和未改进的算法比较,两种算法的诊断准确率都较高,但未改进的算法有一处误诊。

孙鹤旭等人[18]使用MpApriori算法获取风机故障规则,实现多种故障的故障诊断,该算法集合了MapReduce技术的属性约简和Apriori算法的并行化处理方式,正确率在80%以上。

2.2 发电功率预测

Meik Schlechtingen等人[23]建立功率曲线模型,对现代变桨调节风力发电机组数据进行性能研究。实验建立了集群中心模糊逻辑(CCFL)、神经网络和K-NN模型,开发了自适应神经模糊干扰系统(ANFIS)模型,该模型可在训练阶段调整隶属函数(MF)参数来学习非线性信号关系,依据风电机组的SCADA系统参数进行发电功率预测。分别建立单输入模型和多输入模型,单输入模型以风速为输入,多输入模型以风速、风向和环境温度为输入,输出均为功率。比较每种数据挖掘方法在两种模型中的平均绝对误差和实际有效值。在单输入模型中,几种方法差距不大,预测的结果拟合效果一般;而在多输入模型中,神经网络和ANFIS展现出了其优越的非线性建模的性能,预测曲线与实际功率非常拟合。

文献[23]证明风速、环境温度和风向是建立风力发电机功率曲线监测数据挖掘模型的重要参数,且后两者作为附加输入来强化算法模型能提升模型提早检测异常功率输出的性能。在4种算法中,ANFIS算法具有最佳的度量性能,且其异常功率输出检测方面的性能也为最佳。文献[23]最后提出未来这个课题的研究方向应集中在如何进一步减少预测误差的方差上。

Cunbin Li等人[24]使用了一种基于数据挖掘技术的改进支持向量机方法对中国西北地区的风电场进行短期发电功率预测,使用数据挖掘技术对原始样本错误和丢失的风力数据通过曲线拟合的方法替换和补足。风速和风向两个参量作为输入到改进的SVM模型中,改进SVM的内核参数和惩罚因子用鹃搜索(CS)算法优化,模型输出预测功率曲线与实际功率曲线拟合精度达到90%。

Olivier Janssens 等人[26]分别采用了由DE安装的5PL、KNN、随机森林回归、极度随机树(ERTs)、随机梯度提升回归树(SGBRT)和箱柜方法(MOB)6种算法对海上风电机组功率曲线进行建模。在使用风速作为单输入时,K-NN和SGBRT算法以较小的平均绝对误差(MAE)、均方根误差(RMSE)和学习时间,展示了其建模优势;在使用风速、转子每分钟转数、偏航、风向和俯仰5个变量作为输入建立多输入模型时,用K-NN算法建模的预测性能指标较差,SGBRT算法的模型的预测性能指标大幅改善。

Jing Yan等人[27]通过两个阶段进行功率预测,第一阶段建立风力发电功率曲线的主要模型来获得预测趋势,并提取主要模型的错误并将其视为第二阶段的研究对象;第二阶段用具有建模优势的数据挖掘算法构建纠正模型。使用NN、SVM、RF和二叉树(BT)4种算法对第二阶段的误差预测进行训练建模比较,结果表明,SVM算法的误差分布估计值最好,但MAE和RMSE及对应系统误差的平均误差(BIAS)较差,RF算法在此3种性能指标衡量下,为最优算法。结合RF误差预测与物理预测建立的风电功率预测模型,各项性能指标比单独的物理模型、NN、SVM、BT和RF算法建立的预测模型好,以较大的数值差距显示出其优越性。

Majid Morshe-dizadeh[28]提出一种提高数据集质量的方法,该方法将决策树概念用于替换缺失值。通过识别数据集中的缺失值,将数据集分为完整和不完整数据集,通过完整数据集构建决策树,其所有叶节点的子集反推来识别缺失值及其特征,对不完整数据集进行插补,两个数据集组合后形成完整的数据集。此方法可降低误报率,改善曲线功率监控,提高系统的可靠性。

吴布托[29]应用模糊C-均值算法剔除风速-功率散点图中受干扰和污染的数据,预处理后的数据预测精度提高10%。

再选取Adaboost-BP网络和最小二乘支持向量机建立最优模型,从风速时间的相关性分析入手,进行预测。运用贝叶斯后验对数比和自适应检测法检测测量值与预测值的残差序列中的异常残差信息,确定异常值的时刻位置。得到自适应检测法比贝叶斯后验对数比的检测时间短,且精度高15%。

2.3 监测和预警

Verma.A等人[19]利用SCADA系统上收集的数据,对风力发电机的电刷故障进行早期预测。风力发电机组的SCADA系统上记录的参数有100多个,文中使用领域知识,将初始维度减少到50维,又通过卡方统计、增强树和具有遗传搜索的包装算法分别对10种参数进行计算简单平均值,评估所选参数在分类故障和正常情况中的作用,以对选择加入到故障预测的参数进行降维。使用基于Tomek链接的采样方法和基于随机森林的数据抽样方法,对大量的SCADA数据中存在的类别不平衡度进行降低,使输出类的正常和故障实例的比例较为接近。然后使用多层感知器(MLP)、增强树、K-NN和SVM数据挖掘的算法,构建时间戳的预测模型,结果增强树算法显示出对输入类不平衡的良好的鲁棒性,优于其他3种算法。再利用增强树算法对故障进行预测,在37个故障中能正确预测31个,127个正常情况正确预测101个。在增强树算法的优异表现下,将其分别和Tomek连接、Tomek连接结合随机森林的数据抽样方法结合,结果显示,第二种数据预处理方法的故障预测具有更高的准确度。

Iury Valente de Bessa等人[20]提出了一种故障检测和隔离(FDI)的方法,通过模糊聚类将风电机组传感器信号的时间序列在反泊松过程中变换,再通过吉布斯采样获得沿时间序列发生变化点的概率,将此概率作为模糊贝叶斯网络的输入,在其中模糊化变化点的概率,模糊证据和条件概率表被模糊贝叶斯推理用于对故障进行分类,能够正确识别和隔离文献[20]中模拟的5种传感器故障。

童超[21]使用改进Apriori关联规则算法,分析了变桨故障前后的大量连续报警信息,根据机组和变桨系统的运行机理,发掘某些故障之间的联系,过滤冗余信息,提高运行人员工作效率。刘旭[22]用K-均值聚类法做输入数据的预处理,应用优化的BP神经网络进行训练学习,然后进行故障预测,与传统的神经网络训练学习对比预测准确率提高3.5%。

数据挖掘技术应用在风力发电机组故障的监测和预警中,涵盖前期的大数据集群和分析、数据清洗和预处理、特征选择、模型实现和评价,所得的模型运用到实际的风力发电机中能得到较好的结果。

2.4 其它应用

数据挖掘技术在风电机组最大功率跟踪中的应用较少,目前有关研究仅在刘姝等人[30]的文献中体现,该文献运用粗糙集数据挖掘方法实现风电机组最大功率点跟踪。利用粗糙集的分类能力,约简消除冗余的条件属性及属性值,精简知识库获得决策表和决策规则,通过决策规则的筛选绘制功率曲线,很快地跟踪机组当前最大输出功率点。Maik Reder等[31]运用Apriori关联规则挖掘故障与环境之间的逻辑关系,采用监督标记、无监督单输入K-均值聚类和无监督多输入K-均值聚类3种算法预处理数据后,对比实时天气和故障数据。通过关联分析获得环境参数与5大主要风力发电机组组件故障之间的关系。

文献[25,32-34]利用数据挖掘技术辨识风电机组的发电模型,文献[25]分别运用分类回归树(CR树)、提升树、支持向量机回归和神经网络4种数据挖掘方法,训练历史数据,辨识风电机组的运行模型。神经网络辨识的模型误差最小,CR树最大。选择较好的辨识模型应用进化策略(ES)优化叶片桨距和偏航角,进而优化输出功率。文献[32]中,结合三角函数和数据挖掘预测风向,利用正弦余弦函数将风向转换为线性变量。应用SVM、MLP网络、随机森林算法(RFA)和梯度升压回归树(GBRT)4种数据挖掘算法在4个季节和4个不同采样频率下,辨识风机偏航系统的预测模型,RFA和MLP网络辨识的预测模型具有较高的精度。文献[33]使用神经网络、神经网络集成、SVM、KNN、回归树和随机森林回归6种数据挖掘算法,分别建立风力发电机组的发电模型、动力传动系统振动模型和塔架振动模型。神经网络算法建立的发电模型的属性较好,神经网络集成算法在传动系统振动模型和塔架振动模型的建立中优于其他5种算法,神经网络算法在风速预测模型的建立方面有很好的性能,所建立的模型可进一步用于优化控制实验。文献[34]用数据挖掘算法开发了智能风力发电机控制系统,从SCADA系统的数据库中辨识风机模型,从风力数据中辨识时间序列模型,结合当前机组的状态组成模型预测控制(MPC)模型,用于风电机组动态控制的研究。

3 总结与展望

本文系统地概述了数据挖掘技术及其常用算法,通过总结国内外相关文献中的研究,介绍了数据挖掘在风力发电的应用现状与研究进展。从研究内容上看,数据挖掘与风力发电的结合已经取得了一些成果。

利用数据挖掘技术进行风电机组的故障诊断,能在保证故障诊断正确率的基础上同时有着较高的运算性能,实现海量监测数据下诊断对实时性和准确性的要求。在风力发电机组的故障预测方面,数据挖掘方法可以参与故障预测的参数提取、预处理、建模过程,具有一定的灵活性和创新性。在进行发电功率预测时,数据挖掘方法表现出其捕捉实际风电发展趋势的高确定性,且能建立高精度预测模型。数据挖掘技术在风力发电机组模型建立方面的应用的良好结果非常值得关注,这对后续风力发电的研究有深刻的意义。在查阅文献时,从文献数量上可以看出,数据挖掘技术在风力发电领域的相关研究呈上升趋势,且已有一定的理论基础和初步应用,这说明了该领域的研究向着更深入的方向发展。

未来研究工作可在以下方面展开:

1)风电的最大功率跟踪。所呈现的文献中运用粗糙集理论的分类属性辨识功率曲线实现最大输出功率点的跟踪,后续研究可以借鉴光伏发电中最大功率跟踪的相关研究的数据挖掘方法,在风电功率跟踪中探索更多的方法。

2)风电机组模型的辨识。文献[25,32-34]中,数据挖掘技术在模型辨识方面得到较好地的应用。文献[32]中建立精度较高的预测模型,说明数据挖掘技术在模型辨识方面研究的价值性。模型的辨识对未来风电机组的仿真研究有重大的意义。

3)迈向大数据时代的数据挖掘。在物联网的时代,海量的风电机组的运行数据若能共享,则能根据不同环境的风电机组运行参数,挖掘某一环境下的一般模型,用相似的方法来解决同一环境下的相同问题。

猜你喜欢
风力风电数据挖掘
海上漂浮式风力发电机关键技术研究
探讨人工智能与数据挖掘发展趋势
数据挖掘技术在打击倒卖OBU逃费中的应用浅析
海上风电跃进隐忧
分散式风电破“局”
风电:弃风限电明显改善 海上风电如火如荼
大型风力发电设备润滑概要
基于Bladed与Matlab的风力发电机组控制器设计
重齿风电
一种基于Hadoop的大数据挖掘云服务及应用