← 全部作品

2026.08—09 · 个人项目 · Python(pandas、XGBoost、PyTorch)

德州电网风电:官方预报还剩多少空间?

德州电网(ERCOT)公开了风电的实际出力,以及官方风电预报的完整存档。正好拿来回答一个具体问题:一个气象背景的人自己建模型,能比电网的业务预报好多少?

// 结论先说

  • 官方日前预报的误差是 6.24%(占装机),已经和我用事后真实天气做的“完美预报上界”6.38% 持平。自己训练模型打败官方,这条路不成立。
  • 官方预报比实际发电偏高约 2.9%,主要是弃风:换成以出力潜力为真值,偏差只有 −0.1% 到 −0.7%,概率预报的分位数也校准得很好。
  • XGBoost、LSTM、Transformer 相差不到 0.2 个百分点;训练期缺了秋冬,所有模型的预报系统性偏低 3.2—5.9 个百分点。补季节比换模型重要。
  • 套用西北“两个细则”估算:100 MW 风电场,预报误差放大一倍时,一年功率预测考核约 26 万元。
6.24%
官方日前预报误差
平均绝对误差,占装机,2024 全年
6.38%
我的完美预报上界
用事后真实天气(ERA5),不是预报
+2.9%
官方相对实际发电偏高
主要来自弃风,不是预报偏差

01先证明时间轴没错

数据有三块:ERCOT 公开的分燃料发电报表(整理成 2018—2024 年逐小时风电出力)、ERA5 再分析风场, 以及官方短期风电预报 2023—2024 年的全部存档,共 17736 份,每小时一份,每份含未来 168 小时。

预报评估最怕时间错位:数值看起来都正常,程序也不报错,结论却是错的。所以对齐做了两次独立检验:

  • 和美国能源信息署 EIA-930 的独立数据比:2024 全年相关系数 0.99998,平均绝对误差 28.5 MW(占均值 0.22%)。
  • 和官方预报文件自带的实况比:剔除 27 小时坏值(约为正常值的 13 倍)后,相关系数 0.99997,一阶差分的时移相关峰值落在滞后 0 小时(0.999,±1 小时约 0.70)。
  • 最初定的验收标准“相关峰值必须在滞后 0”是错的:逐小时出力自相关约 0.98,滞后 0 和滞后 1 只差 0.004,全在噪声里。改看一阶差分,峰才够尖锐。
  • 夏令时回拨那天,报表会多出一个重复时段。排错了数值照样正常,程序也不报错,只能靠上面的检验抓出来。

02官方预报:提前一天,误差 6% 左右

官方风电预报误差随提前量的变化

平均绝对误差,占装机容量,以实际发电为真值,2024 全年 · 悬停查看各提前量

查看数据表
提前量 h样本小时平均绝对误差 %偏差 %
087843.12+2.95
187843.79+2.69
287844.34+2.53
387844.66+2.38
687845.08+2.13
1287845.41+2.35
2487846.16+2.85
3687846.58+2.85
4887847.09+2.91
7287848.42+3.27
120878412.40+4.01
167860316.25+2.99

提前 0 小时误差 3.1%,提前 1 天约 6.2%,提前 3 天 8.4%,提前 7 天 16.3%。 日前市场用前一日 09:55 发布的那一份(提前 15—39 小时),全年平均绝对误差 6.24%。

虚线是我用 ERA5 风场训练的最好模型,误差 6.38%。ERA5 是事后同化了观测的再分析,相当于假设天气预报完全准确, 所以它是上界,不是预报,两者不是公平比较。业务上只会比这条线差,而官方预报已经和它持平。

03偏高的那部分,是弃风

官方预报比实际发电全年偏高约 2.9%(占装机),实际发电低于官方中位数预报的小时占 64%(名义上应为 50%), 看上去像系统性高估。但官方预报的对象是风电场“能发多少”,也就是出力潜力;实际发电还要再扣掉弃风。 2024 年 9 月 26 日起,官方文件新增了出力潜力的实况,两者可以分开看:

同一批小时,两种真值下的官方预报误差

平均绝对误差,占装机,2024-09-26 之后(每个提前量 2358 小时)

