Qual è la differenza tra regressione lineare trasformata logit, regressione logistica e un modello misto logistico?


10

Supponiamo che io abbia 10 studenti, ognuno dei quali tenta di risolvere 20 problemi di matematica. I problemi sono classificati come corretti o errati (in longdata) e le prestazioni di ogni studente possono essere riassunte da una misura di precisione (in subjdata). I modelli 1, 2 e 4 di seguito sembrano produrre risultati diversi, ma capisco che stanno facendo la stessa cosa. Perché stanno producendo risultati diversi? (Ho incluso il modello 3 per riferimento.)

library(lme4)

set.seed(1)
nsubjs=10
nprobs=20
subjdata = data.frame('subj'=rep(1:nsubjs),'iq'=rep(seq(80,120,10),nsubjs/5))
longdata = subjdata[rep(seq_len(nrow(subjdata)), each=nprobs), ]
longdata$correct = runif(nsubjs*nprobs)<pnorm(longdata$iq/50-1.4)
subjdata$acc = by(longdata$correct,longdata$subj,mean)
model1 = lm(logit(acc)~iq,subjdata)
model2 = glm(acc~iq,subjdata,family=gaussian(link='logit'))
model3 = glm(acc~iq,subjdata,family=binomial(link='logit'))
model4 = lmer(correct~iq+(1|subj),longdata,family=binomial(link='logit'))

Ho anche provato la regressione beta, ma ho avuto un errore ... library(betareg) model5 = betareg(acc~scale(iq),subjdata)
user20061

library(car)è necessario, per la funzione logit.
user20061

1
Può aiutarti a leggere due delle mie risposte a domande correlate: Differenza tra i modelli logit e probit (che discute le funzioni di collegamento e GLiM in generale - un commento alla fine si rivolge in modo specifico ai tuoi 1 e 3), e Differenza tra modelli lineari generalizzati e modelli misti lineari generalizzati (che illustrano come il tuo 4 è diverso da 1 e 3).
gung - Ripristina Monica

Risposte:


15

I modelli 1 e 2 sono diversi perché il primo trasforma la risposta e il secondo trasforma il valore atteso.

Per il Modello 1 il logit di ogni risposta è normalmente distribuito con la sua media essendo una funzione lineare del predittore e dei vettori coerenti. e quindi Per il modello 2 la risposta stessa è normalmente distribuita con il logit della sua media essendo una funzione lineare del predittore e vettori coerenti e quindi μ i = x i β Y i = logit - 1 ( x i β + ε i ) Y iN ( μ i , σ 2 ) logit μ i = x i β Y i = logit - 1 ( x

logitYiN(μi,σ2)
μi=xiβ
Yi=logit1(xiβ+εi)
YiN(μi,σ2)
logitμi=xiβ
Yi=logit1(xiβ)+εi

Quindi la struttura della varianza sarà diversa. Immagina di simulare dal Modello 2: la varianza sarà indipendente dal valore atteso; e sebbene i valori previsti delle risposte siano compresi tra 0 e 1, le risposte non saranno tutte.

I modelli misti lineari generalizzati come il tuo Modello 4 sono di nuovo diversi perché contengono effetti casuali: vedi qui e qui .


Grazie mille: questo distingue chiaramente il modello 1 e il modello 2. Il tuo ragionamento secondo cui il modello 2 prevede che alcuni punteggi di precisione (sebbene non i loro valori previsti) siano al di fuori [0,1] è particolarmente utile (e lo squalifica per i miei scopi ). Credo che un'intuizione simile possa essere usata contro il modello 1: la sua gamma di possibili punteggi di precisione previsti ricade in (0,1) non [0,1]. Con un numero limitato di domande, un modello dovrebbe prevedere che alcuni punteggi di precisione siano 0 o 1 e una distribuzione binomiale può fare proprio questo.
user20061

2
Nota che di solito dovresti adattare il GLM binomiale con collegamento logit a dati grezzi (i tuoi longdata), non alle proporzioni come nel tuo Modello 3.
Scortchi - Ripristina Monica

7

+1 a @Scortchi, che ha fornito una risposta molto chiara e concisa. Voglio fare un paio di punti complementari. Innanzitutto, per il tuo secondo modello, stai specificando che la tua distribuzione di risposta è gaussiana (aka, normale). Questo deve essere falso, perché ogni risposta è valutata come corretta o errata. Cioè, ogni risposta è un processo a Bernoulli. Pertanto, la distribuzione della risposta è un binomio. Questa idea si riflette accuratamente anche nel tuo codice. Successivamente, la probabilità che governa la distribuzione della risposta è normalmente distribuita, quindi il collegamento dovrebbe essere probit, non logit. Infine, se questa fosse una situazione reale, dovresti tenere conto degli effetti casuali sia per i soggetti che per le domande, poiché è estremamente improbabile che siano identici. Il modo in cui hai generato questi dati, l'unico aspetto rilevante di ogni persona è il loro QI, di cui hai spiegato esplicitamente. Pertanto, non è rimasto nulla che debba essere giustificato da un effetto casuale nel modello. Questo vale anche per le domande, poiché le variazioni casuali nella difficoltà della domanda non fanno parte del processo di generazione dei dati nel codice.

Non intendo essere pignolo qui. Riconosco che la tua configurazione è semplicemente progettata per facilitare la tua domanda e ha servito a tale scopo; @Scortchi è stato in grado di rispondere alle tue domande in modo molto diretto, con il minimo sforzo. Tuttavia, sottolineo queste cose perché offrono ulteriori opportunità per capire la situazione che stai affrontando e perché potresti non aver capito che il tuo codice corrisponde ad alcune parti della trama ma non ad altre.


Grazie per pensieri così attenti sul mio codice. Come qualcuno che lavora con dati empirici, sono orgoglioso di dire che non ho esperienza nella generazione di dati falsi, e questo mostra qui nelle carenze che hai identificato. Anche se, il mio livello di comprensione per principianti potrebbe anche rivelarsi.
user20061

Grazie, quell'informazione extra è stata utile e aiuta gli altri (almeno io) a capire un po 'meglio l'intera situazione. Conoscere l'approccio GLM è difficile.
Christopher Poile,
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.