Erzeugt ein schrittweiser Ansatz das höchste Modell?


8

Wird bei Verwendung des schrittweisen Vorwärtsansatzes zur Auswahl von Variablen garantiert, dass das Endmodell das höchstmögliche ? Anders gesagt, garantiert der schrittweise Ansatz ein globales Optimum oder nur ein lokales Optimum?R2

Wenn ich beispielsweise 10 Variablen zur Auswahl habe und ein 5-Variablen-Modell erstellen möchte, hat das nach dem schrittweisen Ansatz erstellte 5-Variablen-Endergebnis das höchste aller möglichen 5-Variablen-Modelle, die dies könnten wurde gebaut?R2

Beachten Sie, dass diese Frage rein theoretisch ist, dh wir diskutieren nicht, ob ein hoher -Wert optimal ist, ob er zu einer Überanpassung führt usw.R2


2
Ich denke, eine schrittweise Auswahl wird Ihnen das höchstmögliche in dem Sinne geben, dass es voreingenommen ist, viel höher als das wahre Modell zu sein (das heißt, es wird nicht zum optimalen Modell führen). Vielleicht möchten Sie dies lesen . R2
Gung - Reinstate Monica

10
Ein Maximum wird erreicht, wenn alle Variablen enthalten sind. Dies ist eindeutig der Fall, da das Einfügen einer neuen Variablen nicht verringern kann . In welchem ​​Sinne meinen Sie tatsächlich "lokal" und "global"? Die Variablenauswahl ist ein diskretes Problem - wählen Sie eine von Teilmengen von Variablen aus - was wäre also eine lokale Nachbarschaft einer Teilmenge? R 2 2 k kR2R22kk
whuber

Bezüglich der Bearbeitung: Könnten Sie bitte den "schrittweisen Ansatz" beschreiben, den Sie im Sinn haben? ( Diejenigen, mit denen ich vertraut bin, kommen nicht zu einer bestimmten Anzahl von Variablen: Ein Teil ihres Zwecks besteht darin, Ihnen bei der Entscheidung zu helfen, wie viele Variablen verwendet werden sollen.)
whuber

Denken Sie, dass ein höheres (rohes) eine gute Sache ist? Deshalb haben sie , AIC usw. angepasstR 2R2R2
Wayne

1
Um maximal R2 zu erhalten, schließen Sie alle 2-Wege- und 3-Wege-Wechselwirkungen, verschiedene Transformationen (log, invers, quadratisch usw.), Mondphasen usw. ein
Zach

Antworten:


5

Sie erhalten nicht unbedingt das höchste R da Sie nur eine Teilmenge möglicher Modelle vergleichen und möglicherweise das mit dem höchsten R übersehen, das alle Variablen enthält. Um dieses Modell zu erhalten, müssten Sie alle Teilmengen betrachten . Aber das beste Modell ist möglicherweise nicht das mit dem höchsten R weil Sie möglicherweise überanpassen, weil es alle Variablen enthält.2 2222


1
Ich glaube das auch, aber um zu überzeugen - weil Sie kein strenges Argument geliefert haben - wäre es sehr schön, ein aktuelles Beispiel zu sehen. Es wäre noch schöner zu verstehen, warum eine schrittweise Prozedur, die zu Variablen konvergiert (z. B.), möglicherweise nicht zur höchsten Kombination von Variablen konvergiert (für die nicht alle Teilmengen durchsucht werden müssten ). R 2 kkR2k
whuber

Schrittweise Verfahren hängen davon ab, wo Sie beginnen. Wenn Sie mit zwei verschiedenen Anfangssätzen von Variablen beginnen, kann dies zu unterschiedlichen Lösungen führen. Der Punkt ist, dass es bei jedem Schritt ein Kriterium in der F-Statistik gibt, damit eine Variable eingegeben und eine Variable verlassen wird. Die F-Statistik hängt von den Variablen ab, die sich derzeit im Modell befinden. Die Prozedur stoppt, wenn weder das F zum Eintreten noch das F zum Verlassen bei dem angegebenen Schwellenwert statistisch signifikant sind. Dies kann also leicht passieren, bevor Sie alle Variablen zum Modell hinzufügen.
Michael R. Chernick

Dies könnte leicht anhand eines Beispiels in SAS demonstriert werden, bei dem die Ausgabe in die Antwort eingefügt wird.
Michael R. Chernick

1
Ich stimme zu - aber das Gegenbeispiel zu finden ist der schwierige Teil, @Michael, die Software nicht zu benutzen!
whuber

In jedem Fall ist es viel Arbeit!
Michael R. Chernick

13

Hier ist ein Zählerbeispiel mit zufällig generierten Daten und R:

library(MASS)
library(leaps)

v <- matrix(0.9,11,11)
diag(v) <- 1

set.seed(15)
mydat <- mvrnorm(100, rep(0,11), v)
mydf <- as.data.frame( mydat )

