2017-09-05 33 views
1
的匹配AIC

應該不是階梯函數全模型

AIC(full) = 275.93 

匹配的AIC的輸出,當步驟()函數與全模型,其是-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) 

回答

2

您需要的extractAIC代替AIC

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

如果引用文檔?AIC & ?extractAIC它清楚地說,

對數似然,因此AIC/BIC只定義了一個 加常數。爲了不同的目的,常規地使用不同的常量 ,因此extractAIC和AIC可以給出不同的 值(並且對於類「lm」的模型:請參閱extractAIC的幫助)。


希望這會有所幫助!