連続ランク確率スコア(CRPS)

learn menu
ジョアネス・ヴェルモレルによって最初に執筆されました(2016年6月)。
アレクセイ・ティホノフによって更新されました(2024年5月)。

確率的予測は、すべての可能な未来に確率を割り当てます。しかし、すべての確率的予測が同じように正確ではなく、異なる確率的予測の正確性を評価するために指標が必要です。MAE(平均絶対誤差)やMAPE(平均絶対パーセント誤差)などの単純な精度指標は、確率的予測に直接適用することはできません。*連続ランク確率スコア(CRPS)*は、確率的予測の場合にMAEを一般化したものです。クロスエントロピーとともに、CRPSは確率的予測が関与する場合に最も広く使用される精度指標の1つです。

概要

CRPSは、2つの確率的予測モデルの正確性を評価するために頻繁に使用されます。特に、この指標はバックテストプロセスと組み合わせて、同じデータセット上で複数の測定を活用して正確性評価を安定化させるために使用できます。

この指標は、MAEなどのより単純な指標とは異なり、非対称な表現を持っています。予測は確率的である一方、観測値は確定的です。ピンボール損失関数とは異なり、CRPSは確率分布の特定の点に焦点を当てるのではなく、予測の分布全体を考慮します。

形式的な定義

$$X$$をランダム変数とします。

$$F$$を$$X$$の累積分布関数(CDF)とします。つまり、$$F(y)=\mathbf{P}\left[X \leq y\right]$$です。

観測値を$$x$$、経験的な確率的予測に関連付けられたCDFを$$F$$とします。

$$x$$と$$F$$の間のCRPSは次のように定義されます:

$$\qquad \qquad \qquad \qquad{CRPS(F, x) = \int_{-\infty}^{\infty}\Big(F(y)- 𝟙(y - x)\Big)^2dy} \qquad \qquad \qquad \qquad \qquad \qquad \tag{1}$$

ここで$$𝟙$$はヘヴィサイドの階段関数であり、実数直線上のステップ関数で次の値を取ります:

  • 実引数が正またはゼロの場合、値1を取ります。
  • それ以外の場合、値0を取ります。

CRPSは、観測変数と同じ単位で表されます(例:製品の需要が単位で予測された場合、CRPSも単位で表されます)。

CRPSは平均絶対誤差(MAE)を一般化したものです。実際、予測が確定的な場合、MAEに簡約されます。この点は、以下のチャートDで示されています。

既知の特性

Gneiting and Raftery(2004)は、連続ランク確率スコアを次のように等価に書くことができることを示しています:

$$\qquad \qquad \qquad \qquad {CRPS(F,x) = \mathbf{E}\Big[|X-x|\Big]-\frac{1}{2}\mathbf{E}\Big[|X-X^*|\Big]} \qquad \qquad \qquad \qquad \qquad \qquad \tag{2}$$

ここで

  • $${X}$$と$${X^*}$$は線形確率変数の独立したコピーです。
  • $${X}$$は累積分布関数$${F}$$に関連付けられた確率変数です。
  • $${\mathbf{E}[X]}$$は$${X}$$の期待値です。

数値評価

数値的な観点からは、CPRSを計算するための簡単な方法は、元の積分を適切に選ばれた境界で2つの積分に分割し、ヘヴィサイドの階段関数を単純化することです。これにより、次のようになります:

$$\qquad \qquad \qquad \qquad{CRPS(F, x) = \int_{-\infty}^x F(y)^2dy + \int_x^{\infty}\Big(F(y)- 1\Big)^2dy} \qquad \qquad \qquad \qquad \qquad \tag{3}$$

実際には、$$F$$は予測モデルを通じて得られた経験的な分布であるため、対応する確率変数$${X}$$はコンパクトなサポートを持ちます。つまり、$${\mathbf{P}[X = x] \gt 0}$$となる点は有限個しかありません。また、$$x$$のすべての値は離散的な数値です。したがって、積分は以下の式と次のセクションのチャートBで示されるように離散的な有限和に変換することができます。

