モデル選択・評価

AIC、BIC、交差検証、ROC曲線、混合行列など、統計モデルの選択と評価に関する手法

過学習とVIF(分散拡大因子)の計算 レベル1

以下の回帰分析において、変数間の相関係数が与えられている。各変数のVIF(分散拡大因子)を計算し、過学習のリスクを評価せよ。\n\n**設定:**\n- 従属変数: Y\n- 説明変数: X₁, X₂, X₃\n- 相関係数行列:\n - r(X₁,X₂) = 0.8\n - r(X₁,X₃) = 0.6\n - r(X₂,X₃) = 0.7\n\n**問題:** X₁のVIFを計算した結果、最も近い値はどれか。

解説
解答と解説を表示

この問題では、VIF(分散拡大因子)の計算を通じて多重共線性を定量化し、過学習リスクとの関係について理解を深めます。VIFは実際の回帰分析において、モデルの安定性と予測性能を評価する指標です。[[memory:1942104]]

VIF(分散拡大因子)の基礎理論

Step 1: VIFの定義と意味

VIFの数学的定義:

$$\\text{VIF}_j = \\frac{1}{1 - R_j^2}$$

ここで、$R_j^2$は変数$X_j$を他の全ての説明変数で回帰したときの決定係数です。

VIFの直感的解釈:

  • VIF = 1:完全に独立(多重共線性なし)
  • VIF = 5:標準誤差が独立時の$\\sqrt{5} \\approx 2.24$倍
  • VIF = 10:標準誤差が独立時の$\\sqrt{10} \\approx 3.16$倍
  • VIF → ∞:完全な多重共線性

判定基準:

VIFの値多重共線性の程度過学習リスク対応策
1.0 - 2.5低い低い問題なし
2.5 - 5.0中程度中程度注意深く監視
5.0 - 10.0高い高い対策を検討
10.0以上非常に高い非常に高い緊急対策必要

Step 2: 多重共線性と過学習の関係

多重共線性が過学習を引き起こすメカニズム:

  1. パラメータの不安定化:小さなデータの変動で係数が大きく変化
  2. 分散の増大:推定量の分散が過度に大きくなる
  3. 数値的不安定性:計算誤差の蓄積
  4. 汎化性能の低下:訓練データに過度に適合

標準誤差の増大:

$$\\text{SE}(\\hat{\\beta}_j) = \\sqrt{\\text{VIF}_j} \\times \\text{SE}_{\\text{independent}}(\\hat{\\beta}_j)$$

VIFが大きいほど、回帰係数の標準誤差が増大し、推定の不確実性が高まります。

X₁のVIF計算の詳細手順

Step 3: 相関係数行列の構築

与えられた相関係数:

  • $r(X_1, X_2) = 0.8$
  • $r(X_1, X_3) = 0.6$
  • $r(X_2, X_3) = 0.7$

相関係数行列:

$$\\mathbf{R} = \\begin{pmatrix} 1 & 0.8 & 0.6 \\\\ 0.8 & 1 & 0.7 \\\\ 0.6 & 0.7 & 1 \\end{pmatrix}$$

この行列は説明変数間の相関構造を表しています。

Step 4: X₁の決定係数R₁²の計算

重回帰の設定:

$$X_1 = \\beta_0 + \\beta_2 X_2 + \\beta_3 X_3 + \\epsilon$$

$X_1$を$X_2$と$X_3$で回帰したときの決定係数$R_1^2$を求めます。

決定係数の公式:

3変数の場合の決定係数は以下で計算できます:

$$R_1^2 = \\frac{r_{12}^2 + r_{13}^2 - 2r_{12}r_{13}r_{23}}{1 - r_{23}^2}$$

数値の代入:

  • $r_{12} = 0.8$
  • $r_{13} = 0.6$
  • $r_{23} = 0.7$
$$R_1^2 = \\frac{(0.8)^2 + (0.6)^2 - 2(0.8)(0.6)(0.7)}{1 - (0.7)^2}$$

Step 5: 段階的な計算

分子の計算:

$$\\text{分子} = (0.8)^2 + (0.6)^2 - 2(0.8)(0.6)(0.7)$$
$$= 0.64 + 0.36 - 2 \\times 0.8 \\times 0.6 \\times 0.7$$
$$= 0.64 + 0.36 - 2 \\times 0.336$$
$$= 1.00 - 0.672 = 0.328$$

分母の計算:

$$\\text{分母} = 1 - (0.7)^2 = 1 - 0.49 = 0.51$$

R₁²の計算:

$$R_1^2 = \\frac{0.328}{0.51} = 0.6431$$

