4.2.6
自由度調整済み決定係数 (Adjusted R²)
まとめ
- 調整済み R² は説明変数の数に応じて過学習を補正した適合度指標です。
- 変数数を増やしたときに R² と調整済み R² がどう変化するかを Python で確認します。
- サンプル数が少ない場合の注意点や、他指標との使い分けを整理します。
- 決定係数(R²) — Adjusted R² は R² を変数数で補正した指標です
1. 定義 #
$$ \mathrm{Adjusted}\;R^2 = 1 - (1 - R^2)\frac{n - 1}{n - p - 1} $$ここで \(n\) はサンプル数、\(p\) は説明変数(特徴量)の数です。\(p\) が増えると分母 \(n - p - 1\) が小さくなるため、改善しない変数を追加すると値が下がります。
2. Python で計算する #
scikit-learn の LinearRegression は決定係数を返すため、調整済み R² は自分で計算します。
| |
n - p - 1 が 0 にならないよう、検証用データのサンプル数には十分な余裕を持たせましょう。
3. 直感と使いどころ #
- 特徴量が増えると厳しくなる
不要な特徴量を追加すると調整済み R² は低下し、モデルの複雑さに対するペナルティが働きます。 - サンプルが少ない場合に注意
\(n\) が小さいと値が不安定になります。サンプル数が乏しい場合は交差検証と併用して確認します。 - モデル比較に便利
同じデータセットでより少ない変数で高い調整済み R² を達成できるモデルは、より汎化性能が高いと考えられます。
4. 他指標との使い分け #
| 指標 | 特徴 | 注意点 |
|---|---|---|
| R² | 直感的で広く知られる指標 | 説明変数を追加すると必ず上昇する |
| Adjusted R² | 変数数を考慮し公平に比較できる | サンプルが少ないと不安定 |
| AIC / BIC | 損失関数 + ペナルティで最小化する | モデルが仮定を大きく外れると解釈が難しい |
5. 実務での活用 #
- 特徴量選択:ステップワイズ法などで特徴量を増減させる際、調整済み R² の向上を目安にします。
- 説明責任:R² だけでなく調整済み R² も提示すると、過学習を抑えていることを示しやすくなります。
- 比較検証:正規化やスケーリングの異なるモデルを比べる際、調整済み R² が改善していれば実質的な性能向上と判断しやすいです。
まとめ #
- 調整済み R² は決定係数に特徴量のペナルティを掛けた指標で、モデル改善が本当に有効だったかを確認できます。
- サンプル数と特徴量のバランスに注意しながら、R² と併用してモデル評価に活用しましょう。
- AIC / BIC など他の情報量規準とも組み合わせると、より頑健なモデル選択が可能になります。
ノイズと各指標の変化 #
ノイズ量を変えた場合の各指標の変化を確認できます。