なぜ1つのダミー変数を破棄する必要があるのですか?


16

回帰モデルを作成するには、カテゴリー変数をダミー変数に変換して処理する必要があることを学びました。例として、データセットに場所のような変数がある場合:

Location 
----------
Californian
NY
Florida

次のように変換する必要があります。

1  0  0
0  1  0
0  0  1

ただし、ダミー変数がいくつあっても、1つのダミー変数を破棄する必要があることが示唆されました。

なぜ1つのダミー変数を破棄する必要があるのですか?


3
3番目のダミーは、最初の2つの線形結合として説明できるためです。FL= 1-(CA + NY)。
chainD

@chainDが3つ以上のダミー変数の説明は何ですか?
Mithun Sarker Shuvro

2
合計がどうであれ、それはあなたが持っているカテゴリーの総数よりもちょうど1つ少なくなります。例を拡張して、50の州すべてがデータセットで表されたとしましょう。特定の個人の場合、たまたますべて0である最初の49のダミーを見ると、最後のダミーは見なくても1であることがわかります(データセット内の全員が50の州のいずれかからのものであると想定)。つまり、いちばん最後のダミーの情報は、いわば最初の49の結果にすでに含まれています。
chainD

@chainDありがとう
Mithun Sarker Shuvro 2018

1
春でも夏でも秋でもなければ、冬です!
Stev

回答:


10

簡単に言えば、カテゴリカル機能の1つのレベル(ここでは場所)は、回帰のダミーエンコーディング中に参照グループになり、冗長であるためです。私はここでフォームを引用しています。「Kカテゴリまたはレベルのカテゴリ変数は、通常、K-1ダミー変数のシーケンスとして回帰を入力します。これは、レベル平均の線形仮説に相当します。」

これは、この非常に素晴らしいstats.stackexchange回答ですでに説明されています

YandexによるCourseraの上級コースがあると言われましたが、それでも疑問がある場合は、このトピックについて詳しく説明しますこちらを参照してください。いつでも無料でコースの内容を監査できます。;-)

ダミーのコーディングだけに限定されず、統計的な観点から多くの例を使って詳細な説明が必要な場合は、UCLAからこれを参照してください(R)。

を使用する場合pandas.get_dummies、パラメーターがあることに注意してください。つまりdrop_first、最初のレベルを削除して、kのカテゴリーレベルからk-1ダミーを取得するかどうかを指定します。注意してください。default = Falseつまり、参照は削除されず、k個のカテゴリレベルからk個のダミーが作成されます。


4
これは、モデルに切片(つまり、定数項)がある場合にのみ当てはまることに注意してください。それ以外の場合は、ワンホットエンコーディングを使用して1つのダミー変数を破棄しないことにより、暗黙的にインターセプトを追加しています。
エリアスストレー

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.