1. 学ぶ
  2. /
  3. コース
  4. /
  5. R による Supervised Learning:回帰

Connected

演習

R-squared を計算する

モデルの予測について RMSE を計算できたので、次はモデルがデータにどれだけ当てはまっているか、つまりどの程度の分散を説明できるかを確認します。これには \(R^2\) を使います。

真の目的変数を $y$、モデルの予測を $p$、予測の残差を \(res = y - p\) とします。

このとき、データの総平方和(「総分散」)\(tss\) は次のとおりです。

$$ tss = \sum{(y - \overline{y})^2} $$

ここで \(\overline{y}\) は \(y\) の平均値です。

モデルの残差平方和 \(rss\) は次のとおりです。 $$ rss = \sum{res^2} $$

モデルが説明する分散を表す $R^2$(決定係数)は次の式で与えられます。

$$ 1 - \frac{rss}{tss} $$

\(R^2\) を計算したら、glance()(docs)が報告する \(R^2\) と比較します。glance() は 1 行のデータフレームを返し、線形回帰モデルの場合、その列の一つとして学習データに対するモデルの \(R^2\) が含まれます。

unemployment データフレームはすでに読み込まれており、前の演習で計算した predictions と residuals の列が含まれています。unemployment_model も利用可能です。

指示

100 XP
  • female_unemployment の平均を計算し、変数 fe_mean に代入します。
  • 総平方和を計算し、変数 tss に代入します。
  • 残差平方和を計算し、変数 rss に代入します。
  • \(R^2\) を計算します。良い当てはまり(\(R^2\) が 1 に近い)でしょうか?
  • glance() を使ってモデルから \(R^2\) を取得します。あなたが計算した値と同じですか?