올가미 회귀 모델에 대한 AIC 및 BIC를 계산할 수 있습니까? 값을 계산할 수 있습니까? 자유도를 어떻게

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

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



답변

다음과 같은 논문이 흥미로울 수도 있습니다.

RJ Tibshirani 및 J. Taylor (2011), 올가미 문제의 자유도 , arXiv preprint : 1111.0653 .

H. Zou, T. Hastie 및 R. Tibshirani (2007), 올가미의 자유도 , Annals of Statistics 35 (5), 2173–2192.


답변

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


답변

johnnyheineken이 참조한 링크에서 저자는 다음과 같이 말합니다.

glmnet 객체 (dev.ratio, nulldev)에서 사용할 수있는 두 가지 수량이 AICc를 계산 해야하는 모델의 가능성을 얻는 데 충분하지 않을까 걱정됩니다. 3 개의 미지수에 두 개의 방정식이 있습니다 : likelihood (null), likelihood (model) 및 likelihood (saturated). 우도 (null)에서 우도 (모델)를 얻을 수 없습니다.

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

  1. 데이터는 두 모델에서 동일합니다 (AIC 비교에 필요).
  2. 나는 Stat101이나 고등학교 대수학 (현재 카페인 섭취를 감안할 때 강력한 가정)에서 무언가를 잊지 않습니다.

답변