AIC, BIC dan GCV: apa yang terbaik untuk membuat keputusan dalam metode regresi yang dihukum?


14

Pemahaman umum saya adalah AIC berkaitan dengan pertukaran antara kebaikan model dan kompleksitas model.

SEBUAHsayaC=2k-2ln(L)

= jumlah parameter dalam modelk

= kemungkinanL

Kriteria informasi Bayesian BIC terkait erat dengan AIC. AIC menghukum jumlah parameter kurang kuat daripada BIC. Saya bisa melihat keduanya digunakan di mana-mana secara historis. Tetapi validasi lintas umum (GCV) adalah hal baru bagi saya. Bagaimana GCV dapat berhubungan dengan BIC atau AIC? Bagaimana kriteria ini, bersama-sama atau terpisah digunakan dalam pemilihan jangka waktu hukuman dalam regresi berpanel seperti ridge?

Sunting: Ini adalah contoh untuk dipikirkan dan didiskusikan:

    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))

masukkan deskripsi gambar di sini

Jawaban:


10

λ


2
Penafsiran praktis yang hebat, dan juga masuk akal dalam konteks Bayesian ... rasio kemungkinan berbasis "teoritik" vs. kesalahan prediksi "atheoretik".
shadowtalker

3
Mungkin akan membantu untuk menguraikan bagaimana "derajat kebebasan efektif" untuk solusi yang diatur dapat dihitung dan digunakan dalam AIC.
Brian Borchers

2
Lihat kode dalam fungsi rmspaket R effective.dfdan buku saya Strategi Pemodelan Regresi. Gagasan utama, dari Robert Gray, adalah Anda mempertimbangkan matriks kovarians tanpa penalti vs matriks kovarians dengan hukuman. Jumlah diagonal semacam rasio dari keduanya memberi Anda df efektif
Frank Harrell

@ Frankharrell: Jadi jika saya mengerti Anda dengan benar - tidak apa-apa untuk menghitung sekelompok model glmnet(masing-masing dengan parameter lambda berbeda) dan menghitung AIC untuk setiap model, dan kemudian memilih lambda yang sesuai dengan model dengan AIC terendah? Ini pada dasarnya adalah cara lain untuk memilih parameter lambda, selain menggunakan Cross Validation. Apakah saya benar?
Corel

1
Saya sedang menulis dalam konteks rmspaket di mana beberapa fungsi pas ketika digunakan dengan effective.dfmenghitung jumlah parameter yang efektif sehingga Anda bisa mendapatkan AIC yang efektif. Ini akan memperkirakan apa yang Anda dapatkan dari validasi silang dengan CV'ing. Lihat ini
Frank Harrell

10

Pikiranku sendiri tentang ini tidak terlalu terkumpul, tapi di sini ada kumpulan poin yang aku tahu mungkin bisa membantu.


Interpretasi Bayesian tentang AIC adalah bahwa ia adalah perkiraan yang dikoreksi bias terhadap log yang diperkirakan kepadatan prediktif pointwise, yaitu kesalahan prediksi out-of-sample. Penafsiran ini ditata dengan baik dalam Gelman, Hwang, dan Vehtari (2013) dan juga dibahas secara singkat di blog Gelman . Validasi silang adalah pendekatan yang berbeda untuk hal yang sama.

Sementara itu, BIC adalah perkiraan untuk " faktor Bayes " di bawah prior tertentu (dijelaskan dengan baik dalam Raftery, 1999 ). Ini hampir merupakan analog Bayesian dari rasio kemungkinan.

Yang menarik dari AIC dan BIC adalah bahwa regresi yang dihukum juga memiliki interpretasi Bayesian, misalnya LASSO adalah estimasi MAP dari regresi Bayesian dengan prior Laplace independen pada koefisien. Sedikit lebih banyak info dalam pertanyaan sebelumnya dan lebih banyak lagi di Kyung, Gill, Ghosh, dan Casella (2010) .

Ini menunjukkan kepada saya bahwa Anda mungkin mendapatkan jarak tempuh, atau setidaknya desain penelitian yang lebih koheren, dengan berpikir dan membuat model dalam istilah Bayesian. Saya tahu ini agak tidak biasa dalam banyak aplikasi seperti pembelajaran mesin dimensi tinggi, dan juga agak dihapus dari (menurut saya) interpretasi yang lebih dapat ditafsirkan geometris dan fungsi kerugian dari regularisasi. Paling tidak, saya sangat bergantung pada interpretasi Bayesian untuk memutuskan antara AIC dan BIC dan untuk menjelaskan perbedaannya kepada orang awam, rekan kerja / bos yang tidak berorientasi statistik, dll.

λ

memilih parameter penyetelan melalui validasi silang hanyalah implementasi khusus dari hierarki bayes.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.