Modello lineare classico - selezione del modello


16

Ho un modello lineare classico, con 5 possibili regressori. Non sono correlati tra loro e hanno una correlazione piuttosto bassa con la risposta. Sono arrivato a un modello in cui 3 dei regressori hanno coefficienti significativi per la loro statistica t (p <0,05). L'aggiunta di una o entrambe le restanti 2 variabili fornisce valori p> 0,05 per la statistica t, per le variabili aggiunte. Questo mi porta a credere che il modello a 3 variabili sia "migliore".

Tuttavia, usando il comando anova (a, b) in R dove a è il modello con 3 variabili eb è il modello completo, il valore p per la statistica F è <0,05, il che mi dice di preferire il modello completo rispetto alla variabile 3 modello. Come posso conciliare queste apparenti contraddizioni?

Grazie PS Modifica: qualche ulteriore sfondo. Si tratta di compiti a casa, quindi non pubblicherò i dettagli, ma non ci vengono forniti dettagli di ciò che rappresentano i regressori: sono solo numerati da 1 a 5. Ci viene chiesto di "derivare un modello appropriato, fornendo giustificazione".


6
Un modello appropriato potrebbe essere inteso come un modello che utilizza efficacemente tutte le variabili predefinite (tenendo conto della non linearità, ecc.). Spero che il tuo istruttore capisca che la selezione graduale delle variabili non è valida. Pochi lo fanno.
Frank Harrell,

1
Ciao di nuovo e grazie. Ci scusiamo per tutto il avanti e indietro. Le istruzioni dicono anche "Non esiste necessariamente un modello" migliore "e non è necessario includere necessariamente tutti i predittori". Inoltre, non vi è collinearità o non linearità. In realtà, tutti e 5 i predittori sono generati da simulazioni indipendenti da una distribuzione normale. Di conseguenza, anche le correlazioni tra i predittori e la risposta sono piccole (la più grande è inferiore a 0,1). Francamente la mia intuizione dice che il modello "migliore" potrebbe essere solo la media del campione (r rettificato al quadrato è inferiore a 0,03)
P Sellaz,

@P Sellaz: dato che si tratta di compiti a casa usando dati simulati, il tuo intuito potrebbe aiutarti bene qui. Scrivi una spiegazione ben motivata per il tuo intuito.
Zach,

1
Non puoi andare dalla R2 in generale poiché quanto grande è grande dipende dal contesto. Ma a seconda di come la simulazione doveva essere eseguita, hai ragione nel dire che la media complessiva potrebbe essere ciò che è necessario.
Frank Harrell,

1
In generale è corretto che non si debbano includere tutti i predittori per fare un buon lavoro. Ma i dati non sono in grado di dirti quali predittori utilizzare.
Frank Harrell,

Risposte:


18

Il problema è iniziato quando hai cercato un modello ridotto e hai utilizzato i dati anziché la conoscenza dell'argomento per scegliere i predittori. La selezione graduale delle variabili senza lo shinkage simultaneo per penalizzare la selezione delle variabili, sebbene spesso utilizzata, è un approccio non valido. Molto è stato scritto su questo. Non vi è motivo di ritenere che il modello a 3 variabili sia "migliore" e non vi è motivo di non utilizzare l'elenco originale dei predittori predefiniti. I valori P calcolati dopo aver usato i valori P per selezionare le variabili non sono validi. Questo è stato chiamato "doppio tuffo" nella letteratura di imaging funzionale.

Ecco un'analogia. Supponiamo che uno sia interessato a confrontare 6 trattamenti, ma usi t-test a coppie per scegliere quali trattamenti sono "diversi", risultando in una serie ridotta di 4 trattamenti. L'analista quindi verifica una differenza complessiva con 3 gradi di libertà. Questo test F avrà un errore di tipo I gonfiato. Il test F originale con 5 df è abbastanza valido.

Vedere http://www.stata.com/support/faqs/stat/stepwise.html e per ulteriori informazioni.


1
Grazie per la tua risposta. Ho aggiunto una modifica alla domanda originale. Spero vada bene Qualsiasi ulteriore consiglio sarebbe il benvenuto.
P Sellaz,

6

