[R] Retrieve autocorrelation-corrected errors from gls (nlme) or gamm (mgcv)

Daniel Malter daniel at umd.edu
Tue Aug 21 20:17:39 CEST 2012


Hi,

In the example below, I am modeling the dependent variable Y as a function
of X when the errors are autoregressive at the first lag.  There is a number
of ways/functions with which to model this. arima (tseries), gls (nlme), and
gamm should produce similar results in the simulated example below, and they
do.

However, I need the residuals from this analysis and both gls and gamm seem
to return the errors before correction for autocorrelation, whereas arima
returns the corrected errors (i.e., the estimate of the innovation). My
question is whether there is an easy way to retrieve the corrected errors
from gamm or gls. My real data are panel data with AR3 errors for which I
model nonlinear effects of the independent variables on the dependent
variable. Hand-computing the appropriate errors would be painful.

#simulate data with AR1 errors

set.seed(394857395)
e<-rnorm(101)
e<-e[2:101]+0.5*e[1:100]
x<-rnorm(100)
y<-x+e

#OLS for comparison
reg<-lm(y~x)
summary(reg)
pacf(residuals(reg))

#arima
require(tseries)
reg1<-arima(y,order=c(1,0,0),xreg=x)
reg1

#gls
require(nlme)
reg2<-gls(y~x,correlation=corAR1())
summary(reg2)

#gamm
require(mgcv)
reg3<-gamm(y~s(x),correlation=corAR1())
summary(reg3$lme)

par(mfcol=c(1,3))
pacf(residuals(reg1),main="ARIMA",lag.max=10)
pacf(residuals(reg2),main="GLS",lag.max=10)
pacf(residuals(reg3$lme),main="GAMM",lag.max=10)


Thanks,
Daniel



 



--
View this message in context: http://r.789695.n4.nabble.com/Retrieve-autocorrelation-corrected-errors-from-gls-nlme-or-gamm-mgcv-tp4640930.html
Sent from the R help mailing list archive at Nabble.com.



More information about the R-help mailing list