Warum müssen wir eine Dummy-Variable verwerfen?

16

Ich habe gelernt, dass wir uns beim Erstellen eines Regressionsmodells um kategoriale Variablen kümmern müssen, indem wir sie in Dummy-Variablen konvertieren. Wenn es in unserem Datensatz beispielsweise eine Variable wie location gibt:

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

Wir müssen sie konvertieren wie:

1  0  0
0  1  0
0  0  1

Es wurde jedoch vorgeschlagen, eine Dummy-Variable zu verwerfen, unabhängig davon, wie viele Dummy-Variablen vorhanden sind.

Warum müssen wir eine Dummy-Variable verwerfen?

Mithun Sarker Shuvro
quelle
3
Denn der dritte Dummy kann als lineare Kombination der ersten beiden erklärt werden: FL = 1 - (CA + NY).
chainD
@chainD aber was ist die Erklärung für mehr als drei Dummy-Variablen?
Mithun Sarker Shuvro
2
Unabhängig von der Gesamtzahl ist es nur 1 weniger als die Gesamtzahl der Kategorien, die Sie haben. Angenommen, alle 50 Status wurden im Datensatz dargestellt. Angenommen, Sie sehen sich für eine bestimmte Person die ersten 49 Dummies an, die zufällig alle Nullen sind, und dann wissen Sie, dass der letzte Dummy eine 1 ist, auch ohne zu schauen (vorausgesetzt, jeder im Datensatz stammt aus einem der 50 Zustände). Mit anderen Worten, die Information des letzten Dummys ist sozusagen bereits im Ergebnis der ersten 49 enthalten.
chainD
@chainD danke
Mithun Sarker Shuvro
1
Wenn es nicht Frühling, nicht Sommer und nicht Herbst ist, dann ist es Winter!
Stev

Antworten:

10

Einfach ausgedrückt, weil eine Ebene Ihres kategorialen Features (hier Speicherort) während der Dummy-Codierung für die Regression zur Referenzgruppe wird und redundant ist. Ich zitiere hier die Form "Eine kategoriale Variable von K Kategorien oder Ebenen tritt normalerweise als Folge von K-1-Dummy-Variablen in eine Regression ein. Dies entspricht einer linearen Hypothese über das Ebenenmittel."

Dies wird bereits in dieser sehr schönen Antwort von stats.stackexchange besprochen .

Mir wurde gesagt, dass es in Coursera einen Fortgeschrittenenkurs von Yandex gibt, der dieses Thema ausführlicher behandelt, wenn Sie noch Zweifel haben, siehe hier . Beachten Sie, dass Sie den Kursinhalt jederzeit kostenlos prüfen können. ;-);

Ein weiterer netter Beitrag, wenn Sie eine gründliche Erklärung mit vielen Beispielen mit statistischer Perspektive wünschen und nicht nur auf Dummy-Codierung beschränkt sind, lesen Sie dies von UCLA (in R).

Beachten Sie pandas.get_dummies, dass bei Verwendung ein Parameter vorhanden ist, dh drop_first, ob durch Entfernen der ersten Ebene k-1-Dummies aus k kategorialen Ebenen entfernt werden sollen. Bitte beachten Sie default = False, dass die Referenz nicht gelöscht wird und k Dummies aus k kategorialen Ebenen erstellt werden!

TwinPenguins
quelle
3
Beachten Sie, dass dies nur dann zutrifft, wenn Ihr Modell einen Achsenabschnitt (dh einen konstanten Term) hat. Andernfalls fügen Sie implizit einen Intercept hinzu, indem Sie eine One-Hot-Codierung verwenden und nicht eine Dummy-Variable verwerfen.
Elias Strehle