AIC, BIC та GCV: що найкраще приймати рішення в методах санкціонованої регресії?


14

Моє загальне розуміння - AIC стосується компромісу між хорошою придатністю моделі та складністю моделі.

AIC=2k2ln(L)

k = кількість параметрів у моделі

L = ймовірність

Байєсівський інформаційний критерій BIC тісно пов'язаний з AIC. AIC карає кількість параметрів менш сильно, ніж BIC. Я можу бачити, як ці два використовуються всюди історично. Але узагальнена перехресна перевірка (GCV) для мене нова. Як GCV може ставитися до BIC або AIC? Яким чином ці критерії разом або окремо використовуються для вибору строку покарання при панелізованій регресії, як хребет?

Редагувати: Ось приклад для роздумів та обговорення:

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

введіть тут опис зображення

Відповіді:


10

Я вважаю, що BIC є кращим, коли існує "справжня" низькомірна модель, що, на мою думку, ніколи не буває в емпіричній роботі. AIC більше відповідає припущенню, що чим більше даних ми отримаємо, тим складнішою може бути модель. На моєму досвіді AIC з використанням ефективних ступенів свободи є дуже хорошим способом вибору параметра покарання оскільки це, ймовірно, оптимізує продуктивність моделі в новому, незалежному зразку.λ


2
Велика практична інтерпретація, а також має сенс у байєсівському контексті ... "теоретичне" співвідношення ймовірності на основі порівняно з "атеоретичною" помилкою прогнозування.
shadowtalker

3
Можливо, це допоможе розібратися в тому, як "ефективні ступені свободи" для регульованого рішення можна обчислити та використовувати в АПК.
Брайан Борчерс

2
Дивіться код у функції rmsпакету R effective.dfта моїх стратегіях регресійного моделювання книги. Основна ідея Роберта Грея полягає в тому, щоб ви розглядали матрицю коваріації без пеналізації проти матриці коваріації з пеналізацією. Сума діагоналі свого роду співвідношення цих двох дає вам ефективний df
Френк Харрелл

@FrankHarrell: Отже, якщо я вас правильно зрозумів - нормально обчислити купу моделей glmnet(у кожної з іншим параметром лямбда) та обчислити AIC для кожної моделі, а потім вибрати лямбда, відповідну моделі з найнижчою AIC? Це в основному інший спосіб вибору параметра лямбда, окрім використання перехресної перевірки. Я правий?
Корел

1
Я писав у контексті rmsпакету, де пара функцій підгонки при використанні для effective.dfобчислення ефективної кількості параметрів, щоб ви могли отримати ефективний AIC. Це дозволить приблизно визначити те, що ви отримаєте від перехресної перевірки з CV'ing. Дивіться це
Френк Гаррелл

10

Мої власні думки з цього приводу не дуже зібрані, але ось набір пунктів, які я знаю, що можуть допомогти.


Байєсівська інтерпретація AIC полягає в тому, що воно є скоректованим на зміщення наближенням до очікуваної логарифмичної прогнозованої щільності, тобто помилки передбачення поза вибіркою. Ця інтерпретація чудово викладена у Гельмані, Хванґі та Трантарі (2013), а також коротко обговорена у блозі Гельмана . Перехресне підтвердження - це різне наближення до тієї ж речі.

Тим часом BIC - це наближення до " коефіцієнта Байєса " за певним попереднім (добре пояснено в Raftery, 1999 ). Це майже баєсовський аналог коефіцієнта ймовірності.

Що цікаво AIC і BIC є те , що порушує регресія також має Байєсова інтерпретацію, наприклад , ЛАССО є оцінкою MAP байєсівської регресії з незалежним Лапласом пріорами на коефіцієнтах. Трохи більше інформації у цьому попередньому запитанні та багато іншого у Kyung, Gill, Ghosh та Casella (2010) .

Це підказує мені, що ви можете отримати деякий пробіг або, принаймні, більш узгоджений проект дослідження, обдумуючи та моделюючи в байєсівських термінах. Я знаю, що це дещо незвично в багатьох програмах, таких як машинне машинобудування з високими розмірами, а також дещо відсторонено від (на мою думку) більш інтерпретованих геометричних та втратних функцій інтерпретацій регуляризації. Принаймні, я сильно покладаюся на байєсівську інтерпретацію, щоб вирішити між AIC та BIC та пояснити різницю мирянам, нестатистично орієнтованим колегам / начальникам тощо.

Я знаю, що це не дуже говорить про перехресну перевірку. Одна приємна річ щодо байєсівського висновку - це те, що він створює приблизні розподіли ваших параметрів, а не точкові оцінки. Я вважаю, що це може бути використане для того, щоб вирішити питання вимірювання невизначеності щодо помилки прогнозування. Однак якщо ви говорите про використання CV для оцінки гіперпараметрів, наприклад для LASSO, я знову відкладаю на Gelman :λ

вибір параметра налаштування шляхом перехресної перевірки - це лише певна реалізація ієрархічної Бейса.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.