连续概率排位分数 (CRPS)

连续概率排位分数


首页 » 知识库 » 此处
作者:Joannes Vermorel,2016 年 6 月

所谓概率预测,即针对未来每种可能的情形指定一个概率。但是,并非所有概率预测值都具有同等准确度,因此就需要利用度量指标来评估不同概率预测的相应准确度。MAE(平均绝对误差)或 MAPE(平均绝对百分比误差)不能直接用于概率预测。而连续概率排位分数 (CRPS) 则针对概率预测情形对 MAE 进行了广义化。CPRS 是涉及概率预测时使用最广泛的准确度指标之一。

概述

CRPS 最常用于评估两种概率预测模式的相应准确度。具体而言,该指标可以与后验分析过程相结合,通过对同一数据集进行多次测量的方式,以使准确度评估保持稳定。

该指标明显不同于 MAE 之类的简单指标,因为它具有非对称的表示:尽管预测值是概率性的,但观测值却是确定的。与 Pinball 损失函数不同,CPRS 不侧重于概率分布的任何特殊点,而是会考虑完整的预测分布。

形式定义

令 $X$ 为随机变量。

令 $F$ 为 $X$ 的累积分布函数 (CDF),例如 $F(y)=\mathbf{P}\left[X \leq y\right]$。

令 $x$ 为观测值,$F$ 为与经验性概率预测相关的 CDF。

$x$ 与 $F$ 之间的 CRPS 定义为: $$CRPS(F, x) = \int_{-\infty}^{\infty}\Big(F(y)- 𝟙(y - x)\Big)^2dy$$ 其中 $𝟙$ 为亥维塞阶跃函数,表示沿实线分布的阶跃函数

  • 如果实变元为正或为零,则值为 1,
  • 否则值为 0。

CRPS 使用与观测变量相同的单位来表示。CRPS 广义化了平均绝对误差;实际上,如果预测值具有确定性,那么将还原为平均绝对误差 (MAE)。

Envision 语法

Lokad 的脚本语言通过 crps() 函数为 CRPS 提供内置支持:
Accuracy = crps(Z, X)

其中 Z 应为一种分布,用于表示概率预测;X 应为一个数值,用于表示观察到的值。

已知属性

Gneiting 和Raftery (2004) 指出,连续概率排位分数可以等效地表示为: $$CRPS(F,x) = \mathbf{E}\Big[|X-x|\Big]-\frac{1}{2}\mathbf{E}\Big[|X-X^*|\Big]$$ 其中,
  • $X$ 和 $X^*$ 为线性随机变量的独立副本,
  • $X$ 是与累积分布函数 $F$ 相关的随机变量,
  • $\mathbf{E}[X]$ 是 $X$ 的预期值。

数值计算

从数值角度而言,计算 CPRS 的一种简单方法就是将原始整数分解成适当界限内的两个整数,从而简化亥维塞阶跃函数,由此可得出: $$CRPS(F, x) = \int_{-\infty}^x F(y)^2dy + \int_x^{\infty}\Big(F(y)- 1\Big)^2dy$$ 实际上,由于 $F$ 为通过预测模型获取的经验性分布,因此相应的随机变量 $X$ 具有紧支集,这意味着只有有限数量的点满足 $\mathbf{P}[X = x] \gt 0$。所以,整数可以转变为离散的有限和。

参考

  • Gneiting, T. 和 Raftery, A. E. (2004)。严格适当评分规则、预测和评估。西雅图华盛顿大学统计系 463 号报告。