Tại sao sử dụng phương pháp của Newton để tối ưu hóa hồi quy logistic được gọi là bình phương tối thiểu trọng số lặp lại?
Nó dường như không rõ ràng với tôi bởi vì mất logistic và mất bình phương nhỏ nhất là những thứ hoàn toàn khác nhau.
Tại sao sử dụng phương pháp của Newton để tối ưu hóa hồi quy logistic được gọi là bình phương tối thiểu trọng số lặp lại?
Nó dường như không rõ ràng với tôi bởi vì mất logistic và mất bình phương nhỏ nhất là những thứ hoàn toàn khác nhau.
Câu trả lời:
Tóm tắt: GLM phù hợp thông qua chấm điểm của Fisher , như Dimitriy V. Masterov lưu ý, là Newton-Raphson với Hessian dự kiến thay vào đó (nghĩa là chúng tôi sử dụng ước tính thông tin của Fisher thay vì thông tin quan sát được). Nếu chúng ta đang sử dụng chức năng liên kết chính tắc thì hóa ra Hessian được quan sát bằng với Hessian dự kiến nên điểm NR và Fisher giống nhau trong trường hợp đó. Dù bằng cách nào, chúng ta sẽ thấy rằng điểm Fisher thực sự phù hợp với mô hình tuyến tính bình phương nhỏ nhất có trọng số và các ước tính hệ số từ mức này hội tụ * trên khả năng hồi quy logistic tối đa. Ngoài việc giảm sự phù hợp với hồi quy logistic cho một vấn đề đã được giải quyết, chúng tôi cũng nhận được lợi ích của việc có thể sử dụng chẩn đoán hồi quy tuyến tính trên phù hợp với WLS cuối cùng để tìm hiểu về hồi quy logistic của chúng tôi.
Tôi sẽ tập trung vào điều này vào hồi quy logistic, nhưng để có cái nhìn tổng quát hơn về khả năng tối đa trong GLM, tôi khuyên bạn nên sử dụng phần 15.3 của chương này và đưa IRLS vào một bối cảnh chung hơn (Tôi nghĩ rằng đó là từ Ứng dụng của John Fox Phân tích hồi quy và mô hình tuyến tính tổng quát ).
Comments see ở cuối
Chúng tôi sẽ phù hợp GLM của chúng tôi bằng cách lặp lại một cái gì đó có dạng nơi ℓ là khả năng đăng nhập và J m
Chức năng liên kết của chúng tôi là một hàm mà các bản đồ các điều kiện trung bình μ i = E ( y i | x i ) để dự đoán tuyến tính của chúng tôi, vì vậy mô hình của chúng tôi cho giá trị trung bình là g ( μ i ) = x T i β . Để h là hàm liên kết nghịch ánh xạ bộ dự báo tuyến tính thành giá trị trung bình.
Đối với một hồi quy logistic chúng ta có một khả năng độc lập với các quan sát để Bernoulli Lấy dẫn xuất, ∂ℓ
Bây giờ, giả sử chúng ta đang sử dụng chức năng liên kết chính tắc . Khi đó g - 1 c ( x ) : = h c ( x ) = 1 đểh ' c =hc⋅(1-hc)có nghĩa là đơn giản hoá này để ∂ℓ nên ∇ℓ(b;y)=XT(y - y ). Bên cạnh đó, vẫn còn sử dụnghc, ∂2ℓ
Đặt Sau đó, chúng ta có H=- X T WX và lưu ý làm thế nào điều này không còn y i trong đó nữa, vì vậyE(H)=H(chúng ta đang xem đây là một hàm củabnên điều duy nhất ngẫu nhiên làychinh no). Do đó, chúng tôi đã chỉ ra rằng việc chấm điểm của Fisher tương đương với Newton-Raphson khi chúng tôi sử dụng liên kết chính tắc trong hồi quy logistic. Cũng nhờ
Bây giờ tạo ra làm việc đáp ứng và lưu ý rằng ∇ ℓ = X T ( y - y ) = X T W z .
Tất cả cùng nhau điều này có nghĩa là chúng ta có thể tối ưu hóa khả năng đăng nhập bằng cách lặp lại và ( X T W ( m ) X ) - 1 X T W ( m ) z ( )
Kiểm tra điều này trong R
:
set.seed(123)
p <- 5
n <- 500
x <- matrix(rnorm(n * p), n, p)
betas <- runif(p, -2, 2)
hc <- function(x) 1 /(1 + exp(-x)) # inverse canonical link
p.true <- hc(x %*% betas)
y <- rbinom(n, 1, p.true)
# fitting with our procedure
my_IRLS_canonical <- function(x, y, b.init, hc, tol=1e-8) {
change <- Inf
b.old <- b.init
while(change > tol) {
eta <- x %*% b.old # linear predictor
y.hat <- hc(eta)
h.prime_eta <- y.hat * (1 - y.hat)
z <- (y - y.hat) / h.prime_eta
b.new <- b.old + lm(z ~ x - 1, weights = h.prime_eta)$coef # WLS regression
change <- sqrt(sum((b.new - b.old)^2))
b.old <- b.new
}
b.new
}
my_IRLS_canonical(x, y, rep(1,p), hc)
# x1 x2 x3 x4 x5
# -1.1149687 2.1897992 1.0271298 0.8702975 -1.2074851
glm(y ~ x - 1, family=binomial())$coef
# x1 x2 x3 x4 x5
# -1.1149687 2.1897992 1.0271298 0.8702975 -1.2074851
và họ đồng ý.
in so becomes much more complicated, and we therefore see a noticeable difference by using in our Fisher scoring.
Here's how this will go: we already worked out the general so the Hessian will be the main difficulty. We need
Via the linearity of expectation all we need to do to get is replace each occurrence of with its mean under our model which is . Each term in the summand will therefore contain a factor of the form
Now let
We have
All together we are iterating
I've written it out this way to emphasize the connection to Newton-Raphson, but frequently people will factor the updates so that each new point is itself the WLS solution, rather than a WLS solution added to the current point . If we wanted to do this, we can do the following:
Let's confirm that this works by using it to perform a probit regression on the same simulated data as before (and this is not the canonical link, so we need this more general form of IRLS).
my_IRLS_general <- function(x, y, b.init, h, h.prime, tol=1e-8) {
change <- Inf
b.old <- b.init
while(change > tol) {
eta <- x %*% b.old # linear predictor
y.hat <- h(eta)
h.prime_eta <- h.prime(eta)
w_star <- h.prime_eta^2 / (y.hat * (1 - y.hat))
z_star <- (y - y.hat) / h.prime_eta
b.new <- b.old + lm(z_star ~ x - 1, weights = w_star)$coef # WLS
change <- sqrt(sum((b.new - b.old)^2))
b.old <- b.new
}
b.new
}
# probit inverse link and derivative
h_probit <- function(x) pnorm(x, 0, 1)
h.prime_probit <- function(x) dnorm(x, 0, 1)
my_IRLS_general(x, y, rep(0,p), h_probit, h.prime_probit)
# x1 x2 x3 x4 x5
# -0.6456508 1.2520266 0.5820856 0.4982678 -0.6768585
glm(y~x-1, family=binomial(link="probit"))$coef
# x1 x2 x3 x4 x5
# -0.6456490 1.2520241 0.5820835 0.4982663 -0.6768581
and again the two agree.
Finally, a few quick comments on convergence (I'll keep this brief as this is getting really long and I'm no expert at optimization). Even though theoretically each is negative definite, bad initial conditions can still prevent this algorithm from converging. In the probit example above, changing the initial conditions to b.init=rep(1,p)
results in this, and that doesn't even look like a suspicious initial condition. If you step through the IRLS procedure with that initialization and these simulated data, by the second time through the loop there are some that round to exactly and so the weights become undefined. If we're using the canonical link in the algorithm I gave we won't ever be dividing by to get undefined weights, but if we've got a situation where some are approaching or , such as in the case of perfect separation, then we'll still get non-convergence as the gradient dies without us reaching anything.