Gibt es Umstände, unter denen schrittweise Regression angewendet werden sollte?


13

In der Vergangenheit war die schrittweise Regression in vielen biomedizinischen Veröffentlichungen überstrapaziert. Dies scheint sich jedoch durch eine bessere Aufklärung der zahlreichen Themen zu verbessern. Viele ältere Rezensenten fragen jedoch noch danach. Unter welchen Umständen spielt die schrittweise Regression eine Rolle und sollte gegebenenfalls angewendet werden?


6
Ich benutze es oft im Unterricht, um die Idee zu veranschaulichen, dass es nicht verwendet werden sollte.
gung - Wiedereinsetzung von Monica

1
(+1) Danke @gung Ich bin kein Statistiker und habe es schwierig gefunden, dies zu verteidigen, obwohl ich weiß, dass es richtig ist. Ich finde es besonders schwierig, weil 1) dieser sehr gute und oft zitierte Beitrag nicht viel zitierfähiges Detail enthält und ... (ctd)
bobmcpop

2
(ctd) und (2) Kritiker von stepwise scheinen dies häufig zu tun, um aus einer großen Anzahl von Variablen oder Data-Mining zu wählen. In der biomedizinischen Welt berücksichtigen Stichprobengrößenberechnungen häufig die Anzahl der erwarteten Kovariaten, so dass die vollständigen Modelle anfangs nie so groß sind und für jede Var bereits ein "biologischer" Grund vorliegt. Sind Sie der Meinung, dass stepwise unter diesen Umständen ebenfalls nicht angewendet werden sollte?
Bobmcpop

3
Ich mache statistische Beratung für biomedizinische Forschung. Ich benutze nicht schrittweise. Ich habe nicht viele Leute fragen lassen (sie könnten annehmen, dass ich es nur benutzen würde, wenn es ihrem Projekt helfen würde), aber wenn die Leute fragen, sage ich ihnen, dass es ungültig ist und rede darüber, warum.
gung - Wiedereinsetzung von Monica

Antworten:


11

Mir sind keine Situationen bekannt, in denen eine schrittweise Regression der bevorzugte Ansatz wäre. Es kann in Ordnung sein ( vor allem in seinem Step-down - Version aus dem vollen Modell ausgehend) mit Bootstrapping des gesamten schrittweisen Prozesses auf extrem große Datenmengen mit . Hierbei ist n die Anzahl der Beobachtungen in einem kontinuierlichen Ergebnis (oder die Anzahl der Datensätze mit einem Ereignis in der Überlebensanalyse). P ist die Anzahl der Kandidaten-Prädiktoren einschließlich aller berücksichtigten Interaktionen - dh wenn selbst kleine Effekte sehr deutlich werden und dies keine Rolle spielt viel wie Sie Ihr Modell bauen (das würde bedeuten, dass n viel größer als p wären>>pnpnp als um wesentlich mehr als der manchmal angegebene Faktor 20).

Natürlich ist der Grund, warum die meisten Menschen versucht sind, so etwas wie schrittweise Regression zu tun,

  1. weil es nicht rechenintensiv ist (wenn Sie nicht das richtige Bootstrapping durchführen, aber dann sind Ihre Ergebnisse ziemlich unzuverlässig),
  2. weil es eine eindeutige Aussage liefert "ist im Modell" versus "ist nicht im Modell" Aussagen (die in der standardmäßigen schrittweisen Regression sehr unzuverlässig sind; etwas, das durch richtiges Bootstrapping in der Regel deutlich wird, so dass diese Aussagen in der Regel nicht so eindeutig sind) und
  3. np

Dh eine Methode wie die schrittweise Regression wäre (wenn sie gute Betriebseigenschaften hätte) in solchen Situationen besonders attraktiv, wenn sie keine guten Betriebseigenschaften hätte.


3
(+1) Auch schrittweise und verwandte Methoden können für Vorhersagemodelle in Situationen mit Nadel im Heuhaufen geeignet sein, in denen viele Koeffizienten vernachlässigbar und im Verhältnis zur Fehlervarianz nur einige wenige groß sind. Siehe Beispiel 3 aus Tibshirani (1996), Regressionsschrumpfung & Selektion über das Lasso , JRSS B , 58 , 1 - obwohl auch hier die nicht negative Garotte gewinnt.
Scortchi - Wiedereinsetzung von Monica

3
Ich kann den letzten Absatz nicht ganz verstehen. Vielleicht könnte es umformuliert werden? Und was ist mit 3 .: Ich sehe kein direktes Argument, vielleicht soll sich da etwas leicht ableiten lassen?
Richard Hardy

1
pn

11

Zwei Fälle, in denen ich eine schrittweise Regression nicht ablehnen würde, sind:

  1. Explorative Datenanalyse
  2. Vorhersagemodelle

In diesen beiden sehr wichtigen Anwendungsfällen sind Sie nicht so besorgt über die traditionelle statistische Inferenz, sodass die Tatsache, dass p-Werte usw. nicht mehr gültig sind, von geringer Bedeutung ist.

Zum Beispiel, wenn ein Forschungsbericht sagte: "In unserer Pilotstudie haben wir schrittweise Regression verwendet, um 3 interessante Variablen von 1000 zu finden. In einer Folgestudie mit neuen Daten haben wir gezeigt, dass diese 3 interessanten Variablen stark mit dem korrelieren Ergebnis des Interesses ", hätte ich kein Problem mit der Verwendung der schrittweisen Regression. In ähnlicher Weise ist "Wir haben schrittweise Regression verwendet, um ein Vorhersagemodell zu erstellen. Dieses vorgeformte alternative Modell X in unserem Hold-out-Datensatz in Bezug auf MSE" auch für mich völlig in Ordnung.

