複数の変数タイプを用いたモデルベースの補完
条件付き分布からの抽出を組み込んだロジスティック回帰補完関数をうまく実装できましたね。かなり高度な統計処理をコードで表現しました。この演習では、これまでに学んだモデルベースの補完に関する知識を組み合わせて、tao データの異なる種類の変数を補完します。
前の章と同様に変数をループ処理し、次の2つの変数を補完してください。
is_hot:air_tempから作成された新しい二値変数で、air_tempが26度以上の場合は1、それ以外は0humidity:これまでにも扱ってきた連続変数
以前学んだ線形回帰関数と、自分で作成したロジスティック回帰関数の両方を使います。さっそく始めましょう!
この演習はコースの一部です
R による欠損データの補完処理
演習の手順
is_hotが元々欠損していた箇所をNAに設定してください。sea_surface_tempのみを予測変数として、impute_logreg()関数を使い、ロジスティック回帰でis_hotを補完してください。humidityが元々欠損していた箇所をNAに設定してください。sea_surface_tempとair_tempを予測変数として、線形回帰でhumidityを補完してください。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Initialize missing values with hot-deck
tao_imp <- hotdeck(tao)
# Create boolean masks for where is_hot and humidity are missing
missing_is_hot <- tao_imp$is_hot_imp
missing_humidity <- tao_imp$humidity_imp
for (i in 1:3) {
# Set is_hot to NA in places where it was originally missing and re-impute it
___ <- NA
tao_imp <- ___(tao_imp, ___ ~ ___)
# Set humidity to NA in places where it was originally missing and re-impute it
___ <- NA
tao_imp <- ___(tao_imp, ___ ~ sea_surface_temp + ___)
}