时间:2024-07-28
杨 帆,郭 岑,柯国勇,王德政,叶 昊
(1.清华大学自动化系,北京 100084;2.新疆金风科技股份有限公司,新疆 乌鲁木齐 830026;3.北京联合大学城市轨道交通与物流学院,北京 100101)
风能因为具有易于获取、资源丰富、分布广泛和运行和维护成本低等特点,近年来获得了很大的发展。风电场通常建设若干个风电机组(简称风机)。风机发电时,发电机转速随风速变化,将风能转换为机械能,再将机械能转换为电能。由于风能的可利用率低,再加上随机波动性、不可控性等问题,风机的发电效率亟待提升。因此,需要对风机进行技术改造。为了评估技术改造的效果,需对其发电功率进行建模,进而评判机组改造对发电效率的影响,以指导风机发电效率的优化改造。
涡流发生器被普遍应用于改善叶片的气动性能,进而提高发电效率。然而,如何评价其性能提升量,始终是一个难题。其主要难点在于提升量一般仅有1%~5%[1],对模型的精确度要求很高。但风机的模型过于复杂,受到环境影响的因素过多。文献[2]和文献[3]研究了环境参数对发电效率的影响,力求获得准确的功率-风速非线性关系。Texas A&M大学和风电公司SMART BLADE合作,利用数据驱动法,开发了两套建模方法[1]。然而,现实中的风速和其他物理量的测量偏差往往很大,使得一般的性能评价方法[4-5]难以奏效。特别是在本文案例所在的场景中,风速仪测量误差较大,且没有冗余,无法判断是否老化、需要更换,所以其测量读数不可靠。因此,需要寻求不依赖于风速测量值的方法。
本文通过从本地和邻近机组的运行数据中适当地选取相关变量,以实际风场的数据为基础,建模得到发电功率的估计模型;通过比较机组改造前后的功率提升量,评判发电机组的改造效果。
关于机组发电功率的建模,可采用白箱的机理建模和黑箱的数据建模。前者需要精确的机理知识。然而风机系统本身相当复杂,且不同风机的系统部件、工作环境、使用年限存在一定的差异,因此不适合对单个风机进行机理建模。出于可实现性与模型精度两方面的考虑,采用黑箱方法对风机发电功率进行建模。其输入为已知、可测或可估计的变量,目标输出为风机瞬时功率。通过累积风机瞬时功率,可获得风机年发电量。机组所处地理位置的风资源通常是无法改变的(除了上游风机对下游风机的影响)。因此,主要从叶片气动性能优化、控制策略优化等角度入手,提升输出功率。
黑箱建模基本原理如图1所示。
图1 黑箱建模基本原理图
图1中,黑箱模型可被视为目标系统的代理,因此也称作代理模型。
所谓黑箱,是指内部构造未知、只能通过外部观测和试验认识其功能和特性的系统。黑箱方法是指在不打开黑箱的情况下,通过外部观测和试验等,找出输入和输出关系,从而研究黑箱的功能和特性,探索其构造和机理。黑箱系统的输入和输出通过一定的数学模型表示。黑箱方法的目的是选择合适的数学模型并计算最优模型参数,使所选模型能够尽可能地模拟原始系统的特征。
需要根据风电机组运行数据,对各机组建立数学模型,并估算指定时间段的发电量。建模过程中,必须考虑风电机组自身特性、输入输出的不确定性、外部环境的影响、不同机组间的耦合,从而在所给数据和已知风机运行机理知识的基础上,最大化机组发电量预测精度。
在建模过程中,将已有模型数据分为训练集和测试集,分别包含一段时间内与风机输入和输出相关的变量数据。训练集用于训练所选模型,即用已知的输入输出数据建立模型。测试集用于评价所建模型的性能,即通过比较测试集输出和以测试集输入为模型输入情况下的模型输出之间的误差,评估模型的精度。
图2给出了使用训练集训练模型与使用测试集评价模型。
图2 训练模型与评价模型示意图
训练集与测试集需要按照一定的准则进行选取。首先,训练集数据要具有全体数据的完备信息,即训练集数据与数据全体的统计特征应尽可能相同。由于风机本身易受外部环境的影响,因此系统具有较为明显的、随时间变化而变化的特性。
为了使所建模型能够相对准确地描述任何时段数据输入与输出的关系,需要选择至少几个月时长的训练集数据。测试数据要覆盖模型工作的不同状态和环境,以充分反映模型对不同条件下输入的响应。对于针对不同时段数据建立时段子模型的方法,测试集数据应与训练集数据来自于同一时段,否则无法正确评估模型精度。
另外,为了更好地利用已知数据,可以采用K-折交叉验证(K-fold cross-validation)的方式划分训练集与测试集。K-折交叉验证的基本思想是将已知数据分为K个组,从中选取(K-1)组作为训练数据、1组作为测试数据。如此重复K次,最后取K次模型误差的平均值作为最终的模型误差。
为了评估风机改造后系统性能提升的效果,需要在风机建模的基础上,采用一定的策略实现改造前后风机性能的对比。这一阶段也称为模型应用。本文采用的策略是:使用改造数据对风机进行建模,得到改造前的风机模型;在改造前的风机模型的模型精度满足一定要求的情况下,将改造后的输入数据输入到模型中,得到对应的改造前输出的估计;比较改造后系统的实际输出和改造前风机模型产生的输出估计,得到风机改造提升量。
风机改造提升量评估方案流程如图3所示。
图3 风机改造提升量评估方案流程图
风机运行数据具有以下特征。
①数据量大:单一风电机组每年产生数据达600~800 M,为数据的读取和计算带来困难。
②采样频率高:每分钟8个采样点,超出风机动态特性的表征需求,并引入过多噪声。
③数据有效维数低:排除掉风机发电过程的中间变量,如转矩、转速等,单一机组可用于建模的仅为风速、环境温度等少数几个外部变量。
④数据精度有限:由于实际测量设备以及测量环境所限,外部变量的测量精度有限。特别是风速的精度很低,直接影响了所建模型的准确性。
⑤故障数据过多:单一风机故障数据(无效数据)过多,去除此类数据后可用数据量明显减小。若同时考虑多台风机,某一时刻某风机数据故障,则去除该时刻所有的风机数据,进行故障数据清理后保留的有效数据更少。
由于本机组建模数据中,仅有风速、风向角、温度等变量作为输入,风机有功功率作为输出。考虑到输入变量的测量精度以及输入变量的维数,单一机组建模的效果很差。因此,本文采用相邻机组数据辅助当前机组建模的方案。这里所说的相邻机组,是指风速输入与目标机组风速输入相关性较高的机组,并不一定是地理位置相近的机组。另一方面,地理位置上相近的机组也并不一定可以作为目标机组的相邻机组。这是因为距离较近的风机机组,其所处的风场情况也可能具有较大差异。
相邻机组的选择采用风机数据相关分析的方法,每台风机涉及的相关机组的分布与个数均由相关性数值结果决定。需要注意的是,虽然相邻机组是根据风速相关性分析选出的,但考虑到风速测量不准确,测量的风速不作为目标机组的直接输入,而是将相邻机组的功率和温度等变量作为风速的间接测量量加入目标机组的模型输入中。
加入相邻机组数据后,单一风机建模的输入变量扩充为:多机组的温度、湍流强度等外部输入;相邻机组的转矩等中间变量;相邻机组的功率等。
基于数据的建模方法又称为回归方法[6-8],可分为基于线性模型假设的方法(线性建模方法)和基于非线性模型假设的方法(非线性建模方法)。基于线性模型假设的方法,假定目标模型输入输出之间的关系为线性关系。此类方法适用范围较广、计算量较小,因此可以用作风机系统建模的基本方法。偏最小二乘(partial least squares,PLS)回归[9-10]是线性建模方法中发展成熟且精度较高的方法。本文采用该方法进行建模。
PLS回归是一种多元分析方法。该方法将原始输入变量投影到一个正交的隐变量空间,以描述原始数据尽可能多的信息,同时去除输入数据的相关性,最终得到维数较少但有利于预测的隐变量,即选定的主元。PLS回归的数学模型为Y=XB+E。其中:Y为具有m个变量、n个样本点的响应矩阵;X为具有p个变量、n个样本点的预测矩阵;B为回归系数矩阵;E为噪声校正模型,与Y具有相同的维数。在通常情况下,变量X和Y需要先标准化再用于计算。标准化方法为减去变量数据的平均值并除以标准偏差。
PLS回归采用得分因子作为原始预测变量线性组合的依据,所以用于建立预测模型的得分因子之间必须线性无关。假如有一组响应变量Y和大量的预测变量X,其中有些变量严重线性相关,使用提取因子的方法从这组数据中提取因子,用于计算得分因子矩阵U=XW;再求出合适的权重矩阵W,并建立线性回归模型Y=UQ+E。其中:Q为矩阵U的回归系数矩阵;E为误差矩阵。一旦计算出Q,前面的方程就等价于Y=XB+E。其中:B=WQ。它可直接作为预测回归模型。
以金紫山风场为例,评估其中某台风机的效率提升情况。
金紫山风场风机分布如图4所示。
图4 风场风机分布图
由于风机运行存在不同的工作状态,需要分别分析较为独立工况下的数据,并分工况建模[8-10]。由于不同风场的风机系统类型不同,且风场环境也不同,因此对不同风场的风机进行工况划分也不同。
图5为金紫山风场风机工况划分标准示意图。
图5 风场风机工况划分示意图
图5中,风机工况分为低速段、中速段和高速段三个区间。由于低速段的风机未有效工作,所以去掉相应的数据,只考虑后两段。因此,以某个风速为界,分成两段,分别表示额定功率以下运行和额定功率运行,各自建立的模型,记作模型Ⅰ和模型Ⅱ。
使用采样时间为10 min的数据,这完全可以反映机组运行的动态规律。选定目标机组为F15,选择地理位置较为接近的F10、F11、F15、F60、F03进行相关性分析。分析可知,F10、F11、F15的相关性较强(相关系数高)。因此,为F15机组选择F10和F11为相邻机组。从图4可见,这两个机组位于目标机组的同侧上风向。这里也测试了风速测量之间的延迟时间[11],均在一个采样周期内,因此忽略期间的传播关系。
本机和邻近机组的风机建模输入变量如表1所示。
表1 风机建模输入变量表
从表1中选择与功率估计相关的变量作为模型输入变量,输出为有功功率。由于发电机转速、电机发电量对于本机而言都是中间变量,因此不宜用作输入。只选取来流风向与机头方向夹角、环境温度、湍流强度、空气密度等外部变量作为输入。相邻机组除了这些变量以外,还加入发电机转速、电机发电量、有功功率。这些变量是风速的间接反映。需要注意的是,本机和相邻机组的风速都未被用作输入变量。
数据预处理结果如图6所示。
图6 数据预处理结果
按照各条数据中记录的时间,将相关机组的数据时间对齐,即同步。如果某时刻任意机组的数据可用状态(state)不为1,说明可能有异常状况,则删除该时刻的所有测量数据。假设风速数值与有功功率存在一一对应关系,且实测功率在理论点处的分布为正态分布,则可据此去除偏离正常工况较远的数据。对指定风速下的功率值求平均,选取距离均值最近的前95%的点生成标准化参数,用此参数标准化所有功率值,然后去除±3σ以外的数据。
采用PLS回归建模,主元个数取10。改造前数据为2016年3月1日至11月16日的数据,改造后数据为2016年12月8日至2017年3月4日的数据。使用改造前的数据,每次从中随机抽取3/4数据量的数据进行PLS回归建模,重复20次,将最后平均得到的模型参数作为最终模型。模型测试阶段,使用所有改造前数据作为输入,计算模型输出与实际功率之间的误差。为方便起见,将风机F10、F11、F15分别记作G1、G2、G3。
经过试验,得到发电量的测试误差为-0.052 9%,证明模型可用。所建立模型I(风速11.5 m/s以下)和模型II(风速11.5 m/s以上)的主元权重如表2所示。
表2 模型I和模型II的主元权重
从模型Ⅰ的结果可见,与风速直接相关的变量在模型中起主导作用,相邻机组G1的功率作用最大。而从模型II的结果可见,本机的环境参数影响较大,其中桨距角和湍流强度影响最大。
将模型投入应用。风速在11 m/s以下的数据使用模型I,风速在12 m/s以上的数据使用模型II,风速在额定风速附近(11 m/s至12 m/s)的数据使用模型I与模型II的输出平均值。改造后的实际功率输出与模型输出的测试误差如图7所示。
由图7可见,改造后的实际输出约高于比模型输出5%,说明技术改造是有效的。
图7 测试误差示意图
模型I和模型II的主元贡献列表区别较大,反映了两种工况的不同规律。
主元个数参数对建模效果有一定的影响。在选择主元个数时,建议选择主元-误差曲线中对应误差波动较小区域的主元数。本例中,主元个数可取为5。
本文采用PLS回归方法对风电机组的发电功率进行建模,其输入包含了与本机相关性较高的相邻机组的运行数据。将得到的模型应用在改造后的机组上,并对真实输出和模型输出进行比较,以评估改造的有效性。该方法的最大特点是降低了对风速数据的依赖性,只在工况划分时使用,而不作为模型的输入。金紫山风场的建模结果反映了目标风机机组的改造提升效果明显,其测试误差均在0.2%之内,提升量在5%左右,这与现实情况相符。
该方法对数据质量,特别是平稳性的要求较高,要求数据中不含异常数据、没有模式切换、没有明显的非线性。因此,需要对数据进行预处理,去除标志位异常的全部数据。对于不同风速段的数据,需要分段建模。如果非线性明显,则可考虑分段多模型或者神经网络等方法。
我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!