Regressione di residui di regressione logistica su altri regressori


9

Con la regressione OLS applicata alla risposta continua, si può costruire l'equazione di regressione multipla eseguendo sequenzialmente le regressioni dei residui su ciascuna covariata. La mia domanda è: c'è un modo per farlo con la regressione logistica tramite i residui della regressione logistica ?

Cioè, se voglio stimare usando l'approccio di modellazione lineare generalizzata standard, c'è un modo per eseguire la regressione logistica contro x e ottenere pseudo-residui R_1 , quindi regredire R_1 su z per ottenere uno stimatore imparziale dei coefficienti di regressione logistica. Sarebbero apprezzati riferimenti a libri di testo o letteratura.Pr(Y=1|x,z)xR1R1z


La mia ipotesi è che questo non funzionerà per lo stesso motivo per cui REML non si estende ai GLM; la magia dei minimi quadrati è persa. Mi chiedo se funzionerebbe in un contesto completamente bayesiano in cui hai campionato la variabile latente come parte della sim. Il motivo per cui volevo farlo era in modo da poter eseguire glmnet su diverse classi di variabili e ottenere diverse quantità di regolarizzazione per le classi - ovviamente ci sono altri modi per ottenere questo effetto.
Ben Ogorek,

È molto simile all'utilizzo di un algoritmo di adattamento per la regressione logistica?
usεr11852,

L'ho menzionato in un commento qui sotto, ma in molte implementazioni è possibile passare una previsione "base" (parametro offset in glmnet), quindi forse questo sarebbe possibile dopo aver regredito le variabili dipendenti. @BenOgorek vuoi aggiungere lo scopo nel testo principale
seanv507

@ seanv507 Sono preoccupato che l'aggiunta nella parte di regolarizzazione aumenterebbe troppo l'ambito, soprattutto ora che ci sono alcune buone risposte di seguito. Dopo aver concluso queste domande e risposte, creerò una domanda separata in cui offset potrebbe davvero essere nostro amico.
Ben Ogorek,

Questa non è una risposta ma non ho abbastanza reputazione per commentare. La domanda è di regredire il residuo sull'altro regressore (cioè predittori ) piuttosto che regredire il residuo sui residui . Sono confuso dalle risposte.
T Wu

Risposte:


3

Nella regressione lineare multipla standard, la capacità di adattare le stime dei minimi quadrati (OLS) in due fasi deriva dal teorema di Frisch – Waugh – Lovell . Questo teorema mostra che la stima di un coefficiente per un particolare predittore in un modello lineare multiplo è uguale alla stima ottenuta regredendo i residui di risposta (residui di una regressione della variabile di risposta rispetto alle altre variabili esplicative) rispetto ai residui di predittore (residui da una regressione della variabile predittore rispetto alle altre variabili esplicative). Evidentemente, stai cercando un'analogia con questo teorema che può essere usato in un modello di regressione logistica.

Per questa domanda, è utile ricordare la caratterizzazione variabile latente della regressione logistica :

Yi=I(Yi>0)Yi=β0+βXxi+βZzi+εiεiIID Logistic(0,1).

In questa caratterizzazione del modello, la variabile di risposta latente non è osservabile, e invece osserviamo l'indicatore che ci dice se la risposta latente è positiva. Questa forma del modello è simile alla regressione lineare multipla, tranne per il fatto che utilizziamo una distribuzione dell'errore leggermente diversa (la distribuzione logistica invece della distribuzione normale) e, cosa più importante, osserviamo solo un indicatore che mostra se la risposta latente è positiva .YiYi

Ciò crea un problema per qualsiasi tentativo di creare un adattamento in due passaggi del modello. Questo teorema di Frisch-Waugh-Lovell dipende dalla capacità di ottenere residui intermedi per la risposta e il predittore di interesse, confrontati con le altre variabili esplicative. Nel caso presente, possiamo ottenere solo residui da una variabile di risposta "classificata". La creazione di un processo di adattamento in due fasi per la regressione logistica richiederebbe l'utilizzo di residui di risposta da questa variabile di risposta categorizzata, senza accesso alla risposta latente sottostante. Questo mi sembra un grosso ostacolo e, sebbene non si riveli impossibile, sembra improbabile che sia possibile adattare il modello in due fasi.

