始める無料で始める

補完とモデリングを関数にまとめる

補完済みデータに対して分析やモデリングを行う際は、補完に伴う不確実性を考慮する必要があります。1回だけ補完したデータセットでモデルを実行すると、補完が不確実な推定値であるという事実が無視されてしまいます。このようなモデルから得られる標準誤差は、実際よりも小さくなりがちです。この問題を解決するのが多重補完であり、その実装方法の一つがブートストラップです。

以降の演習では、おなじみの biopics データを使って作業します。目標は、ブートストラップによる多重補完と線形回帰を用いて、手元のデータをもとに「女性を主人公とした伝記映画は、男性を主人公とした映画に比べて収益が低いか」を検証することです。

まず、ブートストラップサンプルを作成し、補完を行い、線形回帰モデルをあてはめる関数を作成しましょう。

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

R による欠損データの補完処理

コースを見る

演習の手順

  • indices で指定された行を data から再サンプリングし、結果を data_boot に代入してください。
  • ブートストラップサンプル data_boot に対して、5近傍を使ったkNN補完を適用し、結果を data_imp に代入してください。
  • data_imp を使って、earningssub_sexsub_typeyear で説明する線形回帰モデルをあてはめてください。

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

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

calc_gender_coef <- function(data, indices) {
  # Get bootstrap sample
  data_boot <- data[___, ]
  # Impute with kNN imputation
  data_imp <- ___
  # Fit linear regression
  linear_model <- ___
  # Extract and return gender coefficient
  gender_coefficient <- coef(linear_model)[2]
  return(gender_coefficient)
}
コードを編集して実行