4、风功率预测技术:数值天气预报(NWP)、统计预测模型(ARIMA/LSTM)、组合预测方法、预测误差分析

风功率预测,说白了就是跟老天爷「猜拳」。你想想看,风这东西看不见摸不着,说停就停,说刮就刮。我们做风电的,最头疼的就是这个不确定性。但没办法,电网调度要你报明天的出力曲线,你不报,人家就不给你并网。所以,风功率预测就成了咱们风场运营的「必修课」。

我个人习惯把预测技术分成三大类:物理方法、统计方法、还有组合方法。今天咱们就挨个捋一遍。

4.1 数值天气预报(NWP)—— 物理方法的「硬骨头」

数值天气预报,就是拿超级计算机去解大气运动方程。说白了,它把地球网格化,每个格点算温度、气压、湿度、风速。网格越细,算得越准,但计算量也越大。

我在项目中遇到过一件事:某次用欧洲中心的NWP数据,分辨率9公里,结果预测的风速总是偏低。后来一查,原来是地形效应没处理好。风经过山脊会加速,但NWP的网格太大,把山给「抹平」了。

NWP的核心参数:
  • 空间分辨率: 全球模型通常25-50km,区域模型可到3-9km
  • 时间分辨率: 通常1小时或3小时输出一次
  • 预报时效: 短期(0-72h)、中期(3-10天)
  • 更新频率: 每6小时或12小时滚动更新

NWP的优点是物理机制清晰,能处理大尺度天气系统。但缺点也很明显:计算成本高,对小尺度局地风场(比如山谷风、海陆风)经常「翻车」。所以,实际工程中很少单独用NWP,通常要搭配统计模型做后处理。

4.2 统计预测模型 —— 数据驱动的「老司机」

统计模型不关心物理过程,它只看历史数据里的规律。你给它喂风速、功率、温度、湿度,它自己找关系。这里面有两个经典代表:ARIMA和LSTM。

4.2.1 ARIMA模型 —— 时间序列的「老黄牛」

ARIMA(自回归积分滑动平均模型),名字听着唬人,其实核心就三件事:差分、自回归、滑动平均。

  • 差分(I): 把非平稳序列变成平稳序列。比如风速有日变化,差分一次就能去掉这个趋势。
  • 自回归(AR): 用过去的值预测未来的值。比如用t-1、t-2时刻的风速预测t时刻。
  • 滑动平均(MA): 用过去的预测误差来修正当前预测。

我曾经用ARIMA做过一个短期预测项目,效果还不错。但有个坑:ARIMA对突变天气(比如冷锋过境)反应迟钝。为什么?因为它只认历史模式,没见过的新情况它就懵了。

避坑指南: 我曾经在数据预处理阶段偷懒,没做异常值检测。结果某天测风塔被鸟撞了,数据跳变,ARIMA直接预测出负风速。嗯,从那以后我再也不敢跳过数据清洗了。

4.2.2 LSTM模型 —— 深度学习的「新贵」

LSTM(长短期记忆网络)是循环神经网络(RNN)的升级版。它最大的本事是能记住「长期依赖」。什么意思?比如今天下午的风速变化,可能跟昨天同一时段的大气环流有关。普通RNN记不住那么远,但LSTM可以。

LSTM的核心结构有三个门:

  • 遗忘门: 决定丢掉哪些旧信息
  • 输入门: 决定记住哪些新信息
  • 输出门: 决定输出哪些信息

下面是一个简单的LSTM预测代码示例,我用的是Keras框架:

from keras.models import Sequential
from keras.layers import LSTM, Dense, Dropout

model = Sequential()
model.add(LSTM(units=50, return_sequences=True, input_shape=(lookback, n_features)))
model.add(Dropout(0.2))
model.add(LSTM(units=50, return_sequences=False))
model.add(Dropout(0.2))
model.add(Dense(units=1))

model.compile(optimizer='adam', loss='mse')
model.fit(X_train, y_train, epochs=100, batch_size=32, validation_split=0.1)

我建议你在实际项目中,LSTM的隐藏层不要超过3层。层数太多容易过拟合,而且训练时间成倍增加。另外,输入数据的归一化一定要做,不然LSTM的梯度会爆炸。

注意: LSTM不是万能的。如果数据量太少(比如只有几百条),ARIMA可能比LSTM更靠谱。别盲目追新,适合的才是最好的。

4.3 组合预测方法 —— 1+1 > 2

单一模型总有短板。NWP物理机制强但分辨率低,ARIMA擅长短期但怕突变,LSTM能学复杂模式但需要大数据。所以,聪明的工程师会搞「组合拳」。

常见的组合方式有两种:

  • 加权平均法: 给NWP、ARIMA、LSTM分别赋权重,比如0.4、0.3、0.3,然后加权求和。权重可以用遗传算法或粒子群算法优化。
  • 堆叠法(Stacking): 把多个模型的输出作为新特征,再训练一个「元模型」来做最终预测。元模型通常用简单的线性回归或随机森林。

我记得有一次做风场并网考核,单一模型误差率在12%左右,用了组合方法后降到了8.5%。虽然计算量大了点,但效果确实明显。

组合预测的核心原则:
  1. 各模型之间的相关性要低(比如NWP和LSTM的误差模式不同)
  2. 权重分配要动态调整(比如晴天时NWP权重大,阴天时LSTM权重大)
  3. 定期重新训练,避免模型老化

4.4 预测误差分析 —— 别只看平均误差

很多新手只看RMSE(均方根误差)或MAE(平均绝对误差),觉得数值小就万事大吉。其实不然。我建议你多关注以下几个维度:

误差指标 含义 适用场景
RMSE 对大误差惩罚大 电网调度(怕极端偏差)
MAE 反映平均偏差水平 日常运营评估
MAPE 百分比误差,直观 不同风场横向对比
误差分布偏度 看是否系统性高估/低估 模型校准

我曾经遇到过一个案例:某风场RMSE只有8%,但电网考核却总是不合格。后来一查,发现误差分布严重偏态——80%的时间预测偏大,20%的时间偏小。虽然平均误差不大,但偏大的那80%导致电网备用容量不足。所以,误差分析一定要看分布,不能只看均值。

实战技巧: 我习惯把预测误差按风速段分组。比如低风速段(0-5m/s)误差大,中风速段(5-12m/s)误差小,高风速段(>12m/s)误差又变大。这样就能针对性地改进模型。

4.5 知识体系总览

下面这张图把风功率预测的核心逻辑串起来了。你可以看到,从数据输入到模型选择,再到误差反馈,是一个闭环。

风功率预测技术知识体系 数据输入 历史风速/功率/气象 NWP物理方法 统计方法(ARIMA/LSTM) 组合预测方法 预测输出 功率曲线/置信区间 误差分析 RMSE/MAE/偏度/分段 反馈优化模型 核心逻辑:数据 → 多模型预测 → 组合输出 → 误差反馈 → 模型迭代 关键要点 • NWP适合中长期,统计模型适合短期 • 组合预测能有效降低单一模型风险 • 误差分析要关注分布特征,不能只看均值

好了,关于风功率预测技术,咱们就聊到这儿。记住一句话:没有完美的模型,只有不断迭代的工程实践。你手头的数据质量、计算资源、业务需求,决定了你该选哪条路。

专注资料整理