สมมติว่าฉันมีนักเรียน 10 คนแต่ละคนพยายามแก้ปัญหาคณิตศาสตร์ 20 ข้อ ปัญหาคะแนนถูกต้องหรือไม่ถูกต้อง (ใน longdata) และประสิทธิภาพของนักเรียนแต่ละคนสามารถสรุปได้ด้วยการวัดความแม่นยำ (ใน subjdata) แบบจำลอง 1, 2 และ 4 ด้านล่างดูเหมือนจะให้ผลลัพธ์ที่แตกต่างกัน แต่ฉันเข้าใจว่าพวกเขากำลังทำสิ่งเดียวกัน ทำไมพวกเขาถึงให้ผลลัพธ์ที่แตกต่างกัน? (ฉันรวมโมเดล 3 ไว้สำหรับการอ้างอิง)
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'))
library(car)
จำเป็นสำหรับฟังก์ชัน logit
library(betareg)
model5 = betareg(acc~scale(iq),subjdata)