Чи можна розрахувати AIC та BIC для регресійних моделей ласо?


31

Чи можна обчислити значення AIC або BIC для регресійних моделей ласо та інших регульованих моделей, де параметри лише частково вводяться в рівняння. Як можна визначити ступеня свободи?

Я використовую R для підключення регресійних моделей ласо з glmnet()функцією з glmnetпакету, і я хотів би знати, як обчислити значення AIC та BIC для моделі. Таким чином я міг би порівняти значення з підходящими моделями без регуляризації. Чи можливо це зробити?


1
Так, ви можете це зробити, але це, швидше за все, вимагатиме від вас правильної корекції. Корекція виведена в цій статті ncbi.nlm.nih.gov/pmc/articles/PMC2629611 у контексті моделювання кінцевих сумісних санкцій , але аналогічного аргументу буде достатньо для інших санкціонованих моделей.
Макрос

Відповіді:


12

Ви також можете знайти такі документи, які цікавлять вас:

Р. Дж. Тібшірані та Дж. Тейлор (2011), ступінь свободи в проблемах ласо , передрук arXiv: 1111.0653 .

Х. Зуу, Т. Хасті та Р. Тібшірані (2007), Про ступеня свободи ласо , Аннали статистики 35 (5), 2173–2192.


14
було б добре, якби було трохи пояснень на остаточну відповідь;
user4581

10

Я багато боровся з тим, як розрахувати AIC та BIC для glmnet-моделей. Однак після досить багато пошуків я знайшов на третій сторінці результатів google відповідь. Його можна знайти тут . Я публікую його тут для майбутніх читачів, оскільки я вважаю, що не можу бути єдиним.

Зрештою, я реалізував AIC та BIC таким чином:

fit <- glmnet(x, y, family = "multinomial") 

tLL <- fit$nulldev - deviance(fit)
k <- fit$df
n <- fit$nobs
AICc <- -tLL+2*k+2*k*(k+1)/(n-k-1)
AICc

BIC<-log(n)*k - tLL
BIC

2

У посиланні, на яке посилається johnnyheineken, автор зазначає:

Я боюся, що двох наявних у об'єкта glmnet (dev.ratio, nulldev) недостатньо для отримання ймовірності для моделі, для якої потрібно обчислити AICc. У вас є два рівняння в трьох невідомих: ймовірність (нуль), ймовірність (модель) та ймовірність (насичений). Я не можу звільнити ймовірність (модель) від вірогідності (null).

Мені здається, що якщо ви порівнюєте AIC між двома моделями, той факт, що ви не можете розділити нульове відхилення, не має значення. Оскільки вона існує з обох "сторін" нерівності, це показало б, яка модель повинна мати нижню АПК. Це залежить від двох речей:

  1. Дані однакові в обох моделях (так чи інакше необхідні для порівняння AIC)
  2. Я ні про що не забуваю ні з Stat101, ні з алгебри середньої школи (сильне припущення, враховуючи моє поточне споживання кофеїну)
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.