Czy można obliczyć AIC i BIC dla modeli regresji lasso?

31

Czy można obliczyć wartości AIC lub BIC dla modeli regresji lasso i innych modeli znormalizowanych, w których parametry tylko częściowo wchodzą do równania. Jak określa się stopnie swobody?

Używam R, aby dopasować modele regresji lasso z glmnet()funkcją z glmnetpakietu i chciałbym wiedzieć, jak obliczyć wartości AIC i BIC dla modelu. W ten sposób mogę porównać wartości z modelami pasującymi bez regularyzacji. Czy to się da zrobić?

Jota
źródło
1
Tak, możesz to zrobić, ale najprawdopodobniej będzie to wymagać właściwej korekty. Korekta pochodzi z tego artykułu ncbi.nlm.nih.gov/pmc/articles/PMC2629611 w kontekście modelowania karanej mieszanki skończonej, ale analogiczny argument byłby wystarczający w innych modelach karanych.
Makro

Odpowiedzi:

12

Interesujące mogą być również następujące artykuły:

RJ Tibshirani i J. Taylor (2011), Stopnie swobody w problemach lasso , prefiks arXiv: 1111.0653 .

H. Zou, T. Hastie i R. Tibshirani (2007), O stopniach wolności lasso , Annals of Statistics 35 (5), 2173–2192.

Alexandra
źródło
14
byłoby miło, gdyby w ostatecznej odpowiedzi było trochę wyjaśnienia;
user4581,
10

Dużo walczyłem ze sposobem obliczenia AIC i BIC dla modeli glmnet. Jednak po dość długim wyszukiwaniu znalazłem odpowiedź na trzeciej stronie wyników Google. Można go znaleźć tutaj . Zamieszczam go tutaj dla przyszłych czytelników, ponieważ uważam, że nie mogę być jedynym.

Na koniec zaimplementowałem AIC i BIC w następujący sposób:

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
Johnnyheineken
źródło
2

W linku, do którego odwołuje się Johnnyheineken, autor stwierdza:

Obawiam się, że dwie wielkości dostępne z obiektu glmnet (dev.ratio, nulldev) nie są wystarczające, aby uzyskać prawdopodobieństwo dla modelu, który należy obliczyć AICc. Masz dwa równania w trzech niewiadomych: prawdopodobieństwo (zero), prawdopodobieństwo (model) i prawdopodobieństwo (nasycone). Nie mogę uzyskać prawdopodobieństwa (model) wolnego od prawdopodobieństwa (zero).

Wydaje mi się, że jeśli porównujesz AIC między dwoma modelami, fakt, że nie możesz rozdzielić odchylenia zerowego, nie powinien mieć znaczenia. Ponieważ istnieje po obu „stronach” nierówności, pokazałby, który model musi mieć niższy AIC. Zależy to od dwóch rzeczy:

  1. Dane są takie same w obu modelach (i tak konieczne do porównania AIC)
  2. Ani nie zapominam o czymś ze Stat101, ani o algebrze w szkole średniej (silne założenie, biorąc pod uwagę moje obecne spożycie kofeiny)
naturalBlogarytm
źródło