Kaggle初心者の疑問〜なぜダミー化を行うのか?
上のサイトで感じた疑問点についてまとめてみました。
ダミー変数のメリットとは?
下の画像にある左のデータを右のデータのように処理することを
ダミー変数に直すと呼び、モデルの精度が上がるとされています。
一体この操作がなぜ精度向上につながるのでしょうか?
その理由を知るためには
まず色のカテゴリーにおいて大小関係は存在しないことを確認しましょう。
このような大小関係の存在しない色カテゴリーにおいて
赤色=1、青色=2、黄色=3 のように数値変換を行った際
黄色=赤色☓青色
という等式が成り立ちます
しかし、一般にこのような関係が形成されるのは望ましくなく
モデルの精度を下げることに繋がります。
そこで登場するのがダミー変数です。
そもそものカテゴリーを分けて独立させてしまえば問題解決です。
つまり、ダミー変数のメリットとはカテゴリーの要素を独立させられることです。
多重共線性がなぜ悪影響を与えるのか?
ダミー変数は使う上で注意点もあって、
性別のカテゴリーなど
含まれる要素(この場合 男性と女性)が少ないカテゴリーをダミー変数に直す場合
新しく追加された列(男性と女性)同士に強い関係性が生まれてしまい
推定に悪影響を与えるとされています。
こんなことを言うと、なんで例で出したんだよ!っていわれるかもしれませんが、私が最初に例で示した色のカテゴリーもダミー化するにはちょっと要素が少ないと思います。
このダミー変数の問題点は多重共線性と呼ばれています。
そして、多重共線性がなぜ推定に悪影響を与えるかについてですが
ざっくりと言ってしまうと、あるカテゴリー間の値に強い相関関係が有ってそれらのカテゴリーを用いて機械学習を行った場合
その計算に非常に大きな値が表れてしまい、そのために誤差もまた大きくなってしまう可能性が高いということみたいです。
詳しいことは多重共線性について数式的に説明してくれている
比較的わかりやすいサイトがあったので紹介します。
下のリンク先を参照してみてください。