Về mặt lý thuyết, liệu thuật ngữ chặn trong mô hình hồi quy logistic có nắm bắt được tất cả các hiệu ứng không quan sát được không?
Đây là một câu hỏi thú vị, và tôi có thể thấy làm thế nào với một số thí nghiệm đơn giản, người ta có thể nghĩ rằng đây là trường hợp. Trên thực tế, trong lần thử đầu tiên để thiết lập điều này, tôi thực sự đã tạo ra một cuộc biểu tình sẽ chỉ ước tính không chính xác việc chặn khi tôi chỉ định sai mô hình - nếu không, tất cả các ước tính hệ số đều ổn!
Trong một hồi quy OLS, thuật ngữ lỗi là nơi chúng ta sẽ thích cho tất cả các hiệu ứng mà chúng tôi vẫn chưa chiếm để đi ... nhưng nếu có hiệu ứng mà chúng tôi vẫn chưa chiếm (ví dụ, mô hình này là mis-chỉ định) sau đó họ sẽ có xu hướng ngẩng cao đầu trong các tính năng khác của mô hình, đặc biệt nếu có mối quan hệ khó hiểu giữa các biến. Điều này cũng đúng với tất cả các phương pháp hồi quy thông thường khác - nếu mô hình được chỉ định sai, các ước tính hệ số không đáng tin cậy (nhưng có lẽ các dự đoán sẽ hữu ích hoặc mô hình phục vụ một số mục đích hữu ích khác).
Ví dụ, đây là một mô hình nhị thức, nơi chỉ có hai tính năng và một số phụ thuộc giữa chúng. Tôi đã gian lận sao cho các hệ số phải làNhưng nếu chúng ta bỏ khỏi ước tính mô hình, tất cả các hệ số của chúng ta được ước tính không chính xác - và thực tế là như vậy!β0= 10 , β1= - 5 , β2= 5.x2
set.seed(13)
N <- 100
inv_logit <- function(x){
ifelse(x< -20, -20, x)
out <- 1/(1+exp(-x))
return(out)
}
x0 <- rep(1, N)
x1 <- rnorm(N)
x2 <- rnorm(N, mean=10+3*x1-0.5*x1^2)
zTransform <- cbind(x0, x1, x2)%*%c(-10,-5,1)
summary(zTransform)
yObs <- rbinom(N, size=1, prob=inv_logit(zTransform))
badModel <- glm(yObs~x1, family=binomial(link="logit"))
summary(badModel)
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) -0.1404 0.2327 -0.604 0.546
x1 -1.3417 0.3041 -4.412 1.02e-05 ***
Nhưng nếu chúng ta xác định chính xác mô hình, chúng ta sẽ lấy lại hệ số của mình, nhưng với một số lỗi ước tính.
goodModel <- glm(yObs~x1+x2, family=binomial(link="logit"))
summary(goodModel)
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) -9.9512 2.9331 -3.393 0.000692 ***
x1 -4.8657 1.1918 -4.083 4.45e-05 ***
x2 0.9970 0.2948 3.382 0.000720 ***
Nói cách khác, trong một mô hình hồi quy logistic với sự phù hợp hoàn hảo (nghĩa là bao gồm tất cả các biến có liên quan), thuật ngữ chặn phải bằng không?
Tại sao nó lại là vấn đề? Giả sử bạn đang thực hiện hồi quy logistic và bạn không có đồng biến - ví dụ: thử nghiệm của bạn đang chết dần và cứ 6 là một "thành công", và mọi kết quả khác là một thất bại (có lẽ bạn đang đảm bảo chất lượng cho một sòng bạc). Nếu chúng tôi cho rằng súc sắc là công bằng, bạn sẽ ước tính hệ số ở một số giá trị khác không hoàn toàn vì có nhiều kết quả bất lợi hơn kết quả có lợi trong dữ liệu của bạn.
Điều quan trọng là phải hiểu rằng bạn đã hỏi hai câu hỏi khác nhau trong bài viết của mình. Câu hỏi đầu tiên hỏi liệu phần chặn có bắt được các hiệu ứng không được mô hình hóa không (tất cả các ước tính hệ số đều sai khi mô hình được chỉ định sai!) Câu hỏi thứ hai hỏi liệu phần chặn có nên bằng không - và câu trả lời cũng là không, bởi vì thuật ngữ chặn được cố định bởi tỷ lệ "thành công" so với "thất bại".