Wie behandelt man kategoriale Prädiktoren in LASSO?

17

Ich führe ein LASSO mit einigen kategorialen und einigen kontinuierlichen Variablenprädiktoren. Ich habe eine Frage zu den kategorialen Variablen. Der erste Schritt, den ich verstehe, besteht darin, jeden von ihnen in Dummies zu zerlegen, sie für eine faire Bestrafung zu standardisieren und dann zurückzugehen. Für die Behandlung der Dummy-Variablen ergeben sich mehrere Möglichkeiten:

  1. Schließen Sie alle Dummys bis auf einen für jeden Faktor ein und lassen Sie diesen als Referenzlevel. Die Interpretation eines Dummy-Koeffizienten bezieht sich auf die ausgeschlossene Kategorie "Referenz". Der Achsenabschnitt ist jetzt die mittlere Antwort für die Referenzkategorie.

  2. Gruppieren Sie die Variablen in jedem Faktor, sodass sie entweder alle ausgeschlossen oder alle bis auf einen eingeschlossen sind. Ich glaube, das schlägt @Glen_b hier vor :

    Normalerweise, ja, Sie behalten Ihre Faktoren alle zusammen. Es gibt mehrere R-Pakete, die dies tun können, einschließlich glmnet

  3. Schließen Sie alle Ebenen ein, wie von @Andrew M hier vorgeschlagen :

    Möglicherweise möchten Sie auch die Standardkontrastfunktion ändern, die standardmäßig eine Stufe jedes Faktors auslässt (Behandlungscodierung). Aufgrund der Lasso-Strafe ist dies jedoch für die Identifizierbarkeit nicht mehr erforderlich und erschwert die Interpretation der ausgewählten Variablen. Stellen Sie dazu ein

    contr.Dummy <- function(contrasts, ...){
       conT <- contr.treatment(contrasts=FALSE, ...)
       conT
    }
    options(contrasts=c(ordered='contr.Dummy', unordered='contr.Dummy'))
    

    Unabhängig davon, welche Ebenen eines Faktors ausgewählt sind, können Sie sich vorstellen, dass diese bestimmten Ebenen eine Rolle spielen, im Gegensatz zu allen ausgelassenen Ebenen. Beim maschinellen Lernen habe ich gesehen, dass diese Codierung als One-Hot-Codierung bezeichnet wird.

Fragen:

  1. Wie ist die Interpretation des Abschnitts und der Koeffizienten bei jedem dieser Ansätze?
  2. Was sind die Überlegungen bei der Auswahl einer von ihnen?
  3. Verringern wir die Dummy-Koeffizienten und interpretieren sie dann als Wechsel von Aus nach Ein?
Hatschepsut
quelle

Antworten:

6

Wenn Sie mit kategorialen Variablen in der LASSO-Regression arbeiten, ist es üblich, ein gruppiertes LASSO zu verwenden, das die Dummy-Variablen, die einer bestimmten kategorialen Variablen entsprechen, zusammenhält (dh Sie können nicht nur einige der Dummy-Variablen aus dem Modell ausschließen). Eine nützliche Methode ist die in Choi, Park und Seo (2012) beschriebene Modified Group LASSO (MGL ) . Bei dieser Methode ist die Strafe proportional zur Norm des Vektors für die Menge der Dummy-Variablen. Sie behalten in dieser Methode weiterhin eine Referenzkategorie bei, sodass der Intercept-Term weiterhin enthalten ist. Auf diese Weise können Sie mit mehreren kategorialen Variablen ohne Identifizierungsprobleme umgehen.β

In Beantwortung Ihrer spezifischen Fragen:

(1) LASSO ist eine Schätzmethode für die Koeffizienten, die Koeffizienten selbst werden jedoch durch die anfängliche Modellgleichung für Ihre Regression definiert. Daher ist die Interpretation der Koeffizienten dieselbe wie bei einer linearen Standardregression. Sie repräsentieren die Änderungsraten der erwarteten Reaktion aufgrund von Änderungen in den erklärenden Variablen.

(2) In der obigen Literatur wird empfohlen, die Variablen zu gruppieren, aber eine Referenzkategorie beizubehalten. Dies setzt implizit voraus, dass Sie das Vorhandensein einer kategorialen Variablen mit einem Modell vergleichen, das sie entfernt, aber immer noch einen Intercept-Term hat.

(3) Wie oben angegeben, hat die Schätzmethode keinen Einfluss auf die Interpretation der Koeffizienten, die durch die Modellanweisung festgelegt werden.

Setzen Sie Monica wieder ein
quelle
1
Hatschepsut: Wenn Sie diese Antwort hilfreich fanden, sollten Sie darüber nachdenken , sie zu verbessern und / oder anzunehmen . Wenn nicht, könnten Sie vielleicht angeben, was noch fehlt?
S. Kolassa - Wiedereinsetzung von Monica
@StephanKolassa fertig
Hatschepsut