AIC, BIC và GCV: điều gì là tốt nhất để đưa ra quyết định trong các phương pháp hồi quy bị phạt?


14

Hiểu biết chung của tôi là AIC liên quan đến sự đánh đổi giữa mức độ phù hợp của mô hình và độ phức tạp của mô hình.

MộtTôiC= =2k-2tôin(L)

k = số lượng tham số trong mô hình

L = khả năng

Tiêu chí thông tin BIC của Bayes có liên quan chặt chẽ với AIC. AIC xử phạt số lượng tham số ít mạnh hơn BIC. Tôi có thể thấy hai cái này được sử dụng ở mọi nơi trong lịch sử. Nhưng xác nhận chéo tổng quát (GCV) là mới đối với tôi. Làm thế nào GCV có thể liên quan đến BIC hoặc AIC? Làm thế nào các tiêu chí này, cùng nhau hoặc riêng biệt được sử dụng trong việc lựa chọn thời hạn hình phạt trong hồi quy được điều chỉnh như sườn núi?

Chỉnh sửa: Đây là một ví dụ để suy nghĩ và thảo luận:

    require(lasso2)
    data(Prostate)
    require(rms)

    ridgefits = ols(lpsa~lcavol+lweight+age+lbph+svi+lcp+gleason+pgg45,
           method="qr", data=Prostate,se.fit = TRUE, x=TRUE, y=TRUE)
    p <- pentrace(ridgefits, seq(0,1,by=.01))
    effective.df(ridgefits,p)
    out <- p$results.all
    par(mfrow=c(3,2))
    plot(out$df, out$aic, col = "blue", type = "l", ylab = "AIC", xlab = "df"  )
    plot(out$df, out$bic, col = "green4", type = "l", ylab = "BIC",  xlab = "df" )
    plot(out$penalty, out$df,  type = "l", col = "red", 
     xlab = expression(paste(lambda)), ylab = "df" )
    plot(out$penalty, out$aic, col = "blue", type = "l",  
      ylab = "AIC", xlab = expression(paste(lambda))  )
    plot(out$penalty, out$bic, col = "green4", type = "l", ylab = "BIC", 
      xlab= expression(paste(lambda))

require(glmnet)
y <- matrix(Prostate$lpsa, ncol = 1)
x <- as.matrix (Prostate[,- length(Prostate)])
cv <- cv.glmnet(x,y,alpha=1,nfolds=10)
plot(cv$lambda, cv$cvm, col = "red", type = "l", 
      ylab = "CVM",   xlab= expression(paste(lambda))

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

Câu trả lời:


10

Tôi nghĩ rằng BIC được ưa thích khi có một mô hình chiều thấp "thực sự", mà tôi nghĩ không bao giờ là trường hợp trong công việc thực nghiệm. AIC phù hợp hơn với giả định rằng càng nhiều dữ liệu chúng ta thu được thì mô hình càng phức tạp. Theo kinh nghiệm của tôi, AIC sử dụng mức độ tự do hiệu quả là một cách rất tốt để chọn tham số hình phạt vì nó có khả năng tối ưu hóa hiệu suất mô hình trong một mẫu mới, độc lập.λ


2
Giải thích thực tế tuyệt vời, và cũng có ý nghĩa trong bối cảnh Bayes ... tỷ lệ khả năng dựa trên lý thuyết "so với lỗi dự đoán" vô thần ".
Shadowtalker

3
Có lẽ sẽ giúp giải thích về cách "mức độ tự do hiệu quả" cho một giải pháp chính quy có thể được tính toán và sử dụng trong AIC.
Brian Borchers

2
Xem mã trong hàm rmsgói R effective.dfvà cuốn sách Chiến lược mô hình hồi quy của tôi. Ý tưởng chính, từ Robert Gray, là bạn xem xét ma trận hiệp phương sai mà không bị phạt so với ma trận hiệp phương sai với hình phạt. Tổng đường chéo của một loại tỷ lệ của hai loại này mang lại cho bạn hiệu quả df
Frank Harrell

@FrankHarrell: Vì vậy, nếu tôi hiểu bạn một cách chính xác - bạn có thể tính toán một loạt các mô hình trong glmnet(mỗi mô hình có một tham số lambda khác nhau) và tính AIC cho từng mô hình, sau đó chọn lambda tương ứng với mô hình có AIC thấp nhất? Về cơ bản, đây là một cách khác để chọn tham số lambda, ngoài việc sử dụng Xác thực chéo. Tôi có đúng không
Corel

1
Tôi đã viết trong ngữ cảnh của rmsgói trong đó một vài hàm phù hợp khi được sử dụng để effective.dftính toán số lượng tham số hiệu quả để bạn có thể có được AIC hiệu quả. Điều này sẽ gần đúng những gì bạn nhận được từ xác thực chéo với CV'ing. Xem cái này
Frank Harrell

10

Suy nghĩ của riêng tôi về điều này không được thu thập, nhưng đây là một tập hợp các điểm tôi nhận thấy có thể giúp ích.


Cách giải thích của Bayes về AIC là nó là một xấp xỉ được hiệu chỉnh sai lệch với mật độ dự đoán theo chiều log dự kiến, tức là lỗi dự đoán ngoài mẫu. Giải thích này được trình bày độc đáo trong Gelman, Hwang và Vehtari (2013) và cũng được thảo luận ngắn gọn trên blog của Gelman . Xác nhận chéo là một xấp xỉ khác nhau cho cùng một điều.

Trong khi đó, BIC là một xấp xỉ với " yếu tố Bayes " theo một ưu tiên cụ thể (được giải thích độc đáo trong Raftery, 1999 ). Đây gần như là tương tự Bayes của tỷ lệ khả năng.

Điều thú vị về AIC và BIC là hồi quy bị phạt cũng có cách giải thích Bayes, ví dụ LASSO là ước tính MAP về hồi quy Bayes với các linh mục Laplace độc ​​lập về các hệ số. Một chút thông tin trong câu hỏi trước này và nhiều hơn nữa trong Kyung, Gill, Ghosh và Casella (2010) .

Điều này gợi ý cho tôi rằng bạn có thể nhận được một số dặm, hoặc ít nhất là một thiết kế nghiên cứu mạch lạc hơn, bằng cách suy nghĩ và mô hình hóa theo thuật ngữ Bayes. Tôi biết điều này hơi bất thường trong rất nhiều ứng dụng như học máy chiều cao, và cũng phần nào loại bỏ khỏi (theo ý kiến ​​của tôi) những diễn giải hình học và mất chức năng dễ hiểu hơn của chính quy. Ít nhất, tôi phụ thuộc rất nhiều vào cách giải thích của Bayes để quyết định giữa AIC và BIC và để giải thích sự khác biệt với giáo dân, đồng nghiệp / ông chủ không định hướng thống kê, v.v.

Tôi biết điều này không nói nhiều đến xác nhận chéo. Một điều thú vị về suy luận Bayes là nó tạo ra các phân phối gần đúng của các tham số của bạn, thay vì ước tính điểm. Điều này, tôi cảm thấy, có thể được sử dụng để vượt qua vấn đề đo lường sự không chắc chắn của một người về lỗi dự đoán. Tuy nhiên, nếu bạn đang nói về việc sử dụng CV để ước tính siêu âm, ví dụ cho LASSO, tôi lại trì hoãn Gelman :λ

chọn một tham số điều chỉnh bằng cách xác thực chéo chỉ là một triển khai cụ thể của Bayes phân cấp.

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.