3、特征工程基础:时间特征提取、统计特征、滞后特征与滑动窗口构建

各位同学好,我是老张。在风电行业摸爬滚打了十几年,今天咱们聊聊特征工程里最基础、也最容易被忽视的一块——时间特征、统计特征、滞后特征和滑动窗口。

说实话,很多刚入行的朋友一上来就堆模型,结果效果不好。其实啊,问题往往出在特征上。你想想看,风电功率预测本质上是个时间序列问题,时间本身携带了大量信息。我见过太多人直接把时间戳扔进模型,那肯定不行。

3.1 时间特征提取:把时钟拆开看

时间特征,说白了就是把一个时间戳拆成多个维度。为什么要拆?因为模型看不懂「2024-03-15 14:30:00」这种格式,它只认数字。

小时特征:一天24小时,风电出力有明显的日变化规律。比如我所在的西北风场,下午2点到5点往往是一天中风最大的时候。所以小时特征很关键。

季节特征:这个不用我多说吧?冬天风大,夏天风小,这是常识。但要注意,季节是循环的,12月之后是1月,不是13月。所以直接用1-12的数字编码会有问题。

月份特征:比季节更细粒度。我习惯用正弦余弦变换来处理月份,避免数值跳跃。

核心要点:时间特征要体现周期性,不能简单用线性编码。

举个例子,我去年在山东一个海上风场做项目,发现模型在3月和9月总是预测不准。后来一查,原来是春分和秋分前后大气环流变化大,单纯用月份特征不够。后来我加入了「距春分天数」这个特征,效果立竿见影。

3.2 统计特征:别小看均值方差

统计特征听起来简单,但用好了能救命。我个人习惯把过去N个点的数据做统计,提取三个核心指标:

  • 均值:反映整体水平。比如过去1小时的平均风速,比当前瞬时风速更稳定。
  • 方差:反映波动程度。方差大说明风不稳定,这时候预测要更保守。
  • 偏度:这个很多人忽略。偏度反映数据分布是否对称。正偏度说明大风出现的概率低但强度大,这对功率预测很重要。

我的经验:偏度特征在极端天气预警中特别有用。有一次台风来临前,偏度值突然飙升到2.5以上,我立刻调整了模型权重,避免了预测偏差。

你可能会问:这些统计特征窗口选多大合适?嗯,这个没有标准答案。我一般会试3个窗口:15分钟、1小时、6小时。短窗口捕捉快速变化,长窗口反映趋势。

3.3 滞后特征:让模型记住过去

滞后特征,就是拿过去的值当特征。比如t-1时刻的风速、t-2时刻的功率。为什么需要这个?因为风电系统有惯性,现在的出力跟过去几分钟的状态密切相关。

我曾经犯过一个错误:把所有滞后特征都加进去,结果模型过拟合得一塌糊涂。后来我总结出两个原则:

  1. 滞后阶数不要太多:一般取3-5个就够了。风电系统的记忆长度有限,太远的过去意义不大。
  2. 要结合物理意义:比如风速的滞后特征比功率的滞后特征更重要,因为风速是原因,功率是结果。

避坑指南:千万不要把未来数据当特征!我见过有人不小心把t+1时刻的数据混进训练集,结果测试时效果奇好,一上线就崩。这叫数据泄露,是时间序列预测的大忌。

3.4 滑动窗口:动态看数据

滑动窗口,说白了就是用一个固定大小的窗口在时间轴上滑动,每次取窗口内的数据做计算。这个技术跟统计特征、滞后特征经常搭配使用。

我常用的滑动窗口有三种:

窗口类型 窗口大小 用途
短窗口 3-6个点(15-30分钟) 捕捉瞬时变化,用于超短期预测
中窗口 12-24个点(1-2小时) 反映短期趋势,用于短期预测
长窗口 96-192个点(8-16小时) 捕捉日周期规律,用于中长期预测

举个例子,我在做15分钟超短期预测时,只用短窗口的均值和滞后特征。但做4小时短期预测时,必须加入中窗口的方差和偏度,因为时间越长,不确定性越大。

下面是我画的一张知识结构图,帮你理清这四类特征的关系:

特征工程基础:四大特征体系 风电功率预测特征 时间特征 统计特征 滞后特征 滑动窗口 小时 季节 月份 均值 方差 偏度 t-1 t-2 t-3 短窗口 中窗口 长窗口 四类特征相互配合,覆盖时间序列的周期、统计、记忆和动态特性

最后说一句,特征工程没有银弹。我每次做新项目,都会先花一周时间做特征分析,看看哪些特征真正有用。你想想看,模型再强,喂进去的是垃圾,出来的还是垃圾。所以,别急着调参,先把特征搞明白。

本章小结:时间特征要体现周期性,统计特征要选对窗口,滞后特征要控制阶数,滑动窗口要匹配预测时长。四者结合,才能构建出高质量的特征集。

专注资料整理