$$\qquad \qquad \qquad \qquad{CRPS(F, x) = \sum_{k=0}^x F(y_k)^2 + \sum_{x+1}^{n} (F(y_k) - 1)^2} \qquad \qquad \qquad \qquad \qquad \qquad \tag{4}$$

式(4)では、インデックス$$n$$は確率分布の右テールの最後の要素を表します(例:非ゼロ確率を持つ最大需要値)。

最後に、CRPSの計算は1つの時点で行われるため、関心のある評価期間(例:リードタイムと再発注期間の合計である責任ウィンドウ)におけるCRPSの値の平均を取る必要があります。

$$\qquad \qquad \qquad \qquad \qquad \qquad {CRPS = \frac{1}{T} \sum_{t=1}^{T} CRPS_t} \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \tag{5}$$

視覚的な直感

CRPSの計算を説明するために、以下の例を考えてください(下のチャートを参照):

A: 最初に、負の二項分布を使用して確率的な需要予測を作成し、確率が0.1%未満のテールを切り捨てました(これは非常にまれなイベントを表します。例えば、3年に1度発生するようなイベント)。非ゼロ確率を持つ予測需要値は1から26ユニットの範囲にわたりました。後に、実際の需要は15ユニットであることが判明しました(縦の赤い点線で示されています)。

B: 上記の4番目の式に従ってCRPSを計算しました(「数値評価」を参照)。結果のCRPS値は、薄い赤色で塗りつぶされた2つの領域の合計を表します。

C: チャートAと同じですが、比較のためにポイント予測が追加されています。

D: ポイント予測に対して適用されるCRPSの計算は、CRPSがポイント予測に適用されると、MAEの精度指標になることを示しています。実際には、ポイント予測は確率的予測の単純な形式であり、1つの値に100%の確率を割り当てることを暗黙的に行っています。その後、CRPSの累積確率チャートは2つのステップ関数で表されます-1つはポイント予測用、もう1つは実際の需要用です。これは、ポイント予測と実際の値の相対的な位置に応じて、CRPSの式(4)の2つの和のうちの1つがゼロになることを意味します。すなわち、過大予測のための最初の和と過小予測のための2番目の和のいずれかがゼロになります。

確率的予測とCRPS指標による精度評価を示すチャート。
A: 確率的予測。B: CRPS。C: 確率的予測とポイント予測の比較。D: ポイント予測のCRPSはMAEです。

これらの4つのチャートを通じて提供される例では、確率的予測とポイント予測の結果として得られるCRPS値はそれぞれ3.32と3です。これらの数字を見ると、ポイント予測の方が精度指標が小さい(より良い)ため、ポイント予測の方がより正確であると結論付けるかもしれません。しかし、この結論は間違っています。

上記の例では、実際の需要の1つの値のみを考慮しましたが、確率的予測が過去のデータを使用して学習される場合、確率は対応する需要値の発生頻度に応じて調整されます(学習データセットで利用可能な値を考慮します)。適切に選択された場合、テストデータセットの平均CRPS値は、予測がテストデータの異なる需要値の発生頻度を適切に表現するため、トレーニング/検証データセットのものと比較可能になります。

以下のチャートは、確率的予測がポイント予測に比べて優れていることを示しています。

CRPSが確率的予測とポイント予測の実際の値によってどのように変化するかを示すチャート。

異なる実際の値によってCRPSがどのようにスムーズに変化するかに注目してください。さらに、ほんのわずかな領域(ポイント予測が実際の値に非常に近い領域)を除いて、他のすべての領域で確率的予測のCRPSがポイント予測よりも小さいことにも注目してください。

もし複数の異なるポイント予測があった場合でも、この観察結果は依然として真実です。赤い曲線をポイント予測に応じて左右に心理的に移動する必要がありますが、確率的予測の優位性は依然として有効です。

参考文献

Gneiting, T. and Raftery, A. E. (2004). Strictly proper scoring rules, prediction, and estimation. Technical Report no. 463, Department of Statistics, University of Washington, Seattle, Washington, USA.