Was ist der Unterschied zwischen logit-transformierter linearer Regression, logistischer Regression und einem logistischen gemischten Modell?

10

Angenommen, ich habe 10 Schüler, die jeweils versuchen, 20 mathematische Probleme zu lösen. Die Probleme werden richtig oder falsch bewertet (in Langdaten) und die Leistung jedes Schülers kann durch ein Genauigkeitsmaß (in Unterdaten) zusammengefasst werden. Die folgenden Modelle 1, 2 und 4 scheinen unterschiedliche Ergebnisse zu liefern, aber ich verstehe, dass sie dasselbe tun. Warum produzieren sie unterschiedliche Ergebnisse? (Ich habe Modell 3 als Referenz beigefügt.)

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
quelle
Ich habe auch versucht, Beta-Regression, aber eine Fehlermeldung ... library(betareg) model5 = betareg(acc~scale(iq),subjdata)
user20061
library(car)ist für die Logit-Funktion notwendig.
user20061
1
Es kann Ihnen helfen, zwei meiner Antworten auf verwandte Fragen zu lesen: Unterschied zwischen Logit- und Probit-Modellen (in denen Link-Funktionen und GLiMs im Allgemeinen behandelt werden - ein Kommentar am Ende befasst sich speziell mit Ihren 1 und 3) und Unterschied zwischen verallgemeinerten linearen Modellen & verallgemeinerte lineare gemischte Modelle (in denen erläutert wird, wie sich Ihre 4 von 1 & 3 unterscheidet).
Gung - Reinstate Monica

Antworten:

15

Die Modelle 1 und 2 unterscheiden sich, da das erste die Antwort und das zweite den erwarteten Wert transformiert.

Für Modell 1 ist das Protokoll jeder Antwort normalverteilt mit seinem Mittelwert eine lineare Funktion der Prädiktor- und Koeffizientenvektoren sein. & daher Für Modell 2 ist die Antwort selbst normal verteilt wobei der Logit seines Mittelwerts eine lineare Funktion des Prädiktors und der Koeffizientenvektoren logit & daher

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

Die Varianzstruktur wird also unterschiedlich sein. Stellen Sie sich eine Simulation aus Modell 2 vor: Die Varianz ist unabhängig vom erwarteten Wert. & obwohl die erwarteten Werte der Antworten zwischen 0 und 1 liegen, werden nicht alle Antworten sein.

Verallgemeinerte lineare gemischte Modelle wie Ihr Modell 4 unterscheiden sich wieder, da sie zufällige Effekte enthalten: siehe hier und hier .

Scortchi - Monica wieder einsetzen
quelle
Vielen Dank - dies unterscheidet Modell 1 und Modell 2 sehr deutlich. Ihre Argumentation, dass Modell 2 einige Genauigkeitswerte (obwohl nicht deren erwartete Werte) außerhalb von [0,1] vorhersagt, ist besonders hilfreich (und disqualifiziert sie für meine Zwecke ). Ich glaube, dass eine ähnliche Intuition gegen Modell 1 verwendet werden kann: Der Bereich möglicher vorhergesagter Genauigkeitswerte fällt in (0,1) nicht [0,1]. Bei einer begrenzten Anzahl von Fragen sollte ein Modell einige Genauigkeitswerte mit 0 oder 1 vorhersagen, und eine Binomialverteilung kann genau das tun.
user20061
2
Beachten Sie, dass Sie normalerweise das binomische GLM mit Logit-Link gegen Rohdaten (Ihre longdata)
anpassen sollten
7

+1 an @Scortchi, der eine sehr klare und präzise Antwort gegeben hat. Ich möchte einige ergänzende Punkte ansprechen. Zunächst geben Sie für Ihr zweites Modell an, dass Ihre Antwortverteilung Gauß (auch bekannt als normal) ist. Dies muss falsch sein, da jede Antwort als richtig oder falsch bewertet wird. Das heißt, jede Antwort ist ein Bernoulli-Prozess. Daher ist Ihre Antwortverteilung ein Binomial. Diese Idee spiegelt sich auch in Ihrem Code genau wider. Als nächstes wird die Wahrscheinlichkeit, die die Antwortverteilung regelt, normal verteilt, daher sollte die Verknüpfung probit und nicht logit sein. Wenn dies eine reale Situation wäre, müssten Sie zufällige Effekte sowohl für Themen als auch für Fragen berücksichtigen, da es äußerst unwahrscheinlich ist, dass sie identisch sind. Die Art und Weise, wie Sie diese Daten generiert haben, ist der einzig relevante Aspekt jeder Person ihr IQ. die Sie explizit berücksichtigt haben. Somit bleibt nichts übrig, was durch einen zufälligen Effekt im Modell berücksichtigt werden muss. Dies gilt auch für die Fragen, da zufällige Variationen der Schwierigkeitsgrade nicht Teil des Datengenerierungsprozesses in Ihrem Code sind.

Ich will hier nicht pingelig sein. Ich erkenne, dass Ihr Setup lediglich dazu dient, Ihre Frage zu erleichtern, und es hat diesen Zweck erfüllt. @Scortchi konnte Ihre Fragen mit minimalem Aufwand sehr direkt beantworten. Ich weise jedoch auf diese Dinge hin, weil sie zusätzliche Möglichkeiten bieten, die Situation zu verstehen, mit der Sie sich auseinandersetzen, und weil Sie möglicherweise nicht bemerkt haben, dass Ihr Code mit einigen Teilen Ihrer Handlung übereinstimmt, andere jedoch nicht.

gung - Monica wieder einsetzen
quelle
Vielen Dank für diese sorgfältigen Gedanken zu meinem Code. Als jemand, der mit empirischen Daten arbeitet, bin ich stolz zu sagen, dass ich keine Erfahrung in der Generierung gefälschter Daten habe, und dies zeigt sich hier in den von Ihnen festgestellten Mängeln. Obwohl sich mein Anfängerverständnis auch offenbaren kann.
user20061
Danke Gung, diese zusätzlichen Informationen waren nützlich und helfen anderen (zumindest mir), die ganze Situation ein bisschen besser zu verstehen. Es ist schwierig, den GLM-Ansatz in den Griff zu bekommen.
Christopher Poile