欠損値のないサンプルがデータセットにないときの iGMR の使い方

シェアする

データセットの中に欠損値があるときは、iGMR が有効であることはこちらに書きました。

[Pythonコードあり] iterative Gaussian Mixture Regression(iGMR)で欠損値を補完しましょう!(目的変数があってもなくても構いません)
下図のような欠損値 (欠損データ) のあるデータセットがあるとします。穴あきのデータセットですね。 こんなとき...

たとえば、論文や特許からデータを取得したときなど、他のデータ (研究室内や社内のデータなど) と合わせようとしたときに、論文や特許ではいくつかの実験条件が不明、といったこともあります。このような場合において、値が不明なサンプルにおいて、もし他のサンプルと同じ実験をしたと仮定したら、どんな実験条件だったか?、を iGMR により計算できるイメージです。(目的変数を含む) すべての特徴量間の、線形・非線形の相関関係を考慮して計算していますので、妥当な値で欠損値を補完できます。DCEKit にも iGMR のサンプルプログラムがありますので、ぜひご活用いただければと思います。

DCEKit (Data Chemical Engineering toolKit) を PyPI にリリース!
これまで化学データ・化学工学データのデータ解析に役立つツールや金子研で開発された手法に関する Python コードを Github にて公開...

便利な iGMR ですが、基本的にすべての特徴量において値がそろっているサンプルがいくつかあることが前提にあります。どのサンプルも欠損値がある、という状況ですと iGMR を直接使用することはできません。

ただ、少し工夫をすれば iGMR を使用できるようになりますので、その方法を紹介します。

まずは、欠損値のないサンプルが出てくるまで、特徴量を除きます。目的変数があるときは、目的変数は省かない方がよいです。また他の特徴量の除き方としては、基本的に欠損値が多い特徴量から除くとよいです。このように特徴量を除くことで、欠損値のないサンプルができることになり iGMR を使用できます。この特徴量の状態で、iGMR により欠損値を補完します。

続いて、除いた特徴量をあらためて追加して、iGMR を行います。特徴量を追加したときに、すべての特徴量で欠損値のないサンプルがある必要がありますので、場合によっては、一気に特徴量を追加するのではなくいくつかの特徴量だけ追加します。この状態でまた iGMR を行い、欠損値を補完します。場合によっては特徴量の追加と iGMR による欠損値の補完を繰り返し行うことで、すべての特徴量において欠損値の補完が達成されます。

欠損値のあるデータセットにおいてぜひ活用してもらえたらと思います。

以上です。

質問やコメントなどありましたら、twitter, facebook, メールなどでご連絡いただけるとうれしいです。

シェアする

フォローする