---
title: 予測精度の指標
description: MIDAS が表示する予測精度の指標の定義と読み方を解説します。R²、RMSE、MAE、Mean Deviance、Brier Score、AUC を扱い、応答のタイプによる指標の使い分けも説明します。
priority: 0.5
audience: GLM の予測タブなどが表示する精度指標の意味を確かめたい読者。回帰分析の基礎は仮定する。予測評価の指標の知識は仮定しない
criteria: MIDAS が表示する予測精度指標の定義・読み方・使い分けを指標単位で扱う。MIDAS が表示しない指標は扱わない。どのタブにどの指標が表示されるかの対応は各タブのページに置き、このページには導線だけを置く
---

# 予測精度の指標 {#prediction-accuracy-metrics}

予測精度の指標は、モデルの予測値を観測値と突き合わせて、予測の良さを数値で要約します。

適切な指標は応答のタイプによって変わります。連続値の応答には誤差の大きさを測る指標を、二値の応答には 0 と 1 の間の予測値を評価する専用の指標を使います。

指標の値は、評価に使うデータの選び方にも依存します。モデルは当てはめに使ったデータに最も合うように係数を選んでいます。そのため、同じデータで評価した指標は新しいデータで評価した値より良く出ます。モデルがデータの偶然の変動にまで合わせて当てはまることを過適合（overfitting）と呼び、過適合が強いほどこの差は大きくなります。新しいデータへの予測の良さを知りたい場合は、当てはめに使っていないデータで評価します。

## RMSE と MAE {#rmse-and-mae}

RMSE（Root Mean Squared Error、二乗平均平方根誤差）と MAE（Mean Absolute Error、平均絶対誤差）は、予測誤差の大きさを要約する指標です。どちらの値も応答変数と同じ単位を持ちます。

$$
\text{RMSE} = \sqrt{\frac{1}{n}\sum_{i=1}^{n}(y_i - \hat\mu_i)^2}
\qquad
\text{MAE} = \frac{1}{n}\sum_{i=1}^{n}\lvert y_i - \hat\mu_i \rvert
$$

2 つの指標は、誤差が大きい観測への感度が違います。RMSE は誤差を二乗してから平均するため、大きい誤差ほど強く効きます。MAE は誤差の絶対値をそのまま平均します。同じデータでは RMSE は必ず MAE 以上になり、少数の大きい誤差が混じると RMSE のほうが大きく増えます。両者の開きが大きいときは、誤差の大きさが観測によって大きくばらついています。

## R² と予測 R² {#r-squared}

R² は、観測値の平均だけで予測する基準モデルに比べて、二乗誤差をどれだけ減らせたかの割合です。

$$
R^2 = 1 - \frac{\sum_i (y_i - \hat\mu_i)^2}{\sum_i (y_i - \bar{y})^2}
$$

1 に近いほど誤差が小さいことを示します。0 は平均で予測するのと同等で、負の値は平均で予測するより悪いことを示します[^r2-undefined]。

[^r2-undefined]: 分母は観測値のばらつきなので、観測値がすべて同じ値のときは R² を計算できません。

MIDAS の GLM 予測タブが表示する R² は予測 R² で、評価するデータセット自身の観測値の平均 $\bar{y}$ を基準にします。当てはめに使ったデータで計算する R² とは別の量です。当てはめ時の R² が正でも、新しいデータへの予測 R² は負になりえます。

## 分散が平均に依存する応答と Mean Deviance {#mean-deviance}

分散が平均に依存する分布族（Poisson の $V(\mu) = \mu$、Gamma の $V(\mu) = \mu^2$ など）では、二乗誤差にもとづく指標が当てはまりの評価として誤解を招きます。そのため MIDAS はこれらの分布族で R² を表示しません。二乗誤差にもとづく指標は、すべての観測の誤差を同じ重みで平均します。これらの分布族では平均の大きい観測ほど自然なばらつきも大きくなります。そのため二乗誤差の合計の大部分を平均の大きい観測が占め、R² は平均の大きい観測への当てはまりだけを反映した値になります。

