Giải thích hồi quy logistic thường


17

Tôi đã chạy hồi quy logistic thứ tự này trong R:

mtcars_ordinal <- polr(as.factor(carb) ~ mpg, mtcars)

Tôi đã nhận được bản tóm tắt của mô hình này:

summary(mtcars_ordinal)

Re-fitting to get Hessian

Call:
polr(formula = as.factor(carb) ~ mpg, data = mtcars)

Coefficients:
      Value Std. Error t value
mpg -0.2335    0.06855  -3.406

Intercepts:
    Value   Std. Error t value
1|2 -6.4706  1.6443    -3.9352
2|3 -4.4158  1.3634    -3.2388
3|4 -3.8508  1.3087    -2.9425
4|6 -1.2829  1.3254    -0.9679
6|8 -0.5544  1.5018    -0.3692

Residual Deviance: 81.36633 
AIC: 93.36633 

Tôi có thể nhận được tỷ lệ cược log của hệ số mpgnhư thế này:

exp(coef(mtcars_ordinal))
 mpg 
0.7917679 

Và tỷ lệ cược đăng nhập của các ngưỡng như:

exp(mtcars_ordinal$zeta)

       1|2         2|3         3|4         4|6         6|8 
0.001548286 0.012084834 0.021262900 0.277242397 0.574406353 

Ai đó có thể cho tôi biết nếu cách giải thích của tôi về mô hình này là chính xác:

Khi mpgtăng thêm một đơn vị, tỷ lệ chuyển từ loại 1 carbsang bất kỳ trong 5 loại khác, giảm -0,23. Nếu tỷ lệ cược đăng nhập vượt qua ngưỡng 0,0015, thì giá trị dự đoán cho một chiếc xe sẽ là loại 2 của carb. Nếu tỷ lệ cược đăng nhập vượt qua ngưỡng 0,0121, thì giá trị dự đoán cho một chiếc xe sẽ là loại 3 carb, v.v.

Câu trả lời:


10

Bạn đã hoàn toàn nhầm lẫn tỷ lệ cược và tỷ lệ cược đăng nhập. Tỷ lệ cược log là các hệ số; tỷ lệ cược là hệ số lũy thừa. Bên cạnh đó, việc giải thích tỷ lệ cược đi ngược lại . (Tôi lớn lên với suy nghĩ kinh tế lượng về các biến phụ thuộc hạn chế và cách giải thích tỷ lệ cược của hồi quy thứ tự là ... uhm ... gây cười cho tôi.) Vì vậy, câu đầu tiên của bạn nên đọc, "Khi mpg tăng thêm một đơn vị, tỷ lệ cược quan sát loại 1 của carb 5 so với 5 loại khác tăng 21%. "

Theo như cách giải thích các ngưỡng, bạn thực sự phải vẽ tất cả các đường cong dự đoán để có thể nói dự đoán phương thức là gì:

mpg   <- seq(from=5, to=40, by=1)
xbeta <- mpg*(-0.2335)
logistic_cdf <- function(x) {
  return( 1/(1+exp(-x) ) )
}

p1 <- logistic_cdf( -6.4706 - xbeta )
p2 <- logistic_cdf( -4.4158 - xbeta ) - logistic_cdf( -6.4706 - xbeta )
p3 <- logistic_cdf( -3.8508 - xbeta ) - logistic_cdf( -4.4158 - xbeta )
p4 <- logistic_cdf( -1.2829 - xbeta ) - logistic_cdf( -3.8508 - xbeta )
p6 <- logistic_cdf( -0.5544 - xbeta ) - logistic_cdf( -1.2829 - xbeta )
p8 <- 1 - logistic_cdf( -0.5544 - xbeta )

plot(mpg, p1, type='l', ylab='Prob')
  lines(mpg, p2, col='red')
  lines(mpg, p3, col='blue')
  lines(mpg, p4, col='green')
  lines(mpg, p6, col='purple')
  lines(mpg, p8, col='brown')
  legend("topleft", lty=1, col=c("black", "red", "blue", "green", "purple", "brown"), 
         legend=c("carb 1", "carb 2", "carb 3", "carb 4", "carb 5", "carb 6"))

nhập mô tả hình ảnh ở đây

Đường cong màu xanh cho loại thứ 3 không bao giờ được chọn và đường cong màu tím cho loại thứ 6 cũng không bao giờ. Vì vậy, nếu bất cứ điều gì tôi muốn nói rằng đối với các giá trị mpgtrên 27 có, loại có khả năng nhất là 1; từ 18 đến 27, loại 2; từ 4 đến 18, loại 4; và dưới 4, loại 8. (Tôi tự hỏi bạn đang học gì - xe tải thương mại? Hầu hết các xe chở khách ngày nay nên có mpg> 25). Bạn có thể muốn cố gắng xác định các điểm giao nhau chính xác hơn.

