Pertanyaan Anda, sebagaimana dinyatakan, telah dijawab oleh @ francium87d. Membandingkan penyimpangan residu terhadap distribusi chi-kuadrat yang tepat merupakan pengujian model yang dipasang terhadap model jenuh dan menunjukkan, dalam hal ini, kurangnya kecocokan yang signifikan.
Namun, mungkin membantu untuk melihat lebih teliti pada data dan model untuk memahami dengan lebih baik apa artinya model tersebut memiliki ketidakcocokan:
d = read.table(text=" age education wantsMore notUsing using
<25 low yes 53 6
<25 low no 10 4
<25 high yes 212 52
<25 high no 50 10
25-29 low yes 60 14
25-29 low no 19 10
25-29 high yes 155 54
25-29 high no 65 27
30-39 low yes 112 33
30-39 low no 77 80
30-39 high yes 118 46
30-39 high no 68 78
40-49 low yes 35 6
40-49 low no 46 48
40-49 high yes 8 8
40-49 high no 12 31", header=TRUE, stringsAsFactors=FALSE)
d = d[order(d[,3],d[,2]), c(3,2,1,5,4)]
library(binom)
d$proportion = with(d, using/(using+notUsing))
d$sum = with(d, using+notUsing)
bCI = binom.confint(x=d$using, n=d$sum, methods="exact")
m = glm(cbind(using,notUsing)~age+education+wantsMore, d, family=binomial)
preds = predict(m, new.data=d[,1:3], type="response")
windows()
par(mar=c(5, 8, 4, 2))
bp = barplot(d$proportion, horiz=T, xlim=c(0,1), xlab="proportion",
main="Birth control usage")
box()
axis(side=2, at=bp, labels=paste(d[,1], d[,2], d[,3]), las=1)
arrows(y0=bp, x0=bCI[,5], x1=bCI[,6], code=3, angle=90, length=.05)
points(x=preds, y=bp, pch=15, col="red")
Angka tersebut menggambarkan proporsi wanita yang diamati dalam setiap kelompok kategori yang menggunakan kontrasepsi, bersama dengan interval kepercayaan 95% yang tepat. Proporsi prediksi model disalut dengan warna merah. Kita dapat melihat bahwa dua proporsi yang diprediksi berada di luar 95% CI, dan anther lima berada di atau sangat dekat dengan batas masing-masing CI. Itu tujuh dari enam belas ( ) yang keluar dari target. Jadi prediksi model tidak cocok dengan data yang diamati dengan sangat baik. 44%
Bagaimana model ini bisa lebih cocok? Mungkin ada interaksi di antara variabel-variabel yang relevan. Mari kita tambahkan semua interaksi dua arah dan nilai kecocokan:
m2 = glm(cbind(using,notUsing)~(age+education+wantsMore)^2, d, family=binomial)
summary(m2)
# ...
# Null deviance: 165.7724 on 15 degrees of freedom
# Residual deviance: 2.4415 on 3 degrees of freedom
# AIC: 99.949
#
# Number of Fisher Scoring iterations: 4
1-pchisq(2.4415, df=3) # [1] 0.4859562
drop1(m2, test="LRT")
# Single term deletions
#
# Model:
# cbind(using, notUsing) ~ (age + education + wantsMore)^2
# Df Deviance AIC LRT Pr(>Chi)
# <none> 2.4415 99.949
# age:education 3 10.8240 102.332 8.3826 0.03873 *
# age:wantsMore 3 13.7639 105.272 11.3224 0.01010 *
# education:wantsMore 1 5.7983 101.306 3.3568 0.06693 .
Nilai p untuk kurangnya uji kelayakan untuk model ini sekarang adalah . Tetapi apakah kita benar-benar membutuhkan semua istilah interaksi ekstra itu? The perintah menunjukkan hasil tes model yang bersarang tanpa mereka. Interaksi antara dan tidak cukup signifikan, tetapi saya akan baik-baik saja dengan itu dalam model. Jadi mari kita lihat bagaimana prediksi dari model ini dibandingkan dengan data: 0.486drop1()
education
wantsMore
Ini tidak sempurna, tetapi kita tidak boleh berasumsi bahwa proporsi yang diamati adalah refleksi sempurna dari proses menghasilkan data yang benar. Bagi saya ini terlihat seperti mereka memantul di sekitar jumlah yang sesuai (lebih tepatnya bahwa data memantul di sekitar prediksi, saya kira).
glm
memberikan "penyimpangan residual" yang berbeda ketika data dikelompokkan dari ketika mereka tidak - & "penyimpangan nol" yang berbeda dalam hal ini.