Wenn ich eine Variable mit 4 Ebenen habe, muss ich theoretisch 3 Dummy-Variablen verwenden. Wie wird dies in der Praxis tatsächlich durchgeführt? Benutze ich 0-3, benutze ich 1-3 und lasse die 4 leer? Irgendwelche Vorschläge?
HINWEIS: Ich werde in R arbeiten.
UPDATE: Was würde passieren, wenn ich nur eine Spalte verwende, die 1-4 entsprechend AD verwendet? Wird das funktionieren oder Probleme verursachen?
r
regression
categorical-data
categorical-encoding
screechOwl
quelle
quelle
Antworten:
In der Praxis lässt man normalerweise die Software seiner Wahl das Erstellen und Bearbeiten der Dummy-Variablen übernehmen. Es gibt verschiedene Möglichkeiten, wie damit umgegangen werden kann. Hier gibt es mehrere gängige Möglichkeiten für einen Datensatz mit vier Beobachtungen, eine auf jeder Ebene von A, B, C und D. Dies sind verschiedene Parametrisierungen. Sie führen zu genau der gleichen Modellanpassung, jedoch mit unterschiedlichen Interpretationen der Parameter. Mit der Grundalgebra kann man leicht von einem zum anderen konvertieren. Beachten Sie, dass sie alle lineare Kombinationen voneinander sind. Tatsächlich kann jede lineare Kombination verwendet werden.
Verwenden Sie Unterschiede zur ersten Ebene (Standard in R):
Verwenden Sie Unterschiede zur letzten Ebene (Standard in SAS):
Verwenden Sie "Summen" -Kontraste:
Verwenden Sie "helmert" Kontraste:
quelle
Nehmen wir an, Ihre Variablenebenen sind A, B, C und D. Wenn Sie einen konstanten Term in der Regression haben, müssen Sie drei Dummy-Variablen verwenden, andernfalls müssen Sie alle vier haben.
Es gibt viele mathematisch äquivalente Möglichkeiten, wie Sie die Dummy-Variablen implementieren können. Wenn Sie einen konstanten Term in der Regression haben, besteht eine Möglichkeit darin, eine der Ebenen als "Basis" -Ebene auszuwählen und die anderen drei damit zu vergleichen. Nehmen wir der Vollständigkeit halber an, dass der Basispegel A ist. Dann nimmt Ihre erste Dummy-Variable den Wert 1 an, wenn der Pegel B und ansonsten 0 ist. Der zweite nimmt den Wert 1 an, wenn der Pegel andernfalls C und 0 ist, und der dritte nimmt den Wert 1 an, wenn der Pegel andernfalls D und 0 ist. Da Ihr konstanter Term immer gleich 1 ist, ist der geschätzte Koeffizient der ersten Dummy-Variablen die Schätzung der Differenz zwischen Stufe B und A und ähnlich wie bei den anderen Dummy-Variablen.
Wenn Sie keinen konstanten Term haben, können Sie einfach vier Dummy-Variablen verwenden, die wie im vorherigen Beispiel erstellt wurden, und nur eine für die A-Ebene hinzufügen.
quelle
Definieren Sie in R die Variable als Faktor und sie wird für Sie implementiert:
was zurückkehrt
Die Dokumentation für 'lm', 'Faktor' und 'Formel' in R füllt einige Details aus.
quelle
lm(y ~ as.factor(x))
whuber hat dir in den Kommentaren gesagt, dass das Codieren einer 0-3- oder 1-4-Codierung anstelle des Erstellens von Dummy-Variablen nicht das ist, was du willst. Dies ist ein Versuch - ich soll hoffentlich erklären, was Sie mit diesem Modell machen würden und warum es falsch ist.
Wenn Sie eine Variable X so codieren, dass wenn A dann X = 1, wenn B dann X = 2, wenn C dann X = 3, wenn D dann X = 4, wenn Sie die Regression durchführen, Sie nur einen Parameter erhalten. Angenommen, der mit X verknüpfte geschätzte Parameter war 2. Dies würde Ihnen sagen, dass die erwartete Differenz zwischen dem Mittelwert von B und dem Mittelwert von A 2 beträgt. Es zeigt Ihnen auch, dass die erwartete Differenz zwischen dem Mittelwert von C ist und der Mittelwert von B ist 2. Einige für D und C. Sie würden die Unterschiede in den Mitteln für diese Gruppen zwingen, diesem sehr strengen Muster zu folgen. Dieser eine Parameter sagt Ihnen genau, wie sich alle Mittelwerte Ihrer Gruppe aufeinander beziehen.
Wenn Sie also diese Art der Codierung durchführen, müssen Sie davon ausgehen, dass Sie nicht nur die richtige Reihenfolge erhalten haben (denn in diesem Fall müssen Sie, wenn Sie eine Erhöhung von A nach B erwarten, eine Erhöhung von B nach C und von C erwarten zu D) aber Sie müssen auch davon ausgehen, dass dieser Unterschied der gleiche ist!
Wenn Sie stattdessen die vorgeschlagene Dummy-Codierung durchführen, lassen Sie zu, dass jede Gruppe ihren eigenen Mittelwert hat - ohne Einschränkungen. Dieses Modell ist viel sinnvoller und beantwortet die gewünschten Fragen.
quelle