-----Urspr?ngliche Nachricht----- Von: R-sig-Geo [mailto:r-sig-geo-bounces at r-project.org] Im Auftrag von Maryia Bakhtsiyarava Gesendet: Montag, 15. Februar 2016 03:59 An: R-sig-geo Mailing List <r-sig-geo at r-project.org> Betreff: [R-sig-Geo] AIC/R^2 in splm Dear list members, I am estimating a spatial lag model with time-period fixed effects using package splm. I would like to obtain some goodness-of-fit measures for my models but I cannot figure out how to do it. The traditional AIC
extraction
function doesn't work for a an object of class "splm".
Most extract functions do not support "splm" class. You can try to access the functions for objects of a similar class and rearrange it for splm.
The only thing I can extract is the log likelihood, using which in theory
I can
calculate AIC, but even in that case I am not sure about the degrees of freedom to use in the calculation (do I count time dummies, lag and
intercept
as parameters?). I tried df.residual(model) but I got NULL.
If you use the same data for different models (having the same number of time dummies), it does not matter if you include or exclude these dummies.
Is there another way to obtain AIC and/or R^2? I am sure people encountered this problem before, so if you have any advice on how to
obtain
model statistics, I would greatly appreciate it.
If you receive the log Likelihood in your spml model output (
summary(fesar.mod)$logLik ), you can use the following function to calculate
the AIC (it includes the spatial lag as one parameter and the spatial error
as one parameter):
#### AIC function for spml ####
godf.spml<-function(object, k=2, criterion=c("AIC", "BIC"), ...){
s<-summary(object)
l<-s$logLik[1,1]
np<- length(coef(s))
N<- nrow(s$model)
if(criterion=="AIC"){
aic<- -2*l+k*np
names(aic)<-"AIC"
return(aic)
}
if(criterion=="BIC"){
bic<- -2*l+log(N)*np
names(bic)<-"BIC"
if(k!=2){
warning("parameter <k> not used for BIC")
}
return(bic)
}
}
Example:
require(splm)
fesar.mod<-spml(formula= y~x1+x2, data=data.pd, ...)
godf.spml(fesar.mod, criterion="AIC")
If your spml model output does not contain a value for logLik, see here how
to fix this:
http://r-sig-geo.2731867.n2.nabble.com/spml-and-logLik-help-td7581581.html
There is an R squared reported in the model output:
summary(fesar.mod)$rsqr
Unfortunately it is not documented what kind of (Pseudo)-R squared this is
(to my knowledge).
Best
Tobi
Thank you, Maryia -- Maryia Bakhtsiyarava Graduate student Department of Geography, Environment and Society University of Minnesota, Twin Cities Research Assistant TerraPop Project Minnesota Population Center 414 Social Sciences, 267 19th Ave S, Minneapolis, MN 55455 [[alternative HTML version deleted]]
_______________________________________________ R-sig-Geo mailing list R-sig-Geo at r-project.org https://stat.ethz.ch/mailman/listinfo/r-sig-geo