fit1 <- lm( V1 ~ 1, data=mydf )
fit2 <- lm( V1 ~ ., data=mydf )

fit <- step( fit1, formula(fit2), direction='forward' )
summary(fit)$r.squared

all <- leaps(mydat[,-1], mydat[,1], method='r2')
max(all$r2[ all$size==length(coef(fit)) ])

plot( all$size, all$r2 )
points( length(coef(fit)), summary(fit)$r.squared, col='red' )

R2

Wer wollte den Denkprozess: Es ist meist ein Kontrast zwischen Neugier und Faulheit. Der ursprüngliche Beitrag sprach davon, 10 Prädiktorvariablen zu haben, also habe ich das verwendet. Die 0,9-Korrelation war eine schöne runde Zahl mit einer ziemlich hohen Korrelation, aber nicht zu hoch (wenn sie zu hoch ist, würden schrittweise nur 1 oder 2 Prädiktoren erfasst). Ich dachte, die beste Chance, ein Gegenbeispiel zu finden, wäre ein gutes Maß an Kollinearität. Ein realistischeres Beispiel hätte verschiedene Korrelationen (aber immer noch ein gutes Maß an Kollinearität) und eine definierte Beziehung zwischen den Prädiktoren (oder einer Teilmenge davon) und der Antwortvariablen gehabt. Die Stichprobengröße von 100 war auch die erste, die ich als schöne runde Zahl ausprobiert habe (und die Faustregel besagt, dass Sie mindestens 10 Beobachtungen pro Prädiktor haben sollten). Ich habe den obigen Code mit den Samen 1 und 2 ausprobiert, dann das Ganze in eine Schleife gewickelt und verschiedene Samen nacheinander ausprobieren lassen. Eigentlich hörte es bei Samen 3 auf, aber der Unterschied inR2


2
+1 Gut gemacht! Beispiele sind viel überzeugender als hypothetische Möglichkeiten. Wenn Sie jedoch jemals eine Chance bekommen, teilen Sie uns bitte den Gedankenprozess mit, den Sie bei der Erstellung dieses Gegenbeispiels durchlaufen haben.
whuber

Ihr Bericht über das Verfahren ist von unschätzbarem Wert: Dies ist die Art von aufschlussreichem, praktischem Material, das, wenn überhaupt, nur in den klarsten Papieren auftaucht und ansonsten direkt von anderen gelernt oder neu erfunden werden muss. (Ich wünschte, ich könnte noch eine Gegenstimme hinzufügen.)
whuber

4

R2

Dies führt jedoch zu sehr voreingenommenen Ergebnissen. p-Werte sind zu niedrig, Koeffizienten von 0 weg vorgespannt, Standardfehler zu klein; und alles nach Beträgen, die nicht richtig geschätzt werden können.

Die schrittweise Auswahl hat auch dieses Problem.

Ich empfehle dringend , gegen jede automatisierte variable Auswahlmethode, denn das Schlimmste , was über sie ist , dass sie Sie aufhören zu denken; oder anders ausgedrückt, ein Datenanalyst, der automatisierte Methoden verwendet, fordert seinen Chef auf, ihn weniger zu bezahlen.

Wenn Sie müssen eine automatisierte Methode verwenden, dann sollten Sie Ihre Daten in Trainings- und Testsätze trennen, oder möglicherweise die Ausbildung, Validierung und letzte Sätze.


1
Die schrittweise Auswahl ist nicht so schlecht, wie Sie erkennen, wenn der Zweck der Vorhersage oder der Verwendung der Reihenfolge der erstellten Modelle dient. Tatsächlich sind viele rj mcmc-Algorithmen für die Modellauswahl grundsätzlich "zufällig", da die Vorschläge normalerweise aus dem Hinzufügen oder Entfernen einer Variablen bestehen.
Wahrscheinlichkeitslogik

1
Stepwise hat sich als schrecklich erwiesen. Weitere Informationen finden Sie in Frank Harrells Buch Regression Modeling Strategies. Was ist RJ? Es ist wahr, dass die Abfolge der Modelle etwas Nützliches aussagt, aber was dann? Ich habe auch viele Probleme mit p-Werten, aber das ist ein anderes Problem (oder siehe Der Kult der Signifikanztests)
Peter Flom

1
@PeterFlom - RJ ist ein reversibler Sprung. Schrittweise ist einfach eine schnelle Möglichkeit, den Modellraum zu durchsuchen, wodurch das Problem weniger anfällig für kombinatorische Explosionen wird. Es sind jedoch "mehrere Neustarts" erforderlich, um zu verhindern, dass es in einem lokalen Modus hängen bleibt. Ich muss dieses Buch bekommen, denke ich.
Wahrscheinlichkeitslogik

2
p|β^|βi=0p

1
X1,...,Xn
E(min{X1,...,Xn})<E(X1)
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.