Tôi cũng nhận thấy rằng bạn có các danh mục kỳ lạ đó là 1, 2, 3, 4, rồi 6 (bỏ qua 5), ​​sau đó 8 (bỏ qua 7). Nếu 5 và 7 bị thiếu theo thiết kế, điều đó tốt. Nếu đây là những danh mục hợp lệ mà carbkhông rơi vào, điều này không tốt.


Lưu ý cách tôi sử dụng "chuyển từ loại 1 của carb sang bất kỳ 5 loại khác". Điều này có sai không? Tôi đang vật lộn để hiểu rõ hơn "Khi mpg tăng thêm một đơn vị, tỷ lệ quan sát loại 1 của carb so với 5 loại khác tăng 21%.". Điều này ngụ ý rằng nếu mpg tăng thêm khoảng 5 đơn vị, sẽ có 100% cơ hội quan sát loại 1. Nhưng nếu mpg tăng thêm 5 đơn vị, sẽ có cơ hội quan sát loại 8 cao hơn, chứ không phải loại 1.
luciano

3
Tôi đã thêm hình; Tôi nghi ngờ nó sẽ làm cho câu trả lời của bạn dễ diễn giải hơn - hy vọng bạn thích nó. (BTW, tài liệu cho ? Mtcars cho biết dữ liệu là kết quả kiểm tra từ một năm 1974 vấn đề của động cơ Trends .)
gung - Khôi phục Monica

Ai đó có thể vui lòng trả lời câu hỏi cuối cùng của luciano? Tôi thấy điều này rất thú vị.
Erosennin

1
Khi mpgtăng, bạn di chuyển sang trái trên trục x-beta, khiến nó có nhiều khả năng rơi vào loại một. Và cách giải thích tỷ lệ cược có ý nghĩa: nếu tỷ lệ cược là 2: 1 (nghĩa là so với cho hai kết quả), thì mức tăng 100% là 4: 1 (nghĩa là so với cho hai kết quả) 123 413 14515
StasK

1
Như polrđịnh nghĩa mô hình là logit P(Y <= k | x) = zeta_k - eta, không nên đọc cách giải thích của @ StasK, "Khi mpg tăng thêm một đơn vị, tỷ lệ quan sát loại 1 carb so với 5 loại khác tăng 26% ( exp(-(-0.2335)) = 1.26)."
moremo

3

Trong mô hình logit được đặt hàng, tỷ lệ cược hình thành tỷ lệ xác suất nằm trong bất kỳ danh mục nào dưới ngưỡng cụ thể so với xác suất nằm trong danh mục trên cùng một ngưỡng (ví dụ: với ba loại: Xác suất thuộc loại A hoặc B so với . C, cũng như xác suất thuộc loại A so với B hoặc C).

Điều này dẫn đến mô hình logit P(Y <= k | x) = zeta_k - etanhư được chỉ định trong mô tả của polr(). Do đó, tỷ lệ cược có thể được xây dựng cho các loại khác nhau hoặc cho các biến hồi quy khác nhau. Loại thứ hai, phổ biến hơn, so sánh tỷ lệ cược cho cùng loại nhưng các biến hồi quy và bằng khác nhau

odds(yak|xa)odds(ybk|xb) = exp((ηaηb)).

Tỷ lệ cược cho các loại khác nhau được xác định là

odds(yik|xi)odds(yim|xi) = exp(ζkζm),

theo đó tỷ lệ độc lập với các biến hồi quy. Khách sạn này dẫn đến mô hình tỷ lệ cược tên thay thế .

Trong ví dụ đơn giản nhưng có thể không trực quan này, bạn có thể hình thành: Để tăng một đơn vị trong biến hồi quy mpg, tỷ lệ quan sát loại 1 so với quan sát bất kỳ danh mục nào cao hơn (hoặc tỷ lệ quan sát bất kỳ danh mục nào dưới ngưỡng nhất định so với quan sát bất kỳ danh mục nào trên cùng một ngưỡng) được nhân với 1,26 hoặc tăng 26% ( exp(-(-0.233 - 0)) = 1.263). Nếu bạn muốn xây dựng tỷ lệ chênh lệch của các loại khác nhau, ví dụ, bạn có thể nói tỷ lệ cược nằm trong danh mục 1 so với bất kỳ danh mục nào ở trên so với tỷ lệ cược ở loại 1 hoặc 2 so với bất kỳ danh mục nào ở trên bằng exp((-6.470) - (-4.415)) = 0.128. Do đó, cách hiểu sau không hữu ích lắm trong thiết lập cụ thể này. Một ví dụ về tỷ lệ cược cho các danh mục khác nhau có thể là tỷ lệ cược vào đại học so với tỷ lệ cược vào trường trung học.

Cuối cùng, bạn có thể quan tâm đến việc một biến giải thích phải thay đổi bao nhiêu để đạt được loại phản ứng cao hơn tiếp theo. Đối với điều này, bạn so sánh độ dài khoảng với một hệ số phù hợp. Điều này đưa ra ý tưởng về sự thay đổi lớn trong hồi quy tương ứng của bạn phải như thế nào để chuyển phản hồi từ loại sang loại cao hơn.k(ζkζk1)k

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.