다음 설명은 로지스틱 회귀에만 국한되지 않고 일반 선형 회귀 및 기타 GLM에 동일하게 적용됩니다. 일반적 R
제외 하나 범주의 레벨과 계수 나타낸다 this 참조 클래스로, 각 클래스의 차이 (또는라고도 기본 클래스) (이것은 부호화 또는 치료 대조 더미 호출을 R
참조 여기 상이한 콘트라스트 옵션 우수한 개요 ). 에 현재 대비를 보려면을 R
입력하십시오 options("contrasts")
. 일반적으로 R
범주 형 변수의 레벨을 사전 순으로 정렬하고 첫 번째를 참조 클래스로 사용합니다. 항상 최적 인 것은 아니며 입력하여 변경할 수 있습니다 (여기서 새 변수에서 참조 클래스를 "c"로 설정)new.variable <- relevel(old.variable, ref="c")
. 범주 형 변수의 모든 수준의 각 계수에 대해 참조 클래스의 계수와 다른 클래스의 계수 차이가 0과 다른지 여부 를 테스트 하기 위해 Wald 테스트 가 수행됩니다 . 이것이 회귀 테이블 의 z 및 p 값입니다. 범주 형 클래스가 하나만 중요한 경우 전체 변수가 의미가 없으며 모델에서 제거해야한다는 의미 는 아닙니다 . 넌 수행하여 변수의 전체적인 효과를 확인할 수 우도 비 테스트 : 맞는 두 모델의 변수를 입력하지 않고 하나 하나 하여 (아래의 예를 참조). 예를 들면 다음과 같습니다.지피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
rank1
rank
rank1
rank
rank1
rank2
− 0.675rank1
rank2
− 3.99 − 0.675 = − 4.67rank1
rank1
. - 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
는 정확히 첫 번째 모형의 절편입니다. 여기서 Wald 검정은 계수 간의 쌍별 차이가 아니라 각 개별 계수가 0 이라는 가설을 확인 합니다. 다시, 우리는 모든 계수가 rank
0과 다르다는 증거를 가지고 있습니다 . 마지막으로, 모든 변수가 있는지 여부를 확인하는 rank
모델 착용감을 향상 우리는 하나 개 모델 (맞게 my.mod1
가변없이)을 rank
( my.mod2
)과 우도 비율 테스트를 수행. 이것은 모든 계수 rank
가 0 이라는 가설을 테스트합니다 .
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
vsadmit ~ rank - 1
?