Quelle est la différence entre la régression linéaire transformée logit, la régression logistique et un modèle mixte logistique?

10

Supposons que j'ai 10 élèves qui tentent chacun de résoudre 20 problèmes mathématiques. Les problèmes sont notés correctement ou incorrectement (en données longues) et la performance de chaque élève peut être résumée par une mesure de précision (en sous-données). Les modèles 1, 2 et 4 ci-dessous semblent produire des résultats différents, mais je comprends qu'ils font la même chose. Pourquoi produisent-ils des résultats différents? (J'ai inclus le modèle 3 pour référence.)

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'))
user20061
la source
J'ai également essayé la régression bêta, mais j'ai eu une erreur ... library(betareg) model5 = betareg(acc~scale(iq),subjdata)
user20061
library(car)est nécessaire pour la fonction logit.
user20061
1
Cela peut vous aider à lire deux de mes réponses à des questions connexes: Différence entre les modèles logit et probit (qui traite des fonctions de liaison et des GLiM en général - un commentaire à la fin traite spécifiquement de vos 1 et 3), et Différence entre les modèles linéaires généralisés & modèles mixtes linéaires généralisés (qui expliquent en quoi votre 4 est différent de 1 et 3).
gung - Rétablir Monica

Réponses:

15

Les modèles 1 et 2 sont différents car le premier transforme la réponse et le second transforme sa valeur attendue.

Pour le modèle 1 le logit de chaque réponse est Normalement distribué avec sa moyenne étant une fonction linéaire du prédicteur et des vecteurs coefficients. & donc Pour le modèle 2, la réponse elle-même est normalement distribuée avec le logit de sa moyenne étant une fonction linéaire du prédicteur et des vecteurs coefficents & donc μ 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

La structure de la variance sera donc différente. Imaginez simuler à partir du modèle 2: la variance sera indépendante de la valeur attendue; & bien que les valeurs attendues des réponses soient comprises entre 0 et 1, les réponses ne le seront pas toutes.

Les modèles mixtes linéaires généralisés comme votre modèle 4 sont à nouveau différents car ils contiennent des effets aléatoires: voir ici et ici .

Scortchi - Réintégrer Monica
la source
Merci beaucoup - cela distingue très clairement le modèle 1 et le modèle 2. Votre raisonnement selon lequel le modèle 2 prédit que certains scores de précision (mais pas leurs valeurs attendues) sont en dehors de [0,1] est particulièrement utile (et le disqualifie pour mes besoins). ). Je crois qu'une intuition similaire peut être utilisée contre le modèle 1: sa gamme de scores de précision prédits possibles se situe entre (0,1) et non [0,1]. Avec un nombre limité de questions, un modèle devrait prédire que certains scores de précision seront 0 ou 1, et une distribution binomiale peut faire exactement cela.
user20061
2
Notez que vous devez généralement adapter le GLM binomial avec un lien logit aux données brutes (les vôtres longdata), et non aux proportions comme dans votre modèle 3.
Scortchi - Reinstate Monica
7

+1 à @Scortchi, qui a fourni une réponse très claire et concise. Je veux faire quelques remarques complémentaires. Premièrement, pour votre deuxième modèle, vous spécifiez que votre distribution de réponse est gaussienne (aka, normale). Cela doit être faux, car chaque réponse est notée comme correcte ou incorrecte. Autrement dit, chaque réponse est un procès Bernoulli. Ainsi, votre distribution de réponse est un binôme. Cette idée est également reflétée avec précision dans votre code. Ensuite, la probabilité qui régit la distribution des réponses est normalement distribuée, donc le lien doit être probit, pas logit. Enfin, s'il s'agissait d'une situation réelle, vous devriez tenir compte des effets aléatoires pour les sujets et les questions, car il est très peu probable qu'ils soient identiques. La façon dont vous avez généré ces données, le seul aspect pertinent de chaque personne est son QI, dont vous avez explicitement tenu compte. Ainsi, il ne reste rien qui doive être pris en compte par un effet aléatoire dans le modèle. Cela est également vrai pour les questions, car les variations aléatoires de la difficulté des questions ne font pas partie du processus de génération de données dans votre code.

Je ne veux pas être tatillonne ici. Je reconnais que votre configuration est simplement conçue pour faciliter votre question, et elle a atteint cet objectif; @Scortchi a pu répondre à vos questions très directement, avec un minimum de bruit. Cependant, je souligne ces choses parce qu'elles offrent des opportunités supplémentaires pour comprendre la situation avec laquelle vous vous débattez et parce que vous ne vous êtes peut-être pas rendu compte que votre code correspond à certaines parties de votre scénario mais pas à d'autres.

gung - Réintégrer Monica
la source
Merci pour ces réflexions si prudentes sur mon code. En tant que personne qui travaille avec des données empiriques, je suis fier de dire que je n'ai aucune expertise dans la génération de fausses données, et cela montre ici les lacunes que vous avez identifiées. Bien que mon niveau de compréhension novice puisse également se révéler.
user20061
Merci gung, ces informations supplémentaires ont été utiles et aident les autres (au moins moi) à mieux comprendre la situation. Il est difficile de maîtriser l'approche GLM.
Christopher Poile