Regression in der Einstellung : Wie wird die Regularisierungsmethode gewählt (Lasso, PLS, PCR, Ridge)?


15

Ich versuche herauszufinden , ob Ridge Regression , LASSO , Principal Component Regression (PCR) oder Partial Least Squares (PLS) in einer Situation mit einer großen Anzahl von Variablen / Merkmalen ( ) und einer geringeren Anzahl von Stichproben ( ), und mein Ziel ist die Vorhersage.pn<p

Dies ist mein Verständnis:

  1. Die Ridge-Regression verkleinert die Regressionskoeffizienten, verwendet jedoch alle Koeffizienten, ohne sie auf.0

  2. LASSO verkleinert auch die Koeffizienten, macht sie aber auch zu, was bedeutet, dass es auch eine Variablenauswahl durchführen kann.0

  3. Die Hauptkomponentenregression schneidet die Komponenten ab, so dass kleiner als . komponenten werden verworfen .pnpn

  4. Partielles kleinstes Quadrat konstruiert auch eine Reihe linearer Kombinationen der Eingaben für die Regression, verwendet jedoch im Gegensatz zur PCR (zusätzlich zu ) für die Dimensionsreduktion. Der wesentliche praktische Unterschied zwischen PCR- und PLS-Regression besteht darin, dass die PCR häufig mehr Komponenten als PLS benötigt, um den gleichen Vorhersagefehler zu erzielen ( siehe hier ).yX

Betrachten Sie die folgenden Dummy-Daten (die tatsächlichen Daten, mit denen ich zu arbeiten versuche, sind ähnlich):

#random population of 200 subjects with 1000 variables 

M <- matrix(rep(0,200*100),200,1000)
for (i in 1:200) {
set.seed(i)
  M[i,] <- ifelse(runif(1000)<0.5,-1,1)
}
rownames(M) <- 1:200

#random yvars 
set.seed(1234)
u <- rnorm(1000)
g <- as.vector(crossprod(t(M),u))
h2 <- 0.5 
set.seed(234)
y <- g + rnorm(200,mean=0,sd=sqrt((1-h2)/h2*var(g)))

myd <- data.frame(y=y, M)

Implementierung von vier Methoden:

 require(glmnet)

 # LASSO 
 fit1=glmnet(M,y, family="gaussian", alpha=1)

 # Ridge   
 fit1=glmnet(M,y, family="gaussian", alpha=0)

 # PLS
 require(pls)
 fit3 <- plsr(y ~ ., ncomp = 198, data = myd, validation = "LOO")
 # taking 198 components and using leave-one-out cross validation 
 summary(fit3)
 plot(RMSEP(fit3), legendpos = "topright")

 # PCR 
 fit4 <- pcr(y ~ ., ncomp = 198, data = myd, validation = "LOO")

Die beste Beschreibung der Daten ist:

  1. p>n , meistens ;p>10n

  2. Variablen ( und ) sind unterschiedlich stark miteinander korreliert .XY

Meine Frage ist, welche Strategie für diese Situation am besten geeignet ist. Warum?


6
Ich habe keine Antwort ohne weiteres, aber Kapitel 18 von Elements of Statistical Learning widmet sich diesem Thema und behandelt, glaube ich, alle Techniken, die Sie erwähnen.
Shadowtalker


@ssdecontrol Vielen Dank für das Buch, das Sie gepostet haben. So hilfreich
Christina

Antworten:


29

Ich denke, es gibt keine einheitliche Antwort auf Ihre Frage - es hängt von vielen Situationen, Daten und dem ab, was Sie versuchen, zu tun. Einige der Modifikationen können oder sollten modifiziert werden, um das Ziel zu erreichen. Die folgende allgemeine Diskussion kann jedoch helfen.