Mean Deviance は、評価データに対する [逸脱度](glossary#deviance) $D$ を観測数 $n$ で割った値です。

$$
\text{Mean Deviance} = \frac{D}{n}
$$

逸脱度は分布族の尤度にもとづいて観測と予測の食い違いを測るため、分散が平均に依存する分布族でも、平均の大きい観測に偏らずに誤差を要約できます。値が小さいほど予測が観測に近いことを示します[^gaussian-deviance]。値の水準は応答の単位と分布族に依存するため、単独で良し悪しを判定する基準はありません。同じ分布族・同じ評価データでのモデル間の比較に使います。

[^gaussian-deviance]: Gaussian では逸脱度が残差平方和に一致するため、Mean Deviance は RMSE の二乗です。Mean Deviance は、二乗誤差の平均を他の分布族に一般化した指標とみなせます。

## Brier Score {#brier-score}

二値応答のモデルは、観測ごとに 0 と 1 の間の予測値を出力します。Brier Score は、この予測値を 1 が起きる確率として評価する指標です。観測値（0 または 1）と予測値の二乗差の平均として計算します。

$$
\text{Brier} = \frac{1}{n}\sum_{i=1}^{n}(y_i - \hat{p}_i)^2
$$

0 に近いほど予測値が観測に近いことを示します。すべての観測に 0.5 を割り当てる無情報な予測では 0.25 になるため、0.25 前後の値は確率として情報がほとんどないことを示します。

## ROC 曲線と AUC {#roc-curve-and-auc}

予測値から 0/1 の判定を作ると、2 種類の誤りが、しきい値の選び方に応じたトレードオフの関係になります。判定は、しきい値を決めることで得られます。予測値がしきい値を超えた観測を 1、それ以外を 0 とみなします。誤りには、0 の観測を 1 と判定する誤りと、1 の観測を 0 と判定する見逃しの 2 種類があります。しきい値を下げるほど多くの観測が 1 と判定されるため、見逃しは減ります。一方で、0 を 1 とする誤りは増えます。

ROC 曲線は、このトレードオフの全体を 1 本の曲線として描いたものです。横軸には 0 の観測のうち 1 と判定された割合を、縦軸には 1 の観測のうち 1 と判定された割合をとります。しきい値を最大から最小まで動かしたときの点の軌跡が曲線になります。曲線は、どの観測も 1 と判定しない左下の点から、すべての観測を 1 と判定する右上の点へ進みます。識別性能の高いモデルほど、0 をほとんど 1 と誤らないうちに 1 の大半を検出できるため、曲線は左上の角に近づきます。

AUC（Area Under the Curve）は ROC 曲線の下の面積で、モデルの識別能力をしきい値の選択に依存せずに要約します。1.0 は、あるしきい値を選べばそれ以下の観測はすべて 0、それより大きい観測はすべて 1 と完全に識別できる状態です。0.5 は無作為な振り分けと同等の状態です。どのしきい値を選ぶかは、2 種類の誤りの重大さを比べて決める分析の外の判断です。AUC はその判断の前に、モデルがどれだけ良いトレードオフを達成できるかを測ります。

AUC は予測値をしきい値と比べる点数として使うだけで、確率としての値そのものは評価しません。たとえば 1 の観測すべてに 0.9、0 の観測すべてに 0.8 を与えるモデルは、しきい値を 0.85 に置けば完全に識別できるため AUC は 1.0 です。一方でこのモデルの Brier Score は、1 と 0 が半々のデータで 0.325 と、すべての観測に 0.5 を出す無情報な予測の 0.25 より悪くなります。確率の値の正確さを見たいときは [Brier Score](#brier-score) を使います。

成功数と試行数の形式（Grouped Binomial）で当てはめたモデルでは、各行を試行数分の 0/1 観測とみなし、Brier Score と AUC を試行数で重み付けして計算します。個体ごとの 0/1 データは試行数 1 の場合にあたり、同じ式で計算されます。

## See also {#see-also}

- [GLM タブ: 予測精度指標](glm#prediction-accuracy-metrics) — 分布族ごとにどの指標が表示されるか
- [GLM の基礎: 分散関数と過分散](concepts-glm#variance-functions-and-overdispersion) — 分散が平均に依存する分布族の数理
- [統計用語集: 逸脱度](glossary#deviance) — 逸脱度の定義