以出力潜力为真值以实际发电为真值
查看数据表
提前量 h样本小时以出力潜力为真值 %以实际发电为真值 %
023580.473.53
123581.964.04
223582.884.44
323583.364.66
623583.974.84
1223584.545.24
2423585.256.00
3623585.716.31
4823586.156.60
7223587.487.74
120235813.4213.08
167235819.3018.33
  • 提前 0 小时:以出力潜力为真值,误差只有 0.47%;以实际发电为真值是 3.53%。差出来的就是弃风。
  • 以出力潜力为真值时,偏差在 −0.1% 到 −0.7% 之间;潜力低于官方中位数预报的比例为 46%—49%(名义 50%), 提前 2—72 小时低于 20% 分位数的比例为 16%—19%(名义 20%)。官方概率预报对它自己的目标校准得很好。
  • 提前 72 小时以后,天气预报误差占主导,两条线并拢;85 小时以后,以出力潜力为真值的误差反而略大。

所以“天气 → 出力潜力”这一段,官方已经做得很好;还有空间的是“潜力 → 实际发电”,也就是弃风。 它随负荷、电价和输电约束变化,正是交易侧关心的量。

出力潜力实况只覆盖 2024 年最后约三个月,前三季度无法用同样方法核实。

04换模型,不如补季节

同一个任务:用 ERA5 风场估算同一时刻的全网风电出力。2023 年训练,2024 年全年测试(8784 小时), 机器学习模型各跑 3 个随机种子。

各模型的风电出力误差

平均绝对误差,占装机,输入为 ERA5 风场(完美预报上界),误差线为种子间标准差

查看数据表
模型平均绝对误差 %均方根误差 %偏差 %随机种子
XGBoost6.388.23+0.503
LSTM6.488.41+1.043
Transformer6.548.43+1.073
分箱功率曲线9.4411.92+0.681
气候态20.8124.46+0.641

三个机器学习模型相差不到 0.2 个百分点,和随机种子间的波动同量级;都比分箱功率曲线(9.44%)好约三分之一。 真正拉开差距的是训练数据覆盖的季节:

训练期测试期各模型偏差
2023 年全年2024 年全年+0.5 到 +1.3 个百分点
2024 年 1—8 月2024 年 10—12 月−3.2 到 −5.9 个百分点

另外,不看天气、只用出力历史预报 24 小时后,最好的 Transformer 误差 18.36%,只比气候态(20.81%)好 12%。 风电预报的技巧几乎全部来自天气。

05放到国内:按西北细则估算考核

国内新能源场站的功率预测要按区域“两个细则”考核。我按西北能源监管局 2023 年 12 月印发的 《西北区域电力并网运行管理实施细则》(第十五、四十、四十九条),用 ERCOT 2024 全年的官方预报和实际出力, 估算一个 100 MW 风电场一年的功率预测考核:

100 MW 风电场全年功率预测考核(估算)

短期 + 超短期,每分折算 1000 元 · 悬停查看最高单月

查看数据表
误差放大日前准确率短期考核 分/月超短期考核 分/月全年 元最高单月 元
×1.092.1%4.10.049,4388,255
×1.588.6%11.50.2140,65920,729
×2.085.3%20.80.9260,53935,881
×2.582.3%30.52.4395,03751,636
×3.079.6%40.04.6534,27667,002

“误差 ×k”是把预报误差按比例放大。ERCOT 是约 4 万 MW 机群的合计,误差被空间平均压得很低,×1 相当于“极好的预报”; 单个场站的现实水平用 k > 1 来近似。误差放大一倍时,日前准确率 85.3%,一年考核约 26 万元,最高单月约 3.6 万元。

  • k 不是实测的单场站数据,是用国标准确率(1 − 均方根误差 / 装机)对照西北短期门槛来定位的。
  • 德州风的日变化和西北不同,时段划分直接套用当地钟点。
  • 数据是逐小时的,规则按 15 分钟点计:每小时当作 4 个相同的点。
  • 细则没写明超短期考核的结算频次,这里按每日一次计;若按每次上报计,超短期部分会成倍增加。
  • 全年缺弃风标记,实况用的是实际发电。用 9 月 26 日之后的出力潜力另算一遍,短期考核略高,说明用实际发电没有把考核算多。

06还没做的

  • ERA5 上界不是预报。真正公平的比较,要用历史存档的数值预报(GFS、ECMWF)驱动模型,这一步还没做。
  • 弃风预测目前只是方向,还没开始。
  • 概率预报(分位数、CRPS)和爬坡事件的专门评估,还在计划里。

代码、数据与完整报告联系后提供 · 联系方式