Quando trasformare le variabili predittive quando si esegue la regressione multipla?


10

Attualmente sto prendendo la mia prima classe di regressione lineare applicata a livello di laurea e sto lottando con le trasformazioni delle variabili predittive in regressione lineare multipla. Il testo che sto usando, Kutner et al "Modelli statistici lineari applicati" non sembra coprire la domanda che sto avendo. (oltre a suggerire che esiste un metodo Box-Cox per trasformare più predittori).

Di fronte a una variabile di risposta e diverse variabili predittive, quali condizioni si cerca di soddisfare con ciascuna variabile predittore? Capisco che alla fine stiamo cercando la costanza della varianza degli errori e degli errori normalmente distribuiti (almeno nelle tecniche che mi sono state insegnate finora.) Ho avuto molti esercizi di ritorno, dove la soluzione era, ad esempio y ~ x1 + (1/x2) + log(x3), in cui uno o più predittori sono stati trasformati.

Ho compreso la logica in base alla semplice regressione lineare, poiché era facile osservare y ~ x1 e la relativa diagnostica (grafici qq di residui, residui vs y, residui vs x, ecc.) E verificare se y ~ log ( x1) si adattano meglio ai nostri presupposti.

C'è un buon posto per iniziare a capire quando trasformare un predittore in presenza di molti predittori?

Grazie in anticipo. opaco

Risposte:


3

Prendo la tua domanda ad essere: come si fa a rilevare quando le condizioni che rendono le trasformazioni del caso esiste, piuttosto che ciò che le condizioni logiche sono . È sempre piacevole prenotare analisi dei dati con esplorazione, in particolare esplorazione grafica dei dati. (Possono essere condotti vari test, ma mi concentrerò sull'EDA grafica qui.)

I grafici della densità del kernel sono migliori degli istogrammi per una panoramica iniziale della distribuzione univariata di ogni variabile. Con più variabili, una matrice scatterplot può essere utile. Lowess è sempre consigliabile all'inizio. Questo ti darà una rapida occhiata se le relazioni sono approssimativamente lineari. Il pacchetto auto di John Fox combina utilmente questi:

library(car)
scatterplot.matrix(data)

Assicurati di avere le variabili come colonne. Se hai molte variabili, i singoli grafici possono essere piccoli. Massimizza la finestra della trama e i grafici a dispersione dovrebbero essere abbastanza grandi da scegliere i grafici che desideri esaminare singolarmente, quindi creare singoli grafici. Per esempio,

windows()
plot(density(X[,3]))
rug(x[,3])
windows()
plot(x[,3], y)
lines(lowess(y~X[,3]))

Dopo aver adattato un modello di regressione multipla, dovresti comunque tracciare e controllare i tuoi dati, proprio come con una semplice regressione lineare. I grafici QQ per i residui sono altrettanto necessari e potresti fare una matrice scatterplot dei tuoi residui contro i tuoi predittori, seguendo una procedura simile a quella precedente.

windows()
qq.plot(model$residuals)
windows()
scatterplot.matrix(cbind(model$residuals,X))

Se qualcosa sembra sospetto, traccialo individualmente e aggiungilo abline(h=0), come guida visiva. Se hai un'interazione, puoi creare una variabile X [, 1] * X [, 2] ed esaminare i residui rispetto a quello. Allo stesso modo, puoi creare un diagramma a dispersione di residui rispetto a X [, 3] ^ 2, ecc. Altri tipi di grafici diversi dai residui rispetto a x che ti piacciono possono essere eseguiti in modo simile. Tieni presente che tutti ignorano le altre x dimensioni che non vengono tracciate. Se i tuoi dati sono raggruppati (cioè da un esperimento), puoi creare grafici parziali anziché / in aggiunta a grafici marginali.

Spero che aiuti.


2
Incoraggerei un approccio più diretto: utilizzare le spline di regressione per modellare gli effetti dei predittori in modo da (1) non assumere la linearità e (2) stimare tutte le trasformazioni contemporaneamente. È simile alla regressione quadratica - l'aggiunta di un termine quadrato per tutti i predittori. Con spline cubiche ristrette, ad esempio, si aggiungono una o più funzioni di base non lineari al modello per ciascun predittore che non funziona in modo lineare.
Frank Harrell,

@Frank Mi piacciono spesso le spline cubiche con restrizioni. L'unico aspetto negativo è quello dell'interpretazione, che è un po 'complicato e spesso spegne i miei clienti. L'aggiunta di un termine polinomiale (dopo il centraggio) sembra essere più interpretabile
Peter Flom

Grazie a tutti per il contributo, lo apprezzo molto. Penso che mi stai dando troppo credito. La mia domanda è in realtà centrata su cosa cercare nei singoli predittori per sapere quando / se una trasformazione è applicabile. Ad esempio, se ho un modello strettamente additivo, con 3 predittori, come farei per determinare una trasformazione appropriata? Nel caso di più predittori, generalmente ci impegniamo per gli stessi principi che cerchiamo nella semplice regressione lineare? (ovvero residui favorevoli rispetto al diagramma previsto e qqplot dei residui).
Matt,

1
Le spline di regressione di Peter non sono molto più complesse della quadratica. Chi sa come interpretare il coefficiente di età quando l'età ^ 2 è comunque nel modello? E non vedo dove il centraggio aiuta. Interpreto la spline adattandola ai grafici, che piacciono ai miei collaboratori. Matt è quasi sempre necessaria una trasformazione. È solo una questione di adeguatezza delle dimensioni del campione per la stima di parametri sufficienti per adattarsi agli effetti non lineari. Le spline di regressione stimano direttamente le trasformazioni e portano a intervalli di confidenza appropriati che vengono penalizzati per "l'aspetto dei dati". I residui comportano un approccio indiretto.
Frank Harrell,

Siamo spiacenti, sto ancora imparando a pubblicare post qui. Per favore perdona. Per spiegare il mio ultimo commento: un esempio recente che ho analizzato in un testo ha avuto il modello risultante y ~ x1 + log (x2), e l'unica nota sulla trasformazione è "era evidente che x2 era adatto per una trasformazione logaritmica ". Sto cercando di migliorare il mio senso di quando le trasformazioni sono applicabili. È sufficiente guardare solo y ~ x_i grafici e procedere come nel caso del predittore singolo? Cos'altro dovrei considerare?
Matt
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.