올가미 회귀 모델에 대한 AIC 및 BIC를 계산할 수 있습니까?


31

올가미 회귀 모형 및 매개 변수가 방정식에 부분적으로 만 입력되는 다른 정규화 된 모형에 대한 AIC 또는 BIC 값을 계산할 수 있습니까? 자유도를 어떻게 결정합니까?

패키지 의 glmnet()함수 에 올가미 회귀 모델을 맞추기 위해 R을 사용 glmnet하고 있으며 모델의 AIC 및 BIC 값을 계산하는 방법을 알고 싶습니다. 이런 식으로 정규화하지 않고 모델에 맞는 값을 비교할 수 있습니다. 이것이 가능합니까?


1
예,이 작업을 수행 할 수 있지만 대부분 올바른 수정이 필요합니다. 수정 된 내용은 처벌 된 유한 혼합물 모델링의 맥락 에서 본 논문 ncbi.nlm.nih.gov/pmc/articles/PMC2629611 에서 도출 되었지만, 다른 벌점 화 된 모델에서는 유사한 주장으로 충분합니다.
매크로

답변:



10

glmnet 모델의 AIC 및 BIC를 계산하는 방법으로 많은 어려움을 겪고있었습니다. 그러나 검색이 많이 이루어진 후 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를 계산 해야하는 모델의 가능성을 얻는 데 충분하지 않을까 걱정됩니다. 3 개의 미지수에 두 개의 방정식이 있습니다 : likelihood (null), likelihood (model) 및 likelihood (saturated). 우도 (null)에서 우도 (모델)를 얻을 수 없습니다.

두 모델 사이에서 AIC를 비교하는 경우 널 이탈을 분리 할 수 ​​없다는 사실은 중요하지 않은 것 같습니다. 그것은 불평등의 양쪽에 존재하기 때문에 어떤 모델이 더 낮은 AIC를 가져야하는지 보여줄 것입니다. 이것은 두 가지에 달려 있습니다.

  1. 데이터는 두 모델에서 동일합니다 (AIC 비교에 필요).
  2. 나는 Stat101이나 고등학교 대수학 (현재 카페인 섭취를 감안할 때 강력한 가정)에서 무언가를 잊지 않습니다.
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.