R Squaredの具体例とは?
直接的な回答
R squared(R²)の具体例は、小さなデータセットから始まり、モデルの予測値を計算し、2つの量を比較します:(1) モデルによって説明された変動と (2) 観測結果の総変動。R²は、説明された変動に対する総変動の比率で定義され、以下のように表されます。
R² = 1 − (SSres / SStot)
ここで、SSresは残差平方和、SStotは平均値周りの総平方和です。
以下に、完全に数値化された例を示します。これは、ライブ市場データを仮定していません。
機構または定義
計算を明確にするために、依存変数y(観測値)と同じ時間点のモデル予測値ŷを定義します。
- 観測値の平均を計算します:ȳ = average(y)。
- 総平方和(SStot)を計算します: SStot = Σ(yi − ȳ)²
- 残差と残差平方和(SSres)を計算します: SSres = Σ(yi − ŷi)²
- R²に変換します: R² = 1 − SSres / SStot
平易な解釈:モデルの予測値が観測値に近い(残差が小さい)場合、R²は増加します。これは、観測値が平均値周りに大きく変動する(総変動が大きい)場合に相対的です。
証拠または例
4つの観測結果yと、あるモデルによって生成された単純な予測値ŷのセットがあると仮定します。
以下のようにします:
- y = [2, 0, 4, 6]
- ŷ = [2, 1, 3, 5]
前提条件:
- 予測値ŷはyと同じ4つのケースに対応しています。
- 我々はR²の標準的な分散説明定義を使用しています。
- コスト、実行効果、または将来の行動は含まれていません。これは、これら4つの点に対するフィットの純粋な算術的なまとめです。
ステップ1:yの平均 ȳ = (2 + 0 + 4 + 6) / 4 = 12/4 = 3
ステップ2:総平方和(SStot)
- (2 − 3)² = 1
- (0 − 3)² = 9
- (4 − 3)² = 1
- (6 − 3)² = 9 したがって、SStot = 1 + 9 + 1 + 9 = 20
ステップ3:残差とSSres 残差(yi − ŷi):
- 2 − 2 = 0 → 平方:0
- 0 − 1 = −1 → 平方:1
- 4 − 3 = 1 → 平方:1
- 6 − 5 = 1 → 平方:1 したがって、SSres = 0 + 1 + 1 + 1 = 3
ステップ4:R²を計算 R² = 1 − SSres / SStot = 1 − 3/20 = 17/20 = 0.85
結果:このデータセットとこれらの予測に対して、R² = 0.85です。これは、残差エラーがyの平均値周りの変動性よりもはるかに小さいことを意味します。
制限とリスク
- R²は因果関係ではありません。高いR²は、モデルがパターンを捉えても、なぜそれが起こるのかを説明していない場合でも発生する可能性があります。
- R²は選択したyとŷの生成方法に依存します。モデル形式、トレーニングデータ、または前処理を変更すると、R²が変化する可能性があります。
- オーバーフィッティングのリスク:モデルは歴史的なポイントに密接にフィット(サンプル内で高いR²)することができますが、一般化が悪くなる可能性があります。歴史的な関係は将来の結果を確立しません。
- データセットの感度:SStotが小さい(y値が平均値周りにクラスター化している)場合、R²は不安定または誤解を招く可能性があります。
- アウトオブサンプルデータでの失敗モード:R²は新しいデータで計算すると、サンプル内の値よりもはるかに低くなる可能性があります。これは、関係が変化すると残差が通常増加するためです。
検証または次の質問
観測yと予測ŷの同じものを使用して、ȳ、SStot、SSresの3つの要素を再計算することで、任意のR²値を独立して検証できます。さらに進めたい場合、予測が異なるウィンドウ、異なるスケーリング、または異なるモデル選択から得られた場合にR²がどのように振る舞うかという次の有用な質問があります。特に、関係が時間を通じて安定していない場合です。