述べたように、あなたの質問は@ francium87dによって回答されました。適切なカイ2乗分布に対する残差の逸脱を比較することは、飽和モデルに対して近似モデルをテストすることを構成し、この場合、適合の大幅な欠如を示します。
それでも、モデルが適合していないことの意味をよりよく理解するには、データとモデルをより完全に調べることが役立つ場合があります。
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")
この図は、避妊を使用しているカテゴリの各セットで観察された女性の割合と正確な95%信頼区間をプロットしています。モデルの予測される比率は赤でオーバーレイされます。2つの予測された比率が95%CIの外側にあり、さらに5つがそれぞれのCIの限界にあるか非常に近いことがわかります。これは、目標から外れている16のうちの7()です。したがって、モデルの予測は、観測されたデータとあまり一致しません。 44%
モデルはどのように適合しますか?おそらく、関連する変数間の相互作用があります。すべての双方向の相互作用を追加して、適合を評価しましょう。
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 .
このモデルの適合性不足テストのp値は。しかし、これらすべての追加の相互作用項が本当に必要なのでしょうか?コマンドはそれらなしで、ネストされたモデル実験の結果を示しています。間の相互作用とは非常に重要ではありませんが、私はとにかくモデルではそれでいいと思い。それでは、このモデルの予測とデータの比較を見てみましょう。 0.486drop1()
education
wantsMore
これらは完全ではありませんが、観察された比率が実際のデータ生成プロセスを完全に反映しているとは限りません。これらは適切な量で跳ねているように見えます(より正確には、データが予測で跳ねていると思います)。