# Re: [R] time series regression

From: Gabor Grothendieck <ggrothendieck_at_gmail.com>
Date: Sat 09 Jul 2005 - 09:47:53 EST

On 7/8/05, yyan liu <zhliur@yahoo.com> wrote:
> Hi:
> I have two time series y(t) and x(t). I want to
> regress Y on X. Because Y is a time series and may
> have autocorrelation such as AR(p), so it is not
> efficient to use OLS directly. The model I am trying
> to fit is like
> Y(t)=beta0+beta1*X(t)+rho*Y(t-1)+e(t)
>
> e(t) is iid normal random error. Anybody know whether
> there is a function in R can fit such models? The
> function can also let me specify how many beta's and
> rho's I can have in the model.
>

Make sure you have the latest version of packages dyn and zoo from CRAN and try this:

library(dyn) # this also pulls in zoo
set.seed(1)
x <- zoo(rnorm(50))
y <- 1 + x + rnorm(49)

# regress y on x
y.lm.1 <- dyn\$lm(y ~ x)
y.lm.1

# regress y on x and lag of y. We use update to just add last term to model. y.lm.2 <- update(y.lm.1, . ~ . + lag(y, -1)) y.lm.2

anova(y.lm.1, y.lm.2) # difference not significant. Use y.lm.1.

# regress y on x and its lag and on lags 1 and 2 of y # this shows that in lag(x,k) that k may be a vector y.lm.3 <- dyn\$lm(y ~ x + lag(x,-1) + lag(y, -seq(2))) y.lm.3