निम्नलिखित स्पष्टीकरण लॉजिस्टिक प्रतिगमन तक सीमित नहीं है, लेकिन सामान्य रैखिक प्रतिगमन और अन्य GLM में समान रूप से लागू होता है। आमतौर पर Rश्रेणीबद्ध और गुणांक के एक स्तर को छोड़कर, प्रत्येक वर्ग के अंतर को इस संदर्भ वर्ग (या कभी-कभी आधार रेखा वर्ग) कहा जाता है (इसे डमी कोडिंग या उपचार विपरीत कहा जाता है R, विभिन्न विपरीत विकल्पों के उत्कृष्ट अवलोकन के लिए यहां देखें । )। वर्तमान विरोधाभासों को देखने के लिए R, टाइप करें options("contrasts")। आम तौर पर, Rश्रेणीगत चर के स्तरों को वर्णानुक्रम में क्रमबद्ध करता है और संदर्भ वर्ग के रूप में पहला लेता है। यह हमेशा इष्टतम नहीं होता है और इसे टाइप करके बदला जा सकता है (यहां, हम संदर्भ वर्ग को नए चर में "c" पर सेट करेंगे)new.variable <- relevel(old.variable, ref="c")। श्रेणीगत चर के प्रत्येक स्तर के प्रत्येक गुणांक के लिए, एक वाल्ड परीक्षण यह परीक्षण करने के लिए किया जाता है कि संदर्भ वर्ग के गुणांक और अन्य वर्ग के बीच युग्मक अंतर शून्य से अलग है या नहीं। यह वही है जो प्रतिगमन तालिका में z और पी -values हैं। यदि केवल एक श्रेणीगत श्रेणी महत्वपूर्ण है, तो इसका मतलब यह नहीं है कि संपूर्ण चर अर्थहीन है और इसे मॉडल से हटा दिया जाना चाहिए। आप एक प्रदर्शन से चर के समग्र प्रभाव की जांच कर सकते संभावना अनुपात परीक्षण : दो मॉडल, के साथ एक और एक चर और प्रकार के बिना फिट anova(model1, model2, test="LRT")में 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
rank1rankrank1rankrank1rank2- 0.675rank1rank2- 3.99 - 0.675 = - 4.67rank1rank1। आप - 1सीधे सभी गुणांकों को देखने के लिए मॉडल सूत्र को जोड़कर एक अवरोधन के बिना मॉडल को फिट कर सकते हैं:
my.mod2 <- glm(admit ~ gre + gpa + rank - 1, data = mydata, family = "binomial")
summary(my.mod2) # no intercept model
Coefficients:
Estimate Std. Error z value Pr(>|z|)
gre 0.002264 0.001094 2.070 0.038465 *
gpa 0.804038 0.331819 2.423 0.015388 *
rank1 -3.989979 1.139951 -3.500 0.000465 ***
rank2 -4.665422 1.109370 -4.205 2.61e-05 ***
rank3 -5.330183 1.149538 -4.637 3.54e-06 ***
rank4 -5.541443 1.138072 -4.869 1.12e-06 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
ध्यान दें कि अवरोधन अब चला गया है और यह गुणांक rank1पहले मॉडल का अवरोधन है। यहाँ, वाल्ड परीक्षण जाँच करता है कि गुणांक के बीच अंतर नहीं है, लेकिन परिकल्पना है कि प्रत्येक व्यक्ति गुणांक शून्य है। फिर, हमारे पास सबूत है कि हर गुणांक rankशून्य से अलग है। अंत में, कि क्या पूरे चर की जाँच करने के rankमॉडल फिट को बेहतर बनाता है, हम (के साथ एक मॉडल फिट my.mod1) और एक चर के बिना rank( my.mod2) और एक संभावना अनुपात परीक्षण। यह परिकल्पना का परीक्षण करता है कि सभी गुणांक rankशून्य हैं:
my.mod1 <- glm(admit ~ gre + gpa + rank, data = mydata, family = "binomial") # with rank
my.mod2 <- glm(admit ~ gre + gpa, data = mydata, family = "binomial") # without rank
anova(my.mod1, my.mod2, test="LRT")
Analysis of Deviance Table
Model 1: admit ~ gre + gpa + rank
Model 2: admit ~ gre + gpa
Resid. Df Resid. Dev Df Deviance Pr(>Chi)
1 394 458.52
2 397 480.34 -3 -21.826 7.088e-05 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
संभावना अनुपात परीक्षण अत्यधिक महत्वपूर्ण है और हम यह निष्कर्ष निकालेंगे कि चर rankमॉडल में रहना चाहिए।
यह पोस्ट भी बहुत दिलचस्प है।
admit ~ 1बनाम होगाadmit ~ rank - 1?