Bevor wir zu den fortgeschritteneren Methoden übergehen, wollen wir zunächst das Grundmodell erörtern: die Least-Squares-Regression (LS) . Es gibt zwei Gründe, warum eine Schätzung der kleinsten Quadrate der Parameter im vollständigen Modell unbefriedigend ist:

  1. Vorhersagequalität: Schätzungen der kleinsten Quadrate weisen häufig eine geringe Abweichung, aber eine hohe Varianz auf. Die Vorhersagequalität kann manchmal durch Schrumpfen der Regressionskoeffizienten oder durch Setzen einiger Koeffizienten auf Null verbessert werden. Auf diese Weise erhöht sich die Vorspannung, aber die Varianz der Vorhersage verringert sich erheblich, was zu einer insgesamt verbesserten Vorhersage führt. Dieser Kompromiss zwischen Bias und Varianz lässt sich leicht durch Zerlegen des mittleren quadratischen Fehlers (MSE) erkennen. Ein kleinerer MSE führt zu einer besseren Vorhersage neuer Werte.

  2. Interpretierbarkeit : Wenn viele Prädiktorvariablen verfügbar sind, ist es sinnvoll, diejenigen zu identifizieren, die den größten Einfluss haben, und diejenigen auf Null zu setzen, die für die Vorhersage nicht relevant sind. Daher eliminieren wir Variablen, die nur einige Details erläutern, behalten jedoch diejenigen bei, die eine umfassende Erklärung der Antwortvariablen ermöglichen.

kk{0,1,...,p}304040eingabevariablen eine suche in allen möglichen teilmengen wird unmöglich. Daher sind eine schrittweise Vorwärtsauswahl und eine schrittweise Rückwärtsauswahl nützlich. Die Rückwärtsauswahl kann nur verwendet werden, wenn , um ein genau definiertes Modell zu erhalten. Die Recheneffizienz dieser Methoden ist fraglich, wenn p sehr hoch ist.n>pp

βzk,k=1,2,...,qxj

Die Methoden unterscheiden sich darin, wie die Linearkombinationen aufgebaut sind. Die Hauptkomponenten-Regression (Principal Components Regression, PCR) sucht nach Transformationen der ursprünglichen Daten in einen neuen Satz nicht korrelierter Variablen, die als Hauptkomponenten bezeichnet werden .

yXyXβγγqpXyy

λ0λ

ββ

Xpq

YiDer Unterschied zwischen L1 und L2 ist nur, dass L2 die Summe des Quadrats der Gewichte ist, während L1 nur die Summe der Gewichte ist. Die L1-Norm erzeugt tendenziell spärliche Koeffizienten und verfügt über eine eingebaute Merkmalsauswahl . Die L1-Norm hat keine analytische Lösung, die L2-Norm jedoch. Dadurch können die L2-Normlösungen rechnerisch effizient berechnet werden. L2-Norm hat einzigartige Lösungen, L1-Norm nicht.

s0s

pN

Die Hauptkomponentenanalyse ist eine effektive Methode zum Auffinden linearer Kombinationen von Merkmalen, die in einem Datensatz große Abweichungen aufweisen. Was wir hier suchen, sind lineare Kombinationen mit sowohl hoher Varianz als auch signifikanter Korrelation mit dem Ergebnis. Daher möchten wir die Hauptkomponentenanalyse ermutigen, lineare Kombinationen von Merkmalen zu finden, die eine hohe Korrelation mit den ergebnisüberwachten Hauptkomponenten aufweisen (siehe Seite 678, Algorithmus 18.1, im Buch Elemente des statistischen Lernens ).

Partielle Fehlerquadrate verringern das Gewicht von lauten Merkmalen, werfen sie jedoch nicht weg. Infolgedessen kann eine große Anzahl von verrauschten Merkmalen die Vorhersagen verunreinigen. Thresholded PLS kann als eine verrauschte Version von überwachten Hauptkomponenten angesehen werden, und daher ist möglicherweise nicht zu erwarten, dass es in der Praxis so gut funktioniert. Überwachte Hauptkomponenten können zu niedrigeren Testfehlern führen als der PLS-Schwellenwert . Es wird jedoch nicht immer ein spärliches Modell mit nur wenigen Features erstellt.

p


1
Bias2+Variance

2
Was meinen Sie mit "L2-Norm hat einzigartige Lösungen, L1-Norm nicht"? Das Lasso-Objektiv ist konvex ...
Andrew M
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.