Um es klar auszudrücken, ich sage nicht, dass eine schrittweise Regression der beste Weg ist, um diese Probleme anzugehen. Aber es ist einfach und kann Ihnen zufriedenstellende Lösungen geben.

BEARBEITEN:

In den Kommentaren wird die Frage aufgeworfen, ob ein schrittweiser AIC tatsächlich für die Vorhersage nützlich sein kann. Hier ist eine Simulation, die zeigt, dass sie mit allen Kovariaten viel besser abschneidet als mit der linearen Regression, und mit fast ebenso elastischen Netzen, deren Strafe durch Kreuzvalidierung ausgewählt wurde.

Ich würde diese Simulation nicht als das Ende der Diskussion ansehen. Es ist nicht allzu schwer, ein Szenario zu entwickeln, in dem sich ein schrittweiser AIC schlechter entwickeln wird. Aber es ist wirklich kein unvernünftiges Szenario und genau die Art von Situation, für die elastische Netze ausgelegt sind (hohe Korrelation von Kovariaten mit sehr wenigen großen Effekten)!

library(leaps)
library(glmnet)
nRows <- 1000
nCols <- 500

# Seed set For reproducibility. 
# Try changing for investigation of reliability of results
set.seed(1)

# Creating heavily correlated covariates
x_firstHalf  <- matrix(rnorm(nRows * nCols / 2), nrow = nRows)
x_secondHalf <- x_firstHalf + 0.5 * 
                matrix(rnorm(nRows * nCols / 2), nrow = nRows) 
x_mat        <- cbind(x_firstHalf, x_secondHalf) + rnorm(nRows)

# Creating beta's. Most will be of very small magnitude
p_large = 0.01
betas <- rnorm(nCols, sd = 0.01) + 
         rnorm(nCols, sd = 4) * rbinom(nCols, size = 1, prob = p_large)
y     <- x_mat %*% betas + rnorm(nRows, sd = 4)

all_data           <- data.frame(y, x_mat)
colnames(all_data) <- c('y', paste('x', 1:nCols, sep = '_'))

# Holding out 25% of data for validation
holdout_index <- 1:(nRows * .25) 
train_data    <- all_data[-holdout_index, ]
validate_data <- all_data[holdout_index, ]

mean_fit <- lm(y ~ 0, data = train_data)
full_fit <- lm(y ~ ., data = train_data)
step_fit <- step(mean_fit, 
                 scope = list(lower = mean_fit, upper = full_fit), 
                 direction = "forward", steps = 20, trace = 0)

glmnet_cvRes <- cv.glmnet(x = as.matrix(train_data[,-1]), 
                          y = as.numeric(train_data$y)   )

full_pred   <- predict(full_fit, validate_data)
step_pred   <- predict(step_fit, validate_data)
glmnet_pred <- predict(glmnet_cvRes, as.matrix(validate_data[,-1]), s='lambda.min')

sd(full_pred - validate_data$y)    # [1] 6.426117
sd(step_pred - validate_data$y)    # [1] 4.233672
sd(glmnet_pred - validate_data$y)  # [1] 4.127171
# Note that stepwise AIC does considerably better than using all covariates 
# in linear regression, and not that much worse than penalized methods
# with cross validation!!

Randnotiz:

Ich bin aus vielen, vielen Gründen wirklich kein Fan von schrittweiser Regression, daher fühle ich mich etwas unwohl, wenn ich diese Haltung einnehme, um sie zu verteidigen. Aber ich denke nur, dass es wichtig ist, genau zu sagen, was mir daran nicht gefällt.


2
In welchen anderen Szenarien wird es üblicherweise (in der biomedizinischen Literatur) verwendet, mit Ausnahme dieser beiden Indikationen? Ich bin nur auf seine Verwendung für Vorhersagemodelle gestoßen, aber es wird nicht empfohlen, z .
Bobmcpop

5
@bobmcpop: Das große Problem ist die Verwendung von p-Werten, Konfidenzintervallen, nach schrittweiser Regression, wie in dem von Ihnen zitierten Artikel erwähnt. Modelle, die ausschließlich zur Vorhersage verwendet werden (nicht nur Modelle mit Prädiktoren), interessieren sich im Allgemeinen nicht für p-Werte, sondern dafür, wie stark der Fehler außerhalb der Stichprobe reduziert wird.
Cliff AB

1
@ Björn: naja, wie ich am ende schon sagte, ich glaube nicht, dass es generell die beste methode dafür ist. Aber es ist nicht ungültig, und Sie können mit vernünftigen Ergebnissen enden. Insofern ist es eine Stärke, wie einfach es zu bedienen ist: Wenn Sie ein Modell haben, das Kovariaten und Wahrscheinlichkeiten berücksichtigt, können Sie schrittweise AIC durchführen. Vielleicht können Sie mit so etwas wie LASSO besser abschneiden ... aber vielleicht auch nicht, wenn es sich um ein schickes neues Modell handelt oder Sie Excel verwenden.
Cliff AB

4
(+1) Ich hätte gesagt, glmnet wurde entwickelt, um diese Art von Situation zu meistern (wie es scheint). Prädiktorauswahlmethoden ohne Schrumpfung sind speziell darauf abgestimmt. Es könnte interessant sein, Ansätze zu vergleichen, wenn es "Tapering-Effekte" gibt, anstatt ein paar große und viele kleine.
Scortchi

2
Ich habe Ihren Code bearbeitet, um das Lesen zu vereinfachen und das Kopieren und Einfügen in eine Codedatei oder Konsole zu vereinfachen. Ich hoffe du magst es. Wenn Sie nicht tun, rollen Sie es mit meiner Entschuldigung zurück.
gung - Wiedereinsetzung von Monica
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.