气象大数据

集合预报后处理:EMOS 与分位数回归生成概率功率预测

· 南京运梦科技算法团队 · 评审 算法负责人

集合预报后处理:EMOS 与分位数回归生成概率功率预测 封面

集合预报(ensemble)本应是概率功率预测最直接的原料:几十条略有差异的预报轨迹,天然刻画了大气的内在不确定性。但凡是真把原始集合成员直接当成功率分布用过的工程师都知道,它几乎总是"不准"——展宽太窄,区间动不动就被实测击穿,名义 80% 的区间实际只罩住六成时段。这不是哪一家模式的 bug,而是集合系统的系统性顽疾:欠离散(underdispersion)。原始集合需要经过一道统计后处理工序,才能变成校准良好的概率预测。这篇文章把后处理的两条主线——EMOS(参数化)与分位数回归(非参数化)——讲透,并落到风光功率预测的工程语境里。

关键要点

  • 原始集合普遍欠离散:成员只扰动了初值与物理过程,未涵盖全部误差来源,导致集合展宽系统性偏小、预报区间偏窄,直接用会高估自己的确定性。
  • EMOS(非齐次高斯回归,NGR)是参数化后处理的代表:用集合均值线性映射预测分布的位置参数、用集合方差驱动尺度参数,以最小化 CRPS 估计系数,输出一条完整的参数化预测分布。
  • 分位数回归是非参数后处理的代表:不假设分布形状,以集合统计量为协变量、最小化 Pinball Loss 直接估计任意分位数,对风光功率这种有界、非对称、含质量点的分布尤其合适。
  • CRPS 是后处理的共同优化与评估准则:它同时奖励可靠性与锐度,对 EMOS 有高斯闭式解、便于训练,是比较参数化与非参数化方法的统一标尺。
  • 功率域的特殊性必须显式处理:先校准气象量再过功率曲线、还是直接对功率建模,两条路线各有取舍;分位数交叉、零功率质量点、额定截断都需要工程上专门约束。

为什么原始集合不能直接用

集合预报的成员来自对初始场和模式物理的有限扰动。理论上,如果扰动方案完美覆盖了所有误差来源,集合的离散程度就应当等于预报误差的真实量级——即所谓"spread-skill 关系"成立。现实中这一关系几乎从不严格成立:扰动无法穷尽模式误差、边界误差、参数化误差,于是集合成员"抱团",展宽小于真实不确定性,这就是欠离散。

判断欠离散有两个常用诊断工具。一是 rank histogram(Talagrand 图):把实测值插入排序后的集合成员中,统计其落入的名次分布。校准良好时该直方图应近似均匀;若呈 U 形(实测频繁落在成员区间之外),即典型欠离散信号。二是 spread-error 关系:把样本按集合标准差分箱,比较每箱的集合标准差与对应的均方根误差,理想情况两者在对角线上重合,欠离散表现为误差系统性高于展宽。

对功率预测,欠离散的代价是直接的:你向调度申报一个名义 90% 的下行保障出力,实际却频繁被跌破,备用容量配置失效,"两个细则"考核罚款照吃不误。后处理的任务,就是用历史"预报-实测"配对样本,把集合的统计信息重新映射成一个统计意义上可靠的概率分布。

EMOS:参数化后处理

EMOS(Ensemble Model Output Statistics),又称非齐次高斯回归(Non-homogeneous Gaussian Regression, NGR),是参数化后处理的经典范式。它的思路是:假定预报量服从某个参数分布族,用集合的统计量去回归这个分布的参数。

以温度这类近似对称的变量为例,假定预测分布为高斯 $N(\mu, \sigma^2)$,EMOS 设定:

$$\mu = a + b_1 x_1 + \cdots + b_m x_m, \qquad \sigma^2 = c + d \cdot S^2$$

其中 $x_i$ 是各集合成员(或直接用集合均值 $\bar{x}$ 替代线性组合),$S^2$ 是集合方差。位置参数由集合成员线性校准均值偏差,尺度参数则让集合方差去驱动——这正是 EMOS 治欠离散的关键:当原始集合方差系统性偏小,估计出的 $d>1$(甚至再叠加常数项 $c$)会把展宽放大到正确量级。

系数 $(a, b, c, d)$ 通常不通过最大似然,而是通过最小化训练期的 CRPS 估计。对高斯分布,CRPS 有闭式表达式,可对参数求解析梯度,优化高效稳定,这也是 EMOS 在业务上长盛不衰的工程理由。

EMOS 的精髓在于"选对分布族"。风速、辐照度这类非负、右偏的变量不能再用高斯,常见替代是截断高斯对数正态,或对极端尾部更友好的 GEV / Gumbel 等极值分布族;降水这类含大量零值的变量则需要"零质量点 + 连续部分"的混合形式。分布族选错,再好的优化也救不回来——这是参数化方法的根本约束。

分位数回归:非参数后处理

参数化方法的代价是要预先押注一个分布形状。当预报量的分布既有界、又非对称、还带质量点(功率曲线两端尤甚)时,找一个干净的参数族非常困难。**分位数回归(Quantile Regression, QR)**绕开了这个问题:它不假设任何分布形状,而是对每个分位数水平 $\tau$ 直接估计一条条件分位数函数。

训练目标是 Pinball Loss(分位数损失):

$$L_\tau(u) = u \cdot (\tau - \mathbf{1}u < 0)$$

