Документація на R не проливає багато світла. Все, що я можу отримати за цим посиланням, - це те, що використання будь-якого з них повинно бути добре. Чого я не отримую, це те, чому вони не рівні.
Факт: функція покрокової регресії в R, step()
використовує extractAIC()
.
Цікаво, що запуск lm()
моделі та glm()
'null' моделі (лише перехоплення) на наборі даних 'mtcars' R дає різні результати для AIC
та extractAIC()
.
> null.glm = glm(mtcars$mpg~1)
> null.lm = lm(mtcars$mpg~1)
> AIC(null.glm)
[1] 208.7555
> AIC(null.lm)
[1] 208.7555
> extractAIC(null.glm)
[1] 1.0000 208.7555
> extractAIC(null.lm)
[1] 1.0000 115.9434
Це дивно, враховуючи, що обидві моделі вище однакові, і AIC()
дає однакові результати для обох.
Чи може хтось кинути світло на питання?
extractAIC(null.lm) != AIC(null.lm)
,extractAIC(null.glm) == AIC(null.glm)
хочаnull.lm
це та сама модель, якnull.glm
. Чи можете ви трохи розширити свою відповідь?