数据工程:风电数据清洗与预处理、特征工程与标注策略

各位搞风电的朋友,大家好。今天咱们聊聊数据工程。说实话,很多做预测的团队,模型调得再花哨,最后死就死在数据上。我见过太多项目,算法选型没问题,算力也够,结果预测准确率就是上不去。一查,数据质量一塌糊涂。所以这一章,咱们把数据工程这块硬骨头啃下来。

一、风电数据清洗与预处理

风电数据,说白了就是脏。传感器漂移、通信中断、风机停机检修……各种情况都会让数据出现异常。我个人习惯,拿到数据第一件事不是建模,而是先做数据体检。

1.1 缺失值处理

风机SCADA系统采集的数据,缺失率通常在5%-15%之间。我遇到过最夸张的一次,某个测风塔的数据缺失率高达40%,原因是通信模块坏了三个月没人发现。

处理缺失值,我一般分三步走:

  • 判断缺失类型:是随机缺失还是系统性缺失?如果是风速传感器在特定风向角下频繁失效,那就是系统性缺失,需要特别处理。
  • 插补方法选择:短时间缺失(<30分钟)用线性插值;长时间缺失用前后向填充或基于相似日的插补。
  • 标记缺失区间:我建议保留一个缺失标记列,方便后续分析。

核心原则:不要盲目删除缺失样本。风电数据本身样本量有限,删除太多会导致模型泛化能力下降。

1.2 异常值检测与处理

风电数据里的异常值,主要有三类:

  • 物理限值异常:风速超过切出风速还发电?功率超过额定功率?这些明显不合理。
  • 突变异常:前一秒风速5m/s,下一秒跳到25m/s,然后又回到6m/s。这通常是传感器故障。
  • 停机数据:风机维护、故障停机期间的数据,不能用于正常工况建模。

我曾经处理过一个项目,某台风机功率曲线异常分散。排查了三个月,最后发现是桨距角传感器零点漂移。你想想看,一个传感器的小问题,能让整个预测模型失效。

避坑指南:我曾经用3σ原则直接剔除异常值,结果把正常的高风速段数据也删了。后来改用四分位距法(IQR),配合业务规则,效果好了很多。

二、特征工程:时域与频域特征

特征工程做得好,模型效果差不了。风电数据特征,我习惯分成时域和频域两大类。

2.1 时域特征

时域特征,说白了就是直接从时间序列里算出来的统计量。常用的有:

  • 滑动统计量:均值、标准差、最大值、最小值、峰度、偏度
  • 变化率特征:风速变化率、功率变化率、桨距角变化率
  • 累积特征:累计发电量、累计运行时间
  • 时序滞后特征:前1小时、前2小时的风速和功率

我个人经验,变化率特征往往比原始值更有预测价值。比如风速变化率,能反映湍流强度,对齿轮箱轴承寿命预测特别重要。

2.2 频域特征

为什么要做频域分析?因为很多故障信号在时域里看不出来,但在频域里一目了然。比如齿轮箱的啮合频率、轴承的故障特征频率。

常用的频域特征提取方法:

  • FFT(快速傅里叶变换):提取主要频率成分
  • 功率谱密度:分析能量在不同频段的分布
  • 小波变换:同时分析时域和频域信息,适合非平稳信号

实战经验:我在做主轴轴承预测时,发现时域特征准确率只有70%左右。加入频域特征后,准确率提升到了88%。说白了,频域特征能捕捉到早期故障的微弱信号。

三、数据标注策略

数据标注,是风电预测里最费时费力的环节。我见过有的团队花80%的时间在标注上。标注质量直接决定模型上限。

3.1 标注类型

标注类型 适用场景 标注难度
故障标签 故障预测、剩余寿命预测 高(需要专家判断)
工况标签 正常/异常工况分类 中(可基于规则自动标注)
事件标签 变桨事件、启停机事件 低(可从SCADA日志提取)
退化标签 性能退化评估 高(需要长期跟踪)

3.2 标注策略建议

标注不是越多越好,而是要精准。我建议采用以下策略:

  • 半自动标注:先用规则自动标注,再由人工复核。比如功率曲线偏离超过20%的,自动标记为异常。
  • 多专家交叉验证:同一个样本由至少两位专家独立标注,不一致的讨论确定。
  • 标注一致性检查:定期抽查标注结果,计算标注者间一致性(如Cohen's Kappa系数)。
  • 标注版本管理:标注结果要版本化,方便回溯和修正。

重要提醒:标注标准一定要文档化。我曾经吃过亏,不同标注员对“轻微异常”的理解不一样,导致模型训练数据不一致。后来我们制定了详细的标注手册,附上典型样本截图,才解决了这个问题。

四、数据工程整体流程

下面这张图,是我总结的数据工程整体流程。从原始数据到可用特征,每一步都马虎不得。

风电数据工程整体流程 原始SCADA数据 数据清洗与预处理 特征工程 时域特征 频域特征 数据标注 可用特征数据集

这张图展示了数据工程的核心流程。从原始SCADA数据开始,经过清洗、特征提取、标注,最终得到可用的特征数据集。每一步之间都有严格的依赖关系,跳步或者简化都会影响最终效果。

个人建议:数据工程不要追求一步到位。我习惯先做一个小规模的试点,验证流程可行后再推广到全部数据。这样能及时发现流程中的问题,避免大规模返工。

好了,数据工程这块就聊到这儿。记住一句话:数据质量决定了模型的天花板,算法只是逼近这个天花板的手段。下一章咱们聊聊具体的模型选型和训练策略。

蓝海数据掘金营,专注资料整理