其中 $u = y - \hat{q}_\tau$ 为残差。当实测低于预测分位数($u<0$)时权重为 $1-\tau$,高于时权重为 $\tau$,这种非对称惩罚让模型自然收敛到目标分位数。对集合后处理而言,协变量不再是单值预报,而是集合统计量:集合均值、集合标准差、若干集合分位数、乃至成员排序特征。集合标准差作为协变量进入模型后,模型可以学到"展宽大时区间该展宽多少",这同样直接对治欠离散。

QR 的常见实现谱系:

  • 线性分位数回归:以集合统计量为线性特征,可解释、样本需求低,是最稳的基线。
  • 分位数回归森林 / 分位数梯度提升(QRF / QGB):捕捉非线性与变量交互,适合特征丰富、样本充足的场景。
  • 分布回归(如 Bernstein 多项式 QR、神经网络分位数回归):在大样本下逼近完整条件分布。

QR 最棘手的工程问题是分位数交叉(quantile crossing):各 $\tau$ 独立训练时,可能出现 $\hat{q}{0.8} < \hat{q}{0.5}$ 这种违反单调性的荒谬结果。解决办法包括联合估计、训练后重排序(rearrangement / isotonic 后处理),或在模型中直接施加单调约束。落地概率功率产品前,分位数单调性是必须过的一道闸。

EMOS 还是分位数回归:怎么选

两条路线不是对立,而是不同假设强度下的取舍:

维度EMOS(参数化)分位数回归(非参数)
分布假设强,须预设分布族弱,无须假设形状
样本需求较低,系数少较高,尤其非线性模型
输出完整解析分布离散分位数(需插值补全)
极端尾部取决于分布族选择受训练样本覆盖限制,外推弱
多变量/时空相关需配合 ECC / Schaake shuffle 重建相关结构同样需要联合后处理恢复相关性

一个值得强调的共性陷阱:无论 EMOS 还是 QR,对每个时刻、每个变量单独后处理,都会破坏时间维和变量间的相关结构。比如逐时刻独立校准后,未来 24 小时的功率分位数曲线会失去时序相关性,直接用于"连续低出力时段"这类路径相关的调度决策就会失真。业务上用 **ECC(Ensemble Copula Coupling)**或 Schaake shuffle 等方法,把后处理后的边缘分布重新"穿"回原始集合的秩相关结构上,恢复时空一致性。这一步在功率预测里常被忽略,却恰恰是路径型决策(备用调度、储能充放计划)成败的关键。

落到功率域:两条建模路线

把后处理用到功率预测,存在一个绕不开的选择:在气象量上校准,还是在功率量上校准?

路线一:先校准气象量,再过功率转换。 先对集合的风速 / 辐照度做 EMOS 或 QR 后处理,得到校准良好的气象概率分布,再让每个分位数(或抽样轨迹)通过功率曲线(风机功率曲线、光伏 PR 模型)映射到功率。优点是气象量的分布性质相对干净、物理可解释;缺点是功率曲线的强非线性会扭曲分位数——风速功率曲线在切入、额定段的陡峭非线性,会让"风速 90% 分位"未必对应"功率 90% 分位",需要逐样本通过曲线而非直接映射分位数。

路线二:直接对功率建模。 把集合气象统计量作为协变量,直接用分位数回归输出功率分位数。优点是端到端学到了功率曲线的非线性与场站个性(尾流、限电、检修),无须显式功率曲线;缺点是必须有足够长的实测功率历史样本,且功率域的有界性($0, P_n$)、零功率质量点、额定截断都要显式约束,否则会吐出负功率或超额定的无意义分位数。

实践中两条路线常组合:用气象侧后处理保证不确定性量级正确,用功率侧模型吸收场站个性,再以 CRPS 和可靠性图(reliability diagram)在自己的实测基线上裁决孰优。任何方法的最终评判都在本场站的回测上,而非论文里的相对名次。

与运梦气象 API 的关系

后处理是个"数据饥饿"的活:欠离散订正系数、分位数回归权重,都要在足够长、足够一致的历史"预报-实测"配对上拟合。运梦气象 API 在数据底座上正好契合这一需求。

训练侧,ERA5 再分析(dataSourceId: era5)提供长序列、一致的历史气象场,运梦产品可取历史范围为 1950 年至今(ERA5 数据集本身的覆盖为 1940 年至今),足以覆盖各季节、各风速 / 辐照区间的条件分布,为分位数回归和 EMOS 系数估计提供充裕样本。常用字段包括 100m 风速分量(u100v100)、近地面风速(ws)、向下短波辐射(rsds)、直接 / 散射辐射(dnidhi)、温度气压(tassp)等。

预报侧,预报数据源对外口径为德国气象局(dataSourceId: ger),支持多个起报时次(00/06/12/18)。在没有完整原生集合的场景下,把多起报时次、邻近格点的预报视作一组"伪集合成员",是工程上务实的近似:以它们的离散程度作为分位数回归的展宽协变量,同样能驱动后处理逻辑。无论用哪种集合来源,字段命名在 ERA5 与德国气象局之间保持一致,"ERA5 训练、德国气象局推理"的范式切换成本很低。

需要克制地说明:后处理能把"统计上可信"的概率分布交到调度员手里,但它修不了输入本身没有的技巧,也替代不了真正的降尺度。可靠性图、CRPS、rank histogram 这三件诊断工具,建议在每一次模型上线前都在自有实测上跑一遍——这是把集合预报真正变成可信概率功率产品的最后一道,也是最重要的一道闸门。