カテゴリ変数をダミーコードする必要があるのはなぜですか


22

カテゴリ変数をダミーコードする必要がある理由がわかりません。たとえば、4つの可能な値0,1,2,3を持つカテゴリ変数がある場合、2つの次元で置き換えることができます。変数の値が0の場合、2次元に0,0があり、3の場合、2次元に1,1などがあります。

なぜこれを行う必要があるのか​​分かりませんか?

回答:


20

4つのカテゴリが目の色(コード)であるとします:茶色(1)、青(2)、緑(3)、ヘーゼル(4)-現時点では異色、紫、赤、灰色などを無視します。

3 = 3 × 1および4 = 2 × 2であっても、コードが示すように、緑茶色、またはハシバミ= 2 ×青という意味ではありません(現時点では想像できます)。=3×=2×3=3×14=2×2

したがって、(何らかの理由で我々がない限りない、そのような意味では、私たちの分析に陥るたい)、我々は、コーディングのいくつかの並べ替えを使用する必要があります。ダミーコーディングは1つの例で、目の色について伝えたい統計情報からこのような関係を排除します。エフェクトコーディングとヘックマンコーディングは他の例です。

:アップデート四つのカテゴリーのための2つの変数のあなたの例では、一般的に交換することを伴う用語「ダミーコード」の私の理解使用一致しないカテゴリ(4と言う)とK - 1:ダミー変数(カテゴリ別の観測をソートします)kk1

id  category  dummy1 dummy2 dummy3
 1         1       1      0      0
 2         1       1      0      0
 3         2       0      1      0
 4         2       0      1      0
 5         3       0      0      1
 6         3       0      0      1
 7         4       0      0      0
 8         4       0      0      0

ここでは、次のようなモデルに定数があると仮定して、カテゴリ4が参照カテゴリです。

y=β0+β1d1+β2d2+β3d3+ε

ここで、の平均値であるY場合カテゴリ= 4、およびβ各ダミー関連付けられた用語が示すものの量だけY軸から変更β 0、そのカテゴリのために。β0yβyβ0

あなたがいる場合はありません(定数を有するモデルにおける用語)、その後、ダミーその後、効果の1以上の「ダミー」の予測(おそらく少ないと呼ばれることが多い「標識変数」)、各カテゴリのモデル定数として各振る舞いを必要とします:β0

y=β1d1+β2d2+β3d3+β4d4+ε

だから、これは最初に言及したカテゴリコード間の無意味な定量的関係を作成する問題を回避しますが、あなたが提案するようにuser12331-codingを使用してはどうですか?user12331-coding候補A:

id  category   code1  code2
 1         1       0      ?
 2         1       0      ?
 3         2       1      ?
 4         2       1      ?
 5         3       ?      0
 6         3       ?      0
 7         4       ?      1
 8         4       ?      1

2つのバイナリ変数を使用して4つの値を表現できることを指摘するのは非常に正しい2つの(つまり2ビット)です。残念ながら、これに対する1つのアプローチ(カテゴリ1および2のcode1、およびカテゴリ3および4のcode2)では、疑問符で示されたあいまいさが残ります。

さて、2番目のアプローチについては、user12331コーディング候補Bと呼びます。

id  category   code1  code2
 1         1       0      0
 2         1       0      0
 3         2       0      1
 4         2       0      1
 5         3       1      0
 6         3       1      0
 7         4       1      1
 8         4       1      1

そこ!あいまいさはありませんか?右!残念ながら、このコーディングはすべて、数値1〜4(または0〜3)をバイナリ表記で表しています。で表しているため、カテゴリとの望ましくない定量的関係を与えるという問題がそのまま残ります。

したがって、別のコーディングスキームが必要です。

β


5
この答えは、1つの変数を使用できない理由を示しています(つまり、「何らかのコーディング」が実際に必要なことを示しています)が、たとえば2つの変数ではできない理由を(まだ)説明していません。OPは質問で提案します。
Glen_b-モニカを復活させる14

@Glen_bありがとう。私のアップデートが対処に役立ったことを願っています。
アレクシス14

2
2つのバイナリ変数は、4つのカテゴリ[(0,0)、(0,1)、(1,0)、(1,1)]を表すのに十分ですが、分析用のダミーコードに適切な方法ではないことに注意してください。OPのコーディングが間違っているようです。
エリスバレンタイン14

@ user12202013はい。私の最後の例のように。
アレクシス14

OPで提案されている2つの変数を使用してバイナリコーディングを行う場合、目標が予測である場合、ノンパラメトリック、ノンリニアの分類器/リグレッサーは同等に機能しませんか?
tool.ish

1

この質問に対する私の見解は、たった2つの変数で4つの可能な状態をコーディングすることは、4つの変数を使用するよりも機械学習アルゴリズムによって表現力が劣ることです。

たとえば、線形回帰を行いたい場合、真のマッピングでは値0、1、2を0に、値3を1にマッピングするとします。コーディング時に線形回帰でこのマッピングを学習する方法がないことをすぐに確認できます。 2つのバイナリ1だけを含むカテゴリ変数(頭に対応する平面を合わせてみてください)。一方、1-Of-Kコーディングを使用する場合、これは問題になりません。


0

あなたの代替はまたダミーコードです。従属変数との関係を最もよく表すダミーコードを選択します。たとえば、色はnの1として表されるか、数値rgbコンポーネントに変わるか、カテゴリー化できます:girly / muddy / ... 1 of nは、基本的に各インスタンスが個別に学習されることを意味し、関係がない場合に適しています。..しかし、データを無駄にしている関係がある場合は、カテゴリの各インスタンスの係数を個別に推定する必要があります。ジョブをカテゴリ変数として検討してください。市場部門と年功序列に再分類することができます。

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