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.
Dies ist mein Verständnis:
Die Ridge-Regression verkleinert die Regressionskoeffizienten, verwendet jedoch alle Koeffizienten, ohne sie auf.
LASSO verkleinert auch die Koeffizienten, macht sie aber auch zu, was bedeutet, dass es auch eine Variablenauswahl durchführen kann.
Die Hauptkomponentenregression schneidet die Komponenten ab, so dass kleiner als . komponenten werden verworfen .
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 ).
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:
, meistens ;
Variablen ( und ) sind unterschiedlich stark miteinander korreliert .
Meine Frage ist, welche Strategie für diese Situation am besten geeignet ist. Warum?
quelle
Antworten:
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:
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.
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.
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 .
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.
quelle