Trong một câu hỏi khác trên trang web này, một số câu trả lời đã đề cập rằng AIC tương đương với xác thực chéo một lần (LOO) và BIC tương đương với xác thực chéo K-Fold. Có cách nào để chứng minh bằng thực nghiệm điều này trong R sao cho các kỹ thuật liên quan đến LOO và K-Fold được làm rõ và được chứng minh là tương đương với các giá trị AIC và BIC không? Mã nhận xét tốt sẽ hữu ích trong vấn đề này. Ngoài ra, để chứng minh BIC, vui lòng sử dụng gói lme4. Xem bên dưới để biết dữ liệu mẫu ...
library(lme4) #for the BIC function
generate.data <- function(seed)
{
set.seed(seed) #Set a seed so the results are consistent (I hope)
a <- rnorm(60) #predictor
b <- rnorm(60) #predictor
c <- rnorm(60) #predictor
y <- rnorm(60)*3.5+a+b #the outcome is really a function of predictor a and b but not predictor c
data <- data.frame(y,a,b,c)
return(data)
}
data <- generate.data(76)
good.model <- lm(y ~ a+b,data=data)
bad.model <- lm(y ~ a+b+c,data=data)
AIC(good.model)
BIC(logLik(good.model))
AIC(bad.model)
BIC(logLik(bad.model))
Theo các bình luận trước đó, bên dưới tôi đã cung cấp một danh sách các hạt giống từ 1 đến 10000 trong đó AIC và BIC không đồng ý. Điều này được thực hiện bằng một tìm kiếm đơn giản thông qua các hạt giống có sẵn, nhưng nếu ai đó có thể cung cấp cách tạo dữ liệu có xu hướng tạo ra các câu trả lời khác nhau từ hai tiêu chí thông tin này thì nó có thể đặc biệt nhiều thông tin.
notable.seeds <- read.csv("http://student.ucr.edu/~rpier001/res.csv")$seed
Bên cạnh đó, tôi nghĩ về việc đặt mua những hạt giống này theo mức độ mà AIC và BIC không đồng ý mà tôi đã cố gắng định lượng là tổng của sự khác biệt tuyệt đối của AIC và BIC. Ví dụ,
AICDiff <- AIC(bad.model) - AIC(good.model)
BICDiff <- BIC(logLik(bad.model)) - BIC(logLik(good.model))
disagreement <- sum(abs(c(AICDiff,BICDiff)))
trong đó chỉ số bất đồng của tôi chỉ áp dụng hợp lý khi các quan sát là đáng chú ý. Ví dụ,
are.diff <- sum(sign(c(AICDiff,BICDiff)))
notable <- ifelse(are.diff == 0 & AICDiff != 0,TRUE,FALSE)
Tuy nhiên, trong trường hợp AIC và BIC không đồng ý, giá trị bất đồng được tính toán luôn giống nhau (và là một hàm của cỡ mẫu). Nhìn lại cách tính toán AIC và BIC tôi có thể thấy tại sao đây có thể là trường hợp tính toán, nhưng tôi không chắc tại sao nó lại là trường hợp về mặt khái niệm. Nếu ai đó cũng có thể làm sáng tỏ vấn đề đó, tôi sẽ đánh giá cao nó.