Computation of AIC and AIC with weights
- From: joseph.yarmus@xxxxxxxxxx
- Date: Wed, 26 Sep 2007 08:22:43 -0700
This message was also posted to R-help.
In accordance with Venables and Ripley, SAS documentation and other
sources AIC with sigma^2 unknown is calculated as:
AIC = -2LL + 2* #parameters = n log(RSS/n) + 2p
For the fitness data: (http://support.sas.com/ctx/samples/index.jsp?
sid=927), SAS gets an AIC of 64.534 with model oxygen = runtime. (SAS
STAT User's Guide. Chapter 61. pp 3956, the REG Procedure). This value
of AIC accords with n log(RSS/n) + 2p and p = 2.
When I run the same problem in R ver 2.5.1, I get
rt.glm =glm(oxy ~ runtime, data=fitness)Call: glm(formula = oxy ~ runtime, data = fitness)
rt.glm
Coefficients:
(Intercept) runtime
82.422 -3.311
Degrees of Freedom: 30 Total (i.e. Null); 29 Residual
Null Deviance: 851.4
Residual Deviance: 218.5 AIC: 154.5
I get very close to what R gets if the constant term is included in
-2LL, (31*Log(2*pi)+n-1), divide RSS by n-1 and the number of
parameters is 3 (the predictor, the intercept and the error term)
31 * (log(2*pi)+log(sum(rt.glm$res^2)/30)) + 30 + 2 * 3[1] 154.5248
AIC(rt.glm)[1] 154.5083
3 questions:
1) Why the discrepancy between SAS and R?
2) Why the slight difference between my calculation in R and R's AIC?
3) How should AIC be computed if row weights are used in the linear
model?
Thanks!
-joe yarmus
.
- Follow-Ups:
- Re: Computation of AIC and AIC with weights
- From: joseph . yarmus
- Re: Computation of AIC and AIC with weights
- Prev by Date: How do I express the regression function in the original units?
- Next by Date: Re: How do I express the regression function in the original units?
- Previous by thread: How do I express the regression function in the original units?
- Next by thread: Re: Computation of AIC and AIC with weights
- Index(es):
Relevant Pages
|