Nếu tôi có một tập dữ liệu với lớp dương rất hiếm và tôi lấy mẫu lớp âm, sau đó thực hiện hồi quy logistic, tôi có cần điều chỉnh các hệ số hồi quy để phản ánh thực tế rằng tôi đã thay đổi mức độ phổ biến của lớp dương không?
Ví dụ: giả sử tôi có bộ dữ liệu với 4 biến: Y, A, B và C. Y, A và B là nhị phân, C là liên tục. Đối với 11.100 quan sát Y = 0 và cho 900 Y = 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)
Tôi phù hợp với hồi quy logistic để dự đoán Y, cho A, B và C.
dat1 <- data.frame(Y, A, B, C)
mod1 <- glm(Y~., dat1, family=binomial)
Tuy nhiên, để tiết kiệm thời gian, tôi có thể loại bỏ 10.200 quan sát không phải Y, cho 900 Y = 0 và 900 Y = 1:
require('caret')
dat2 <- downSample(data.frame(A, B, C), factor(Y), list=FALSE)
mod2 <- glm(Class~., dat2, family=binomial)
Các hệ số hồi quy từ 2 mô hình trông rất giống nhau:
> 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
Điều đó khiến tôi tin rằng việc lấy mẫu xuống không ảnh hưởng đến các hệ số. Tuy nhiên, đây là một ví dụ đơn lẻ, và tôi muốn biết chắc chắn.
mod2
), Pr(>|z|)
cho A
là gần như 1. Chúng ta không thể bác bỏ giả thuyết rằng hệ số A
là 0 vì vậy chúng tôi đã mất một covariate được sử dụng trong mod1
. Đây không phải là một sự khác biệt đáng kể?