データセットには以下のカラムがあります。データセットを読み込んで、まずデータの要約を確認します。:50.00このデータには欠測値は含まれていません。このようなデータセットを完全データと言います。欠損データの分析に入る前に欠測メカニズムの分類を簡単に整理します。欠損データは欠測メカニズムにより大きく3パターンに分類されます。仮定できるような欠損データを作成します。欠測値の割合を20%に設定しています。欠損データをうまく扱うためにも、まず欠測値の傾向を可視化してみます。VIMパッケージを使うと各カラムごとの欠測値の割合や欠測パターンの組み合わせを確認できます。91カラムごとにややばらつきはありますが概ね2割程度の欠測があることが確認できます。欠測パターンの組み合わせを見ると特定の欠測パターンに大きく偏っている様子はなさそうです。欠測のランダム性を検定で確認してみます。あるという帰無仮説のもとで検定を行います。LittleのMCAR検定が行えます。あるという帰無仮説は棄却されませんでした。欠損データの分析に入ります。元の完全データと欠損データからそれぞれ持家価格の中央値を目的変数とする線形回帰モデルを作ってみます。欠損データではリストワイズ削除あるいは完全ケース分析と呼ばれる欠測値を含む行を削除してから分析を行う方法を取ります。7.576e-07リストワイズ削除を行うことで標本サイズが元の5%以下となってしまい、分析結果も完全データの結果と大きく異なっています。今回のデータに対してリストワイズ削除を適用することは望ましくなさそうです。欠測値に尤もらしい値を代入して擬似完全データを得る代入法を試してみます。今回は触れませんが、欠損データに対して最尤法を用いるアプローチもあります。以下のような方法があります。中央値を代入し、得られた擬似完全データに対して完全データと同様に線形回帰を行います。変数の分布を完全データ、欠損データ、擬似完全データで比較してみると中央値代入により分布が歪められていることがわかります。回繰り返し、得られた擬似完全データごとに計算した推定値を統合します。多重代入を行うパッケージを探したところいくつか見つかりました。MICE)をmiceパッケージを使って試してみます。すると平均値代入による単一代入法となります。予測平均マッチングは回帰代入とマッチングを組み合わせた手法で回帰した値に近い観測値をランダムに選択し代入します。変数の分布で比較してみます。今回のデータに対しては予測平均マッチングによる代入は中央値代入より精度の良い代入と言えそうです。各変数の分布を確認できます。個の擬似完全データの分布です。個の擬似完全データからパラメータを推定し統合します。利用した推定値の統合を行っています。詳細については参考文献をご参照ください。0.3999127最後に完全データのパラメータ推定値とMICEによる擬似完全データのパラメータ推定値を比較してみます。ずれているパラメータがいくつかありますが、今回のデータに対してはそこそこの精度で推定できていると思います。用いた場合、推定量の分散に対してバイアスを持つことが指摘されている点には実際の分析では注意が必要です。コードを交えてご紹介しました。機械学習手法を用いた欠損データの代入についてご紹介したいと思います。クロスバイク、映画鑑賞、猫が好き。