ступенчатая функция, соответствующая АПК полной модели

Не следует ли

AIC(full) = 275.93

сопоставьте вывод AIC, когда функция step() работает с полной моделью, которая на -9,86 ниже

Start:  AIC=-9.86
y ~ x + x2

       Df Sum of Sq    RSS      AIC
- x2    1   0.03672 85.372 -11.8147
- x     1   1.03869 86.374 -10.6479
<none>              85.336  -9.8578

Step:  AIC=-11.81
y ~ x

       Df Sum of Sq    RSS     AIC
- x     1     1.004 86.376 -12.646
<none>              85.372 -11.815

Step:  AIC=-12.65
y ~ 1


Call:
lm(formula = y ~ 1, data = data)

Coefficients:
(Intercept)  
   -0.03719  

вот полный код:

set.seed(101)
y = rnorm(100)
x = rnorm(100)
x2 = rnorm(100)
data = data.frame(y = y, x = x, x2 = x2)
null = lm(y~1, data = data)
full = lm(y~x+x2, data = data)
#step(null, scope= list(lower = null, upper = full) , direction="backward", trace = TRUE)
step(full, direction="backward", trace = TRUE)
AIC(full)

person user3022875    schedule 05.09.2017    source источник


Ответы (1)


Вам понадобится extractAIC вместо AIC

extractAIC(lm(y~x+x2, data = data), scale=0)
#OR
#extractAIC(full, scale=0)

Если вы обратитесь к документации ?AIC и ?extractAIC, там ясно сказано, что

Логарифмическая вероятность и, следовательно, AIC/BIC определяются только с точностью до аддитивной константы. Разные константы обычно используются для разных целей, и поэтому extractAIC и AIC могут давать разные значения (что и происходит для моделей класса "lm": см. справку для extractAIC).


Надеюсь, это поможет!

person 1.618    schedule 06.09.2017