风机功率曲线机器学习建模与性能监控

风场运维工程师最常遇到的困境之一,是某台机组的发电量悄悄下滑,月底对账时才发现损失已经积累了好几万度电。偏偏 SCADA 告警没响,厂家给的功率曲线也显示"正常"。这种隐性退化往往比突发故障更难捉摸——叶片前缘轻微结冰、变桨控制策略漂移、轴承磨损初期的效率下降,都不会触发硬件保护,却会让功率曲线悄悄向右下方漂移,累月累年吞掉可观的发电收益。
传统方法依赖厂家提供的 IEC 标准功率曲线作为基准:把实测风速对应到曲线上查功率,和实发功率比较。这个办法在理想条件下尚可用,但现实风场里温度骤降、湍流强度随季节变化、叶片表面因昆虫或污染物积累粗糙度升高,IEC 曲线根本无法体现这些差异。结果就是:真正发生退化时,基于 IEC 曲线的对比可能给出错误的"合格"结论;而在高湍流或低密度的正常工况下,又可能误报异常。运维团队疲于处理误报,真正需要关注的退化反而被淹没。
爱荷华大学 Andrew Kusiak 团队于 2013 年在 IEEE Transactions on Sustainable Energy 发表的研究,给了这个问题一个简洁而实用的工程答案:直接用机组自身的 SCADA 历史数据,以风速为输入变量,构建功率、转速、桨距角三条参考曲线作为该机组应有表现的基准;再用统计方法清洗数据、量化偏离,把参考曲线变成在线性能监控工具。这篇文章将拆解这篇论文的核心方法,并说明如何借助运梦气象 API 在工程实践中落地。需要先厘清一点:论文本身用的是"以风速为单一输入的三曲线 + 统计监控"框架,而工程实践中常说的"大气密度、湍流、结冰要纳入考量"是业界经验补充,本文会明确区分二者,不混为一谈。
关键要点
- 以风速为单一输入构建三条参考曲线(论文方法):论文用 SCADA 历史数据,以风速为唯一输入变量,分别构建功率曲线、转速(转子转速)曲线与桨距角曲线,三条曲线共同刻画一台正常机组在不同风速下应有的运行状态,作为监控基准。
- k-means 聚类 + 马氏距离做多元离群点清洗(论文方法):建曲线前先用 k-means 聚类配合马氏距离识别并剔除多元离群样本,得到干净的稳态运行数据集,避免停机、过渡段等异常点污染参考曲线。
- 峰度与偏度量化偏离(论文方法):论文用双变量数据的峰度(kurtosis)和偏度(skewness)作为指标,评估机组实际表现相对参考曲线的偏离程度,而非简单设一个残差阈值。
- Hotelling T² 控制图做在线监控(论文方法):性能监控通过多元统计过程控制中的 Hotelling T² 控制图实现,T² 统计量越界即提示机组运行状态偏离正常分布,可早于硬件告警发现退化迹象。
- 气象协变量与限电过滤是业界经验,不是本文论文结论:工程实践中,大气密度(随温度、气压变化)和湍流强度会影响风能捕获与气动性能,限电截顶数据须在拟合前剔除——这些是普遍认可的工程经验,本文会单列说明,但它们并非 Kusiak 与 Verma 这篇论文所建模的输入或所报告的结论。
背景与定位
这篇论文的第一作者 Andrew Kusiak 是爱荷华大学工业与系统工程系教授,长期深耕风电数据挖掘与预测性维护领域,在风机健康管理和功率预测方向发表了大量高引用文章。合作者 Apoorv Verma 当时是其课题组的博士研究生。论文发表于 IEEE Transactions on Sustainable Energy(可再生能源领域顶级期刊,影响因子长期位于电力工程前列),2013 年发表,至今仍是功率曲线监控方向被引用最多的基础性文献之一。
这篇工作的核心贡献,不在于增加功率曲线的输入维度,而在于把"曲线"从单一的功率曲线扩展为功率、转速、桨距角三条互相印证的参考曲线,并配上一整套数据驱动的统计监控流程:用 k-means 聚类与马氏距离清洗数据,用峰度/偏度量化偏离,用 Hotelling T² 控制图做在线判别。换句话说,它把目标从"把功率曲线拟合得更准"转向了异常检测与退化报警的工程闭环,让一组参考曲线真正成为风场运维的实用工具,而不只是纸面上的技术参数。值得强调的是,三条曲线都以风速为单一输入,论文并没有把大气密度、湍流强度、桨距角、转速等当作功率曲线的额外输入特征——其中转速与桨距角本身就是被监控的输出量。
从新能源行业的视角来看,这项研究的时机恰到好处。2013 年前后,中国风电装机容量进入高速扩张期,大量机组陆续度过早期磨合阶段,进入需要精细化运维的中后期。SCADA 系统积累的历史数据也足够丰富——论文正是基于五年的历史数据集来构建参考曲线——为数据驱动的性能监控提供了充足原料。Kusiak 这篇论文提供的方法论框架,在此后十余年间被国内外研究者和工程师反复引用和改进,成为功率曲线监控领域名副其实的"教科书"级参考。
方法 / 它做了什么
论文的核心方法可以分为三个步骤:数据清洗、参考曲线构建和在线监控。
第一步:数据清洗(k-means 聚类 + 马氏距离)。 原始 SCADA 数据混杂了大量非稳态样本——机组停机、启停过渡段,以及受电网调度约束的限电截顶数据(功率-风速散点图顶端出现的水平截断带)。论文用 k-means 聚类配合马氏距离(Mahalanobis distance)做多元离群点检测:在多变量空间中度量每个样本到簇中心的统计距离,把偏离正常稳态分布的点识别为离群并剔除,得到一份干净的稳态运行数据集。这一步是后续构建可靠参考曲线的前提,限电点若不剔除会系统性地拉低基准、削弱退化检测的灵敏度——这一点在弃风限电较普遍的国内部分省份尤其关键。
第二步:构建以风速为单一输入的三条参考曲线。 论文并不去拟合一条"多维功率曲线",而是以风速为唯一输入变量,分别构建三条互相印证的参考曲线:功率曲线(风速→功率)、转速曲线(风速→转子转速)、桨距角曲线(风速→叶片桨距角)。其中转速与桨距角本身是机组的受控输出量,把它们与功率一起作为"应有状态"的基准,能交叉判断异常到底出在功率链路还是控制链路。论文进一步用双变量数据的**峰度(kurtosis)与偏度(skewness)**作为统计指标,量化机组实际表现相对这些参考曲线的偏离程度,而不是简单地设一个残差阈值。
第三步:基于 Hotelling T² 控制图的在线监控。 建立好三条参考曲线与正常状态的统计分布后,论文用多元统计过程控制(multivariate SPC)中的 Hotelling T² 控制图做在线判别:把实时运行点投影到多变量统计量 T² 上,当 T² 越过控制限时,即提示机组运行状态偏离了正常分布,可早于硬件告警发现叶片污损、轴承退化等隐性问题。相比一刀切的固定阈值,控制限是从该机组自身历史性能分布中统计得出的,因此能显著降低误报率。
关于气象协变量与限电过滤的补充说明(业界经验,非本文论文结论)。 工程实践中常强调:大气密度(随温度、气压变化)与湍流强度会影响风能捕获与气动性能,叶片前缘结冰/积污会使翼型升阻特性变化、相同风速下功率下移,因此精细化建模常把这些气象协变量纳入考量、并在拟合前剔除限电截顶样本。这些都是被广泛认可的工程经验,本文单独列出以便落地参考;但需明确:Kusiak 与 Verma 这篇论文采用的是"以风速为单一输入的三曲线 + 统计监控"框架,上述协变量并不是该论文功率曲线的输入特征,也不是其报告的结论。
关键结论
- 以风速为单一输入构建的功率、转速、桨距角三条参考曲线,能比单一功率曲线更全面地刻画机组的"应有状态",并通过三条曲线互相印证来定位异常环节。
- 用 k-means 聚类配合马氏距离做多元离群点清洗,可有效剔除停机、过渡段与限电截顶等非稳态样本,是构建可靠参考曲线的前提。
- 以双变量数据的峰度与偏度量化机组相对参考曲线的偏离,比简单的残差阈值更能反映分布层面的变化。
- 基于 Hotelling T² 控制图的多元统计过程监控,能在叶片污损、轴承退化等故障早期(肉眼无法察觉阶段)发出有效报警,具有实际的预测性维护价值。
- 监控控制限取自机组自身历史性能分布、而非通用固定阈值,因而能更好地适应特定机组与站址条件,降低误报率。
上述方法与结论以 Kusiak 与 Verma(2013)原文为准;下文涉及大气密度、湍流等气象协变量的做法属工程经验补充,不在该论文范围内。
对新能源 / 运梦平台的意义
对于风电场的实际运营来说,Kusiak 这套方法的价值在于将功率曲线从静态参考文件变成动态监控引擎。现代风场的 SCADA 系统每 10 分钟产生一次数据快照,一年下来一台机组就有约 52,000 条记录,足以训练一个稳健的多维基准模型。更重要的是,这套方法是针对特定机组、特定站址、特定气候条件学出来的,天然适应当地的风资源特征,比任何通用厂家曲线都更贴近现实。
大气密度是这套框架中对气象数据依赖最强的环节。气温每降低 10 °C,空气密度约提高 3.5%,风功率密度随之提升约 3.5%;反过来,夏季高温低气压环境下,相同风速携带的能量更少。如果用固定密度值建模,在温差大的地区(如西北高原或内蒙古草原)误差可以轻松超过 5%。运梦气象 API 的 ger(德国气象局)数据源提供 tas(近地面气温)和 sp(地面气压)的逐小时预报,可以直接用来计算 $\rho = p / (R_d \cdot T)$,作为功率曲线模型的实时大气密度输入。历史训练数据则推荐使用 era5 数据源,ERA5 再分析数据的长期一致性经过质控,适合作为模型训练基准,并可以识别和滤除系统偏差。
湍流强度的处理在工程落地时往往被忽视。需要说明的是,这并非 Kusiak 与 Verma 论文的结论(该论文以风速为单一输入),而是功率曲线工程中被广泛验证的经验:湍流会改变同一平均风速下的能量捕获与气动表现,因此精细化建模常把它作为协变量纳入。湍流强度的直接测量需要测风塔或激光雷达,代价高昂,无法大规模部署。一种工程近似是利用 SCADA 的 10 分钟风速数据内部计算标准差,或者利用风切变作湍流/稳定度的代理——用 100 m 与 10 m 风速之比估算切变指数,切变大通常对应稳定层结、近地面混合弱、湍流强度小,午后混合旺盛时切变减小。运梦 downloadSync 未直接暴露边界层高度,但可用 u100/v100 与 uas/vas 算出的切变作为低成本替代输入,帮助在不同大气稳定度下提升退化监控的判别精度。
对于光伏和储能项目,Kusiak 框架的核心思想同样适用:用历史数据学习一条多维基准曲线(光照强度、组件温度、尘埃系数),然后用残差监控来发现组件衰减、遮挡或逆变器效率下降。风光互补调度场景下,若风机功率曲线监控发现某台机组持续低于预期,可以提前调整电站出力计划,避免对电网承诺功率落空。这正是精细化运营与粗放管理之间的核心差距——气象数据质量与建模方法的共同提升,才能让这个差距真正转化为收益。
在运梦气象 API 上手
把这套方法落到运梦气象 API 上:参考曲线本身只需风速这一个输入,但若要按工程经验补充大气密度等协变量,可拉取气温、气压与 10 m 风。以下示例用 downloadSync 接口获取风机轮毂高度(100 m)处的风速分量、10 m 风、近地面气温与气压:u100/v100 合成 100 m 风速(参考曲线的输入),tas/sp 用于计算大气密度,uas/vas 与 100 m 风之比作为湍流/稳定度的切变代理。字段均来自 ger(德国气象局)数据源,提供逐小时预报,时效覆盖未来数天,适合滚动更新监控输入。
历史训练数据建议改用 era5 数据源,ERA5 的长期再分析数据经过质控、时间序列一致性好,可追溯到 1940 年,是构建历史参考曲线的理想选择。训练时将 ERA5 历史气象字段与 SCADA 历史功率/转速/桨距角数据按时间戳对齐,用 k-means + 马氏距离清洗限电和停机段后,再拟合三条参考曲线。
{
"dataSourceId": "ger",
"lat": 41.5,
"lon": 111.2,
"stime": "2026-05-05 00:00",
"etime": "2026-05-12 23:00",
"fields": ["u100", "v100", "ws", "uas", "vas", "tas", "sp"],
"timezone": "8"
}
拿到返回数据后,大气密度的计算公式为 $\rho = p / (R_d \cdot T)$,其中 $R_d = 287.05 , \text{J/(kg·K)}$,$T$ 为开尔文温度(tas 为 ℃,需加 273.15 换算),$p$ 为气压(sp 单位为 hPa,代入公式前需乘 100 换算为 Pa)。把实时运行点(风速及其对应的功率、转速、桨距角)与历史参考曲线比对,用 Hotelling T² 控制图判别是否越限;若引入密度、湍流等协变量做精细化建模,则把 $\rho$ 与 ws、风切变一同纳入特征,进一步收窄正常工况下的判别带宽。
常见问题
Q:训练数据需要多长时间才够? 通常建议至少 6 个月的 10 分钟级 SCADA 数据,覆盖不同季节的气象条件变化,这样模型才能学到大气密度和湍流强度的全年变化规律。若只有 1-2 个月的数据,模型在季节外推时误差会明显放大。有条件的话,用 1-2 年数据训练更佳,建议每季度用最新数据增量更新模型。
Q:论文用的是什么算法?需要上 k-NN 或深度学习吗? 论文本身用的是统计方法,而非 k-NN 或深度学习:以 k-means 聚类 + 马氏距离清洗数据,以风速为单一输入构建功率/转速/桨距角三条参考曲线,用峰度/偏度量化偏离,用 Hotelling T² 控制图做监控。这套方法实现简单、可解释性强,对中小风场很友好。若想进一步提升,工程实践中可在干净数据上叠加梯度提升树(XGBoost / LightGBM)等回归模型做功率预测,但那属于在论文框架之外的扩展,不是论文的原始做法。
Q:如何判断功率曲线已经漂移需要重训? 最直接的指标是控制图上的残差均值是否发生了持续性偏移(而非随机波动)。若经过叶片清洁、设备维修等干预后残差恢复正常,说明是设备问题而非模型过时;若在无明显干预的情况下残差均值连续数周偏移,则应考虑重新采集近期健康数据进行增量训练,更新基准曲线。
Q:如果没有测风塔数据,湍流强度怎么获取?
可以用三种方式近似:一是用 SCADA 的 10 分钟内风速采样序列(若 SCADA 记录了高频数据)计算标准差;二是用 100 m 与 10 m 风的切变(由 u100/v100 与 uas/vas 算出)作为湍流/稳定度代理;三是根据站址地形粗糙度和气候区划使用经验湍流强度分类值。三种方法精度依次递减,但在没有测风塔的存量风场中,后两种方式已能显著改善单维模型的误差。
Q:ERA5 和 ger(德国气象局)数据应该怎么搭配使用?
二者的定位不同。ERA5 是再分析数据,时效截止到近期,优点是历史覆盖长(1940 年至今)、质控严格、适合训练和基准校验;ger 是预报数据,时效覆盖未来数天,适合实时运营中的特征输入和超短期功率预测。标准工作流是:用 ERA5 历史数据与 SCADA 历史记录构建参考曲线与监控基准,然后在实时监控时用 ger 预报字段为模型提供气象输入,实现"历史学习 + 实时驱动"的完整闭环。
引用与原文
Kusiak, A., & Verma, A. (2013). Monitoring wind farms with performance curves. IEEE Transactions on Sustainable Energy, 4(1), 192–199. DOI: doi.org/10.1109/TSTE.2012.2212470