VIF₁の計算:

$$\\text{VIF}_1 = \\frac{1}{1 - R_1^2} = \\frac{1}{1 - 0.6431} = \\frac{1}{0.3569} = 2.80$$

計算結果の確認:

$\\text{VIF}_1 \\approx 2.80$ となり、選択肢の中では 2.78 に最も近い値です。

他の変数のVIF計算と全体評価

Step 6: X₂とX₃のVIF計算

X₂のVIF計算:

$$R_2^2 = \\frac{r_{21}^2 + r_{23}^2 - 2r_{21}r_{23}r_{13}}{1 - r_{13}^2}$$
$$= \\frac{(0.8)^2 + (0.7)^2 - 2(0.8)(0.7)(0.6)}{1 - (0.6)^2}$$
$$= \\frac{0.64 + 0.49 - 0.672}{1 - 0.36} = \\frac{0.458}{0.64} = 0.7156$$
$$\\text{VIF}_2 = \\frac{1}{1 - 0.7156} = \\frac{1}{0.2844} = 3.52$$

X₃のVIF計算:

$$R_3^2 = \\frac{r_{31}^2 + r_{32}^2 - 2r_{31}r_{32}r_{12}}{1 - r_{12}^2}$$
$$= \\frac{(0.6)^2 + (0.7)^2 - 2(0.6)(0.7)(0.8)}{1 - (0.8)^2}$$
$$= \\frac{0.36 + 0.49 - 0.672}{1 - 0.64} = \\frac{0.178}{0.36} = 0.4944$$
$$\\text{VIF}_3 = \\frac{1}{1 - 0.4944} = \\frac{1}{0.5056} = 1.98$$

全変数のVIF要約:

変数VIF多重共線性過学習リスク
X₁2.80中程度低-中程度
X₂3.52中程度中程度
X₃1.98低い低い

過学習リスクの詳細評価

Step 7: 過学習リスクの定量的評価

標準誤差の増大係数:

  • $X_1$:$\\sqrt{2.80} = 1.67$倍
  • $X_2$:$\\sqrt{3.52} = 1.88$倍
  • $X_3$:$\\sqrt{1.98} = 1.41$倍

信頼区間の拡大:

95%信頼区間の幅は標準誤差の増大に比例して拡大します:

$$\\text{CI幅} = 2 \\times 1.96 \\times \\text{SE} \\times \\sqrt{\\text{VIF}}$$

予測精度への影響:

  • バイアス:多重共線性自体は不偏性を保持
  • 分散:VIFに比例して分散が増大
  • MSE:$\\text{MSE} = \\text{Bias}^2 + \\text{Variance}$

Step 8: 過学習の具体的影響

1. 係数の不安定性:

データの小さな変動に対する係数の感度:

$$\\text{Sensitivity} \\propto \\text{VIF}$$

2. 予測性能の劣化:

交差検証での性能低下の期待値:

$$E[\\text{CV Error}] = \\sigma^2 \\left(1 + \\frac{\\text{tr}(\\mathbf{H})}{n}\\right)$$

ここで、$\\text{tr}(\\mathbf{H})$はハット行列のトレースで、VIFが大きいほど大きくなります。

3. 汎化誤差の増大:

真の汎化誤差は以下のように分解できます:

$$\\text{Generalization Error} = \\text{Bias}^2 + \\text{Variance} + \\text{Noise}$$

多重共線性は主に分散項を増大させます。

対策

Step 9: 多重共線性対策の実装

1. 変数選択による対策:

  • 前進選択法:VIFが閾値を超えた時点で停止
  • 後退選択法:最大VIFの変数から順次除去
  • 相関に基づく事前選択:高相関変数の一方を除去

2. 正則化手法:

Ridge回帰:

$$\\hat{\\beta}_{\\text{ridge}} = (\\mathbf{X}^T\\mathbf{X} + \\lambda\\mathbf{I})^{-1}\\mathbf{X}^T\\mathbf{y}$$

Ridge回帰は多重共線性に対して頑健です。

Lasso回帰:

$$\\min_{\\beta} \\|\\mathbf{y} - \\mathbf{X}\\beta\\|_2^2 + \\lambda\\|\\beta\\|_1$$

Lassoは自動的に変数選択を行い、多重共線性を軽減します。

3. 主成分分析(PCA):

  • 主成分抽出:相関の高い変数を線形結合で要約
  • 次元削減:多重共線性のない主成分を使用
  • 解釈性の課題:元の変数の意味が失われる
問題 1/10
カテゴリ一覧に戻る