Una risposta sarebbe "questo non può essere fatto senza conoscenza dell'argomento". Sfortunatamente, questo probabilmente ti darebbe una F per il tuo incarico. A meno che non fossi il tuo professore. Quindi otterrebbe una A.

Ma, data la tua affermazione che R2 è 0,03 e ci sono basse correlazioni tra tutte le variabili, sono perplesso che qualsiasi modello sia significativo. Che cos'è N? Immagino sia molto grande.

Poi c'è

tutti e 5 i predittori sono generati da simulazioni indipendenti da una distribuzione normale.

Bene, se lo SAPI (cioè il tuo istruttore ti ha detto) e se per "indipendente" intendi "non correlato al DV", allora sai che il modello migliore è uno senza predittori e la tua intuizione è corretta.


Ciao Peter, e grazie. N è 900. I dati sono stati tutti prodotti mediante simulazione. Lo so perché abbiamo dovuto fare noi stessi le simulatone. Dovrebbero rappresentare dati reali, per quanto riguarda questi compiti. Sono state condotte 100 simulazioni e le 5 con le maggiori correlazioni alla risposta (anche simulate ma solo una volta) sono state scelte come regressori candidati.
P Sellaz,

1
Basta essere sicuri che non si debba simulare alcuna connessione tra X e Y. Quindi, come altri hanno già detto, un modello di regressione è irrilevante e la media complessiva è sufficiente.
Frank Harrell,

1
Sì, sono completamente indipendenti. Abbiamo scelto i dati con le 5 maggiori correlazioni come regressori candidati, dai quali dobbiamo "derivare un modello appropriato, fornendo giustificazione" ma "non dobbiamo necessariamente includere tutti e 5 i predittori".
P Sellaz,

Sembra che il tuo professore sia a) completamente confuso oppure b) stia facendo qualcosa di abbastanza interessante. Difficile dire quale. Se lui / lei intendesse questo per mostrare il genere di cose che @FrankHarrell e io e gli altri abbiamo sottolineato, allora bene! (sarebbe b). OTOH, se intende che questa sia una regressione "reale", allora uh-oh è a).
Peter Flom - Ripristina Monica

1
Ti farò sapere quale è quando i documenti sono contrassegnati :)
P Sellaz,

4

Potresti provare a fare la validazione incrociata. Scegli un sottoinsieme del tuo campione, trova il modello "migliore" per quel sottoinsieme usando i test F o t, quindi applicalo al set completo di dati (la validazione incrociata completa può diventare più complicata di così, ma sarebbe un buon inizio). Questo aiuta ad alleviare alcuni dei problemi di test graduali.

Vedi una nota sulle equazioni di regressione di screening di David Freedman per una simpatica piccola simulazione di questa idea.


2

Mi piace molto il metodo utilizzato nel caretpacchetto: eliminazione delle funzionalità ricorsive. Puoi leggere di più al riguardo nella vignetta , ma ecco il processo di base: Selezione variabile

L'idea di base è quella di utilizzare un criterio (come le statistiche t) per eliminare le variabili non importanti e vedere come ciò migliora l'accuratezza predittiva del modello. Avvolgi il tutto in un ciclo di ricampionamento, come la convalida incrociata. Ecco un esempio, usando un modello lineare per classificare le variabili in un modo simile a quello che hai descritto:

#Setup
set.seed(1)
p1 <- rnorm(50)
p2 <- rnorm(50)
p3 <- rnorm(50)
p4 <- rnorm(50)
p5 <- rnorm(50)
y <- 4*rnorm(50)+p1+p2-p5

#Select Variables
require(caret)
X <- data.frame(p1,p2,p3,p4,p5)
RFE <- rfe(X,y, sizes = seq(1,5), rfeControl = rfeControl(
                    functions = lmFuncs,
                    method = "repeatedcv")
                )
RFE
plot(RFE)

#Fit linear model and compare
fmla <- as.formula(paste("y ~ ", paste(RFE$optVariables, collapse= "+")))
fullmodel <- lm(y~p1+p2+p3+p4+p5,data.frame(y,p1,p2,p3,p4,p5))
reducedmodel <- lm(fmla,data.frame(y,p1,p2,p3,p4,p5))
summary(fullmodel)
summary(reducedmodel)

In questo esempio, l'algoritmo rileva che ci sono 3 variabili "importanti", ma ne ottiene solo 2.

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.