Ci sono circostanze in cui si dovrebbe usare la regressione graduale?


13

La regressione graduale era stata abusata in molti articoli biomedici in passato, ma questo sembra migliorare con una migliore educazione dei suoi numerosi problemi. Molti revisori più anziani tuttavia lo richiedono ancora. Quali sono le circostanze in cui la regressione graduale ha un ruolo e dovrebbe essere utilizzata, se presente?


6
Lo uso spesso quando insegno alle lezioni per illustrare l'idea che non dovrebbe essere usato.
gung - Ripristina Monica

1
(+1) Grazie @gung Non sono uno statistico e ho trovato difficoltà a difenderlo anche se so che è corretto. Lo trovo particolarmente difficile perché 1) questo post molto buono e spesso citato non entra in molti dettagli citabili e .... (ctd)
bobmcpop

2
(ctd) e 2) i critici di stepwise sembrano spesso farlo per selezionare da un gran numero di variabili o data mining. Nel mondo biomedico, i calcoli delle dimensioni del campione spesso tengono conto del numero di covariate attese, in modo che i modelli completi non siano mai così grandi per cominciare e ogni var abbia già qualche motivo "biologico" precedente da includere. Ritieni che lo stepwise non dovrebbe ugualmente essere usato in queste circostanze?
bobmcpop,

3
Faccio consulenza statistica per la ricerca biomedica. Non uso per gradi. Non ho avuto molte persone chiedono (potrebbero presumere che lo userei solo se aiutasse il loro progetto), ma quando le persone chiedono dico loro che non è valido e ne parlo.
gung - Ripristina Monica

Risposte:


11