Di seguito ti darò un resoconto di ciò che sarebbe necessario per trovare un processo in due fasi per adattarsi a una regressione logistica. Non sono sicuro se esiste una soluzione a questo problema o se esiste una prova di impossibilità, ma il materiale qui dovrebbe portarti in qualche modo verso la comprensione di ciò che è richiesto.


Come sarebbe una regressione logistica in due fasi? Supponiamo di voler costruire un adattamento in due fasi per un modello di regressione logistica in cui i parametri sono stimati mediante la stima della massima verosimiglianza in ogni fase. Vogliamo che il processo comporti un passaggio intermedio che si adatti ai seguenti due modelli:

Yi=I(Yi>0)Yi=α0+αXxi+τiτiIID Logistic(0,1),  Zi=γ0+γXxi+δiδiIID g.

Stimiamo i coefficienti di questi modelli (tramite MLE) e questo produce valori adattati intermedi . Quindi, nel secondo passaggio, inseriamo il modello:α^0,α^X,γ^0,γ^X

Yi=logistic(α^0+α^1xi)+βZ(ziγ^0γ^Xxi)+ϵiϵiIID f.

Come specificato, la procedura ha un sacco di elementi fissi, ma la funzioni di densità ed in questi passaggi sono lasciato non specificato (se dovrebbero essere distribuzioni a media nulla che non dipendono dai dati). Per ottenere un metodo di montaggio in due fasi sotto questi vincoli bisogna scegliere ed per garantire che la SMV per in questo due fasi algoritmo modello-forma è la stessa come la SMV ottenuto dal modello di regressione logistica one-step sopra.gfgfβZ

Per vedere se questo è possibile, scriviamo prima tutti i parametri stimati dal primo passo:

y|x(α^0,α^X)=maxα0,αXi=1nlnBern(yi|logistic(α0+αXxi)),z|x(γ^0,γ^X)=maxγ0,γXi=1nlng(ziγ0γXxi).

Let modo che la funzione di probabilità logaritmica per il secondo passaggio sia:ϵi=yilogistic(α^0α^1xi)+βZ(ziγ^0γ^Xxi)

y|z|x(βZ)=i=1nlnf(yilogistic(α^0α^1xi)+βZ(ziγ^0γ^Xxi)).

Richiediamo che il valore massimo di questa funzione sia l'MLE del modello di regressione logistica multipla. In altre parole, richiediamo:

arg max βXy|z|x(βZ)=arg max βXmaxβ0,βZi=1nlnBern(yi|logistic(β0+βXxi+βZzi)).

Lascio ad altri la possibilità di determinare se esiste una soluzione a questo problema o una prova della mancanza di una soluzione. Sospetto che la "categorizzazione" della variabile di risposta latente in una regressione logistica renderà impossibile trovare un processo in due fasi.


1
Ciao @Ben, grazie per avermi insegnato sul teorema di Frisch – Waugh – Lovell. L'ho rovesciato sulla taglia - pensato "scaduto" significava che ha appena smesso di essere pubblicizzato. Mi dispiace per quello. Mi piace la tua idea basata sulla verosimiglianza. Potrebbe provarlo o qualcosa di simile e pubblicare qui sotto.
Ben Ogorek,

@ Ben Ogorek: nessuna preoccupazione per la generosità. Sono contento che la risposta abbia aiutato.
Ben - Ripristina Monica il

