始める無料で始める

RMSE と二乗平均平方根相対誤差の比較

この演習では、モデリングの前に金額の出力を対数変換すると、出力をそのままモデリングする場合と比べて、平均相対誤差が改善する一方で RMSE は大きくなることを確認します。前の演習で作成した model.log の結果と、収入を直接フィットするモデル(model.abs)を比較します。

income_trainincome_test のデータセットは、モデル model.log とともに事前に読み込まれています。

利用可能なもの:

  • model.abs: 次の式を用いて、入力に対して収入を直接フィットするモデル

    Income2005 ~ Arith + Word + Parag + Math + AFQT

この演習はコースの一部です

R による Supervised Learning:回帰

コースを見る

演習の手順

  • 空欄を埋めて、モデルからの予測を income_test に追加します。
    • model.log の予測は、対数変換を元に戻すために指数関数を取るのを忘れないでください!
  • 空欄を埋めて、予測を pivot_longer() し、残差と相対誤差を計算します。
  • 空欄を埋めて、予測に対する RMSE と相対 RMSE を計算します。
    • 絶対誤差が大きいのはどのモデルですか? 相対誤差が大きいのはどのモデルですか?

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

# fmla.abs is available
fmla.abs

# model.abs is available
summary(model.abs)

# Add predictions to the test set
income_test <- income_test %>%
  mutate(pred.absmodel = ___(___, income_test),        # predictions from model.abs
         pred.logmodel = ___(___(___, income_test)))   # predictions from model.log

# pivot_longer the predictions and calculate residuals and relative error
income_long <- income_test %>% 
  pivot_longer(names_to = 'modeltype', values_to = 'pred', cols=c('pred.absmodel', 'pred.logmodel')) %>%
  mutate(residual = ___,   # residuals
         relerr   = ___)   # relative error

# Calculate RMSE and relative RMSE and compare
income_long %>% 
  group_by(modeltype) %>%      # group by modeltype
  summarize(rmse     = ___,    # RMSE
            rmse.rel = ___)    # Root mean squared relative error
コードを編集して実行