Non sono a conoscenza di situazioni in cui la regressione graduale sarebbe l'approccio preferito. Potrebbe andare bene (in particolare nella sua versione step-down a partire dal modello completo) con il bootstrap dell'intero processo graduale su set di dati estremamente grandi con . Qui è il numero di osservazioni in un risultato continuo (o il numero di record con un evento nell'analisi di sopravvivenza) è il numero di predittori candidati incluse tutte le interazioni considerate - vale a dire quando qualsiasi effetto anche piccolo diventa molto chiaro e non importa in che modo costruisci il tuo modello (ciò significherebbe che sarebbe molto più grande di rispetto a sostanzialmente più del fattore a volte citato di 20).n p n pn>>pnpnp

Naturalmente il motivo per cui molte persone sono tentate di fare qualcosa come la regressione graduale è,

  1. perché non è intensivo dal punto di vista computazionale (se non si esegue il bootstrap corretto, ma i risultati sono piuttosto inaffidabili),
  2. perché fornisce un chiaro taglio "è nel modello" contro "non è nel modello" istruzioni (che sono molto inaffidabili nella regressione graduale standard; qualcosa che il bootstrap corretto renderà di solito chiaro in modo che queste dichiarazioni di solito non siano così chiare) e
  3. perché spesso è più piccolo, vicino o solo un po 'più grande di .pnp

Vale a dire un metodo come la regressione graduale (se avesse buone caratteristiche operative) sarebbe particolarmente attraente in quelle situazioni, quando non ha buone caratteristiche operative.


3
(+1) Anche i metodi graduali e correlati possono essere appropriati per i modelli predittivi in ​​situazioni ad ago nel pagliaio, quando molti coefficienti sono trascurabili e solo pochi grandi rispetto alla varianza dell'errore. Vedi Esempio 3 di Tibshirani (1996), Restringimento e selezione della regressione tramite il Lazo , JRSS B , 58 , 1 - anche se anche qui vince la garotta non negativa.
Scortchi - Ripristina Monica

3
Non riesco proprio a capire l'ultimo paragrafo. Forse potrebbe essere riformulato? Inoltre, che dire di 3 .: Non vedo un argomento diretto, forse qualcosa dovrebbe essere facile inferire lì?
Richard Hardy,

1
Per chiarire l'ultimo paragrafo e (3): le persone usano in modo graduale a causa di (3) (cioè per evitare situazioni in cui è difficile adattarsi al modello completo o porta a ), ma è esattamente quando sarà un metodo terribile . Lo usano, perché non è intensivo dal punto di vista computazionale, ma per ottenere qualcosa di utile, devi fare un bootstrap esteso (quindi non è nemmeno un vantaggio). E lo usano, perché sembra dare una chiara interpretazione, ma se fatto correttamente non è così chiaro e vedi quanta incertezza del modello c'è (chiara interpretazione = un'illusione). pn
Björn,

11

Sono due casi in cui non vorrei obiettare a vedere una regressione graduale

  1. Analisi dei dati esplorativi
  2. Modelli predittivi

In entrambi questi casi d'uso molto importanti, non sei così preoccupato per l'inferenza statistica tradizionale, quindi il fatto che i valori p, ecc., Non siano più validi è di scarsa preoccupazione.

Ad esempio, se un documento di ricerca dicesse "Nel nostro studio pilota, abbiamo usato la regressione graduale per trovare 3 variabili interessanti su 1000. In uno studio di follow-up con nuovi dati, abbiamo mostrato che queste 3 variabili interessanti erano fortemente correlate con il risultato di interesse ", non avrei alcun problema con l'uso della regressione graduale. Allo stesso modo, "Abbiamo usato la regressione graduale per costruire un modello predittivo. Questo modello alternativo X preformato nel nostro set di dati di controllo per quanto riguarda MSE" è del tutto perfetto anche per me.

Per essere chiari, non sto dicendo che la regressione graduale sia il modo migliore per affrontare questi problemi. Ma è facile e può darti soluzioni soddisfacenti.

MODIFICARE:

Nei commenti, c'è una domanda se l'AIC graduale può effettivamente essere utile per la previsione. Ecco una simulazione che mostra che sta facendo molto meglio della regressione lineare con tutte le covariate e reti quasi elastiche con la penalità scelta dalla validazione incrociata.

Non prenderei questa simulazione come fine della discussione; non è troppo difficile inventare uno scenario in cui l'AIC graduale preformerà peggio. Ma non è davvero uno scenario irragionevole, ed esattamente il tipo di situazione per cui sono progettate le reti elastiche (alta correlazione delle covariate con pochissimi effetti di grandi dimensioni)!

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!!

Nota a margine:

Non sono davvero un fan della regressione graduale per molte, molte ragioni, quindi mi sento un po 'imbarazzante aver preso questa posizione in difesa di essa. Ma penso semplicemente che sia importante essere precisi su cosa non mi piace.


2
In quali altri scenari è comunemente usato (nella letteratura biomedica) tranne quelle due indicazioni? Mi sono imbattuto solo nel suo uso per modelli predittivi, ma non è consigliato ad es .
bobmcpop,

5
@bobmcpop: il grosso problema sta nell'utilizzare valori p, intervalli di confidenza, dopo regressione graduale, come menzionato nel documento che hai citato. I modelli utilizzati esclusivamente per la previsione (non solo i modelli con predittori) generalmente non si preoccupano dei valori di p, ma piuttosto di quanto si riduce l'errore fuori dal campione.
Cliff AB,

1
@Björn: beh, come ho detto alla fine, non penso che sia generalmente il metodo migliore per farlo con qualsiasi mezzo. Ma non è valido, e si può finire con risultati ragionevoli. In quanto tale, la sua forza è davvero quanto sia facile da usare: se hai un modello che prende covariate e restituisce probabilità, puoi fare AIC passo-passo. Potresti essere in grado di fare meglio con qualcosa come LASSO ... ma potresti non farlo se si tratta di un nuovo modello di fantasia o stai usando Excel.
Cliff AB,

4
(+1) Avrei detto che glmnet è stato progettato per affrontare questo tipo di situazione, tra gli altri, nel suo passo (che sembra); mentre i metodi di selezione dei predittori senza contrazione sono particolarmente in sintonia con esso. Potrebbe essere interessante confrontare gli approcci quando ci sono "effetti affusolati" piuttosto che alcuni grandi e molti piccoli.
Scortchi - Ripristina Monica

2
Ho modificato il tuo codice per renderlo più facile da leggere e più facile da copiare e incollare in un file di codice o console. Spero vi piaccia. In caso contrario, ripristinalo con le mie scuse.
gung - Ripristina Monica
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.