@ Ben Ogorek: (Per compensare i 25 punti di grazia persi, che svaniscono nell'etere, basta andare in giro per il sito e aumentare il voto ogni 3 risposte. Quindi il tuo karma viene ripristinato!)
Ben - Ripristina Monica

1
Fatto! (E li ho letti prima).
Ben Ogorek,

3

Potrei interpretare male la domanda. Dubito che tu possa costruire l'equazione di regressione lineare mediante regressione sui residui nel modo specificato da OP . Il metodo di OP funzionerebbe solo se i predittori fossero indipendenti l'uno dall'altro.

Per farlo funzionare, supponiamo che sia il vettore di risultato, sia la matrice del modello per i predittori già presenti nel modello e desideri includere . È necessario regredire il residuo della regressione di su rispetto al residuo della regressione di su per ottenere il coefficiente OLS per .yXx1yXx1Xx1

Ecco un semplice esempio:

set.seed(12345)
n <- 5000
x1 <- rnorm(n)
x2 <- .5 * x1 + rnorm(n) # Correlated predictors
y <- x1 + x2 + rnorm(n)

Modello adatto con OLS:

coef(lm(y ~ x1 + x2))
(Intercept)          x1          x2 
0.001653707 1.037426007 0.996259446 

Regressione sui residui:

coef(lm(residuals(lm(y ~ x1)) ~ x2))
(Intercept)          x2 
0.001219232 0.818774874 

Questo è sbagliato, devi adattarti:

coef(lm(residuals(lm(y ~ x1)) ~ residuals(lm(x2 ~ x1))))
           (Intercept) residuals(lm(x2 ~ x1)) 
         -6.707350e-17           9.962594e-01 

Che restituisce il giusto coefficiente per x2, questo si allinea alle differenze attese in y date le differenze in x2, mantenendo costante x1 (togliendolo da ye x1).

A parte questo, nella regressione logistica, sarebbe persino più problematico perché i coefficienti di regressione logistica soffrono di distorsioni variabili omesse anche in assenza di relazioni confuse, vedi qui e qui , quindi a meno che tutti i predittori del risultato non siano nel modello, non si può ottenere stime imparziali dei parametri reali della popolazione. Inoltre, non conosco alcun residuo del modello suscettibile di una seconda regressione logistica con tutti i valori compresi tra 0 e 1.

Alcuni riferimenti sulla regressione sui residui:

  • Maxwell, SE, Delaney, HD e Manheimer, JM (1985). Anova di residui e Ancova: correzione di un'illusione usando confronti di modelli e grafici. Journal of Educational Statistics, 10 (3), 197–209. Estratto da http://journals.sagepub.com/doi/pdf/10.3102/10769986010003197
  • Freckleton, RP (2002), Sull'abuso di residui in ecologia: regressione di residui vs. regressione multipla. Journal of Animal Ecology, 71 , 542-545. DOI: 10,1046 / j.1365-2656.2002.00618.x

Penso che i tuoi primi due paragrafi siano leggermente fuorvianti / poco chiari ... sarebbe meglio se tu iniziassi con il modo in cui fai effettivamente la "regressione lineare con i residui" .. (+ 1) e puoi trovarlo in elementi di apprendimento statistico ( regressione multipla dalla sottosezione delle singole regressioni?)
seanv507,

In molte implementazioni è possibile passare una previsione "base" (parametro offset in glmnet), quindi forse questo sarebbe possibile dopo la regressione dei parametri dipendenti
seanv507,

@ seanv507 L'ho già incluso nella mia risposta. È l'ultima dimostrazione di codice che ho. Non è possibile nel modo descritto da OP, regredendo i residui su un predittore. Ma potrei riscriverlo per mostrare il modo corretto dall'inizio se questo è ciò che intendi.
Heteroskedastic Jim

Sì, intendevo riscriverlo per mostrare il modo corretto dall'inizio,
seanv507

@ seanv507 non sai cosa intendi per poter passare una previsione di base? E regredire le variabili dipendenti?
Heteroskedastic Jim

1

Spero di non interpretare male la tua domanda, poiché la mia risposta cambierà in qualche modo la formulazione di come hai formulato il tuo argomento.

Penso che quello che stai cercando di fare sia costruire il tuo modello di regressione aggiungendo una variabile indipendente alla volta. E lo fai osservando quale variabile prospettica ha la più alta correlazione con il residuo della tua prima regressione tra Y e X1. Quindi, la variabile con la più alta correlazione con questo primo residuo sarà X2. Quindi, ora hai un modello con due variabili indipendenti X1 e X2. E continui questo esatto processo per selezionare X3, X4, ecc. Questo è un processo di avanzamento graduale.

Puoi fare esattamente la stessa cosa con la regressione logistica per il semplice motivo che la regressione logistica è praticamente una regressione OLS in cui la variabile dipendente è il registro di dispari (o logit). Ma se Y è un logit o meno non influisce sul processo di avanzamento graduale sopra menzionato.

OLS minimizza la somma degli errori quadrati per adattarsi ai dati effettivi. La regressione del logit utilizza un processo di massima verosimiglianza che genera un adattamento non molto diverso da OLS. E anche quello (il meccanismo di adattamento) non dovrebbe influire sul processo di avanzamento graduale che consente di costruire il modello di regressione multipla, sia che si tratti di una regressione OLS o di una regressione Logit.

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.