매우 드물게 양수 클래스가있는 데이터 세트가 있고 음수 클래스를 다운 샘플링 한 다음 로지스틱 회귀를 수행하는 경우 양수 클래스의 보급률을 변경했다는 사실을 반영하기 위해 회귀 계수를 조정해야합니까?
예를 들어, Y, A, B 및 C의 변수가 4 개인 데이터 집합이 있다고 가정 해 보겠습니다. Y, A 및 B는 이진수이고 C는 연속적입니다. 11,100 개의 관측치 Y = 0 및 900Y = 1의 경우 :
set.seed(42)
n <- 12000
r <- 1/12
A <- sample(0:1, n, replace=TRUE)
B <- sample(0:1, n, replace=TRUE)
C <- rnorm(n)
Y <- ifelse(10 * A + 0.5 * B + 5 * C + rnorm(n)/10 > -5, 0, 1)
A, B 및 C를 고려하여 Y를 예측하기 위해 로지스틱 회귀 분석에 적합합니다.
dat1 <- data.frame(Y, A, B, C)
mod1 <- glm(Y~., dat1, family=binomial)
그러나 시간을 절약하기 위해 Y가 아닌 10,200 개의 관측 값을 제거하여 900 Y = 0 및 900 Y = 1을 제공 할 수 있습니다.
require('caret')
dat2 <- downSample(data.frame(A, B, C), factor(Y), list=FALSE)
mod2 <- glm(Class~., dat2, family=binomial)
두 모델의 회귀 계수는 매우 유사합니다.
> coef(summary(mod1))
Estimate Std. Error z value Pr(>|z|)
(Intercept) -127.67782 20.619858 -6.191983 5.941186e-10
A -257.20668 41.650386 -6.175373 6.600728e-10
B -13.20966 2.231606 -5.919353 3.232109e-09
C -127.73597 20.630541 -6.191596 5.955818e-10
> coef(summary(mod2))
Estimate Std. Error z value Pr(>|z|)
(Intercept) -167.90178 59.126511 -2.83970391 0.004515542
A -246.59975 4059.733845 -0.06074284 0.951564016
B -16.93093 5.861286 -2.88860377 0.003869563
C -170.18735 59.516021 -2.85952165 0.004242805
다운 샘플링이 계수에 영향을 미치지 않았다고 믿게됩니다. 그러나 이것은 하나의 고안된 예이며 확실히 알고 싶습니다.
mod2
), Pr(>|z|)
위해가 A
거의 1. 우리는 계수가 있다는 귀무 가설 거부 할 수 없다 A
우리가 사용되는 공변량을 잃은 있도록 0입니다 mod1
. 이것이 실질적인 차이가 아닙니까?