@ गंग के जवाब के अलावा, मैं एक उदाहरण प्रदान करने की कोशिश करूंगा कि anova
फ़ंक्शन वास्तव में क्या परीक्षण करता है। मुझे आशा है कि यह आपको यह तय करने में सक्षम बनाता है कि परीक्षण में आपकी रुचि के लिए कौन से परीक्षण उपयुक्त हैं।
मान लेते हैं कि आपके पास एक परिणाम और 3 भविष्यसूचक चर हैं: , , और । अब, यदि आपका लॉजिस्टिक रिग्रेशन मॉडल होगा । जब आप चलते हैं , तो फ़ंक्शन निम्नलिखित मॉडलों की तुलना क्रम में करता है:yएक्स1एक्स2एक्स3my.mod <- glm(y~x1+x2+x3, family="binomial")
anova(my.mod, test="Chisq")
glm(y~1, family="binomial")
बनाम glm(y~x1, family="binomial")
glm(y~x1, family="binomial")
बनाम glm(y~x1+x2, family="binomial")
glm(y~x1+x2, family="binomial")
बनाम glm(y~x1+x2+x3, family="binomial")
इसलिए यह क्रमिक रूप से प्रत्येक चरण में एक चर जोड़कर अगले अधिक जटिल मॉडल के साथ छोटे मॉडल की तुलना करता है। उन तुलनाओं में से प्रत्येक एक संभावना अनुपात परीक्षण (LR परीक्षण; नीचे उदाहरण देखें) के माध्यम से किया जाता है । मेरी जानकारी के लिए, इन परिकल्पनाओं में शायद ही कोई दिलचस्पी हो, लेकिन यह आपको तय करना होगा।
यहाँ एक उदाहरण है R
:
mydata <- read.csv("https://stats.idre.ucla.edu/stat/data/binary.csv")
mydata$rank <- factor(mydata$rank)
my.mod <- glm(admit ~ gre + gpa + rank, data = mydata, family = "binomial")
summary(my.mod)
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) -3.989979 1.139951 -3.500 0.000465 ***
gre 0.002264 0.001094 2.070 0.038465 *
gpa 0.804038 0.331819 2.423 0.015388 *
rank2 -0.675443 0.316490 -2.134 0.032829 *
rank3 -1.340204 0.345306 -3.881 0.000104 ***
rank4 -1.551464 0.417832 -3.713 0.000205 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
# The sequential analysis
anova(my.mod, test="Chisq")
Terms added sequentially (first to last)
Df Deviance Resid. Df Resid. Dev Pr(>Chi)
NULL 399 499.98
gre 1 13.9204 398 486.06 0.0001907 ***
gpa 1 5.7122 397 480.34 0.0168478 *
rank 3 21.8265 394 458.52 7.088e-05 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
# We can make the comparisons by hand (adding a variable in each step)
# model only the intercept
mod1 <- glm(admit ~ 1, data = mydata, family = "binomial")
# model with intercept + gre
mod2 <- glm(admit ~ gre, data = mydata, family = "binomial")
# model with intercept + gre + gpa
mod3 <- glm(admit ~ gre + gpa, data = mydata, family = "binomial")
# model containing all variables (full model)
mod4 <- glm(admit ~ gre + gpa + rank, data = mydata, family = "binomial")
anova(mod1, mod2, test="LRT")
Model 1: admit ~ 1
Model 2: admit ~ gre
Resid. Df Resid. Dev Df Deviance Pr(>Chi)
1 399 499.98
2 398 486.06 1 13.92 0.0001907 ***
anova(mod2, mod3, test="LRT")
Model 1: admit ~ gre
Model 2: admit ~ gre + gpa
Resid. Df Resid. Dev Df Deviance Pr(>Chi)
1 398 486.06
2 397 480.34 1 5.7122 0.01685 *
anova(mod3, mod4, test="LRT")
Model 1: admit ~ gre + gpa
Model 2: admit ~ gre + gpa + rank
Resid. Df Resid. Dev Df Deviance Pr(>Chi)
1 397 480.34
2 394 458.52 3 21.826 7.088e-05 ***
पीsummary(my.mod)
- गुणांक के लिए
x1
: glm(y~x2+x3, family="binomial")
बनाम
glm(y~x1+x2+x3, family="binomial")
- गुणांक के लिए
x2
: glm(y~x1+x3, family="binomial")
बनामglm(y~x1+x2+x3, family="binomial")
- गुणांक के लिए
x3
: glm(y~x1+x2, family="binomial")
बनामglm(y~x1+x2+x3, family="binomial")
तो सभी गुणांक वाले पूर्ण मॉडल के खिलाफ प्रत्येक गुणांक। वाल्ड परीक्षण संभावना अनुपात परीक्षण का एक अनुमान है। हम संभावना अनुपात परीक्षण (LR परीक्षण) भी कर सकते हैं। यहां कैसे:
mod1.2 <- glm(admit ~ gre + gpa, data = mydata, family = "binomial")
mod2.2 <- glm(admit ~ gre + rank, data = mydata, family = "binomial")
mod3.2 <- glm(admit ~ gpa + rank, data = mydata, family = "binomial")
anova(mod1.2, my.mod, test="LRT") # joint LR test for rank
Model 1: admit ~ gre + gpa
Model 2: admit ~ gre + gpa + rank
Resid. Df Resid. Dev Df Deviance Pr(>Chi)
1 397 480.34
2 394 458.52 3 21.826 7.088e-05 ***
anova(mod2.2, my.mod, test="LRT") # LR test for gpa
Model 1: admit ~ gre + rank
Model 2: admit ~ gre + gpa + rank
Resid. Df Resid. Dev Df Deviance Pr(>Chi)
1 395 464.53
2 394 458.52 1 6.0143 0.01419 *
anova(mod3.2, my.mod, test="LRT") # LR test for gre
Model 1: admit ~ gpa + rank
Model 2: admit ~ gre + gpa + rank
Resid. Df Resid. Dev Df Deviance Pr(>Chi)
1 395 462.88
2 394 458.52 1 4.3578 0.03684 *
पीsummary(my.mod)
rank
anova(my.mod, test="Chisq")
rank
anova(mod1.2, my.mod, test="Chisq")
पी7.088 ⋅ 10- 5rank