Hi, Gabor and Other R users, I'm re-posting my script and the results I got.
here is the dynamic model I used to estimate in-sample model (1996-2006) and it works: fit<-dyn$lm(Y~lag(Y,-1)+z+x+lag(x,-1)+lag(x,-2)+lag(x,-3)+lag(x,-4)) Then I used this model to do out sample forecast with the following scripts, which do not work: z<-ts(Z[41:52],start=2006,frequency=4) x<-ts(X[41:52],start=2006,frequency=4) newdata<-data.frame(cbind(z,x)) newdata<-ts(newdata,start=2006,frequency=4) pred<-predict(fit,newdata) Here is the results I got from R: Qtr1 Qtr2 Qtr3 Qtr4 2006 NA NA NA NA 2007 3083.362 NA NA NA 2008 NA NA NA NA 2009 NA NA NA NA I got only one prediction for the first quarter in 2007. Intuitively, there might be two problems: the definition of the newdata and how to define Y in newdata. But I just can't figure this out. It will greatly appreciated if someone can give me some help. Thanks. Harry On Thu, Jul 23, 2009 at 5:15 AM, Gabor Grothendieck <ggrothendi...@gmail.com > wrote: > You have to use consistent classes. You can't start out using > ts class and then suddenly switch to zoo class as if you had been > using zoo all along. Either use ts everywhere or zoo everywhere. > > Also in the future please post reproducible examples as requested > at the bottom of every message to r-help. That means include > a minimal amount of data so we can get exactly what you > are getting. > > On Thu, Jul 23, 2009 at 4:48 AM, Hongwei Dong<pdxd...@gmail.com> wrote: > > Thanks, Gabor. This is really helpful. > > When the regressive part, lag(Y,-1), is not included, my sytax works > well. > > However, when I include the lag(Y) in the model, the prediction part does > > not work. Here is my sytax for in-sample estimation and it works well: > > fit<-dyn$lm(Y~lag(Y,-1)+x+lag(x,-1)+lag(x,-2)+lag(x,-3)+lag(x,-4)+z). > > Then I use this model to do out of sample prediction: > > x<-ts(X[41:52],start=2006,frequency=4) > > z<-ts(Z[41:52],start=2006,frequency=4) > > newdata<-data.frame(cbind(x,z)) > > newdata<-zooreg(newdata) > > pred<-predict(fit,newdata) > > With these, I got weird result, a prediction for each year from year 1 to > > the first quarter of year 2007 (all "NA"). What I expect is a prediction > for > > the 8 quarters from 2007 to 2008. Intuitively, I know there must be > > something wrong with my newdata definition. But I can't figure it out. > I'll > > appreciate it very much if you can give some suggestions to modify my > > syntax. Thanks. > > > > Harry > > > > > > > > > > > > > > > > > > > > > > > > On Wed, Jul 22, 2009 at 10:53 PM, Gabor Grothendieck > > <ggrothendi...@gmail.com> wrote: > >> > >> Here is an example closer to yours. > >> > >> > library(dyn) > >> > set.seed(123) > >> > x <- zooreg(rnorm(10)) > >> > y <- zooreg(rnorm(10)) > >> > L <- function(x, k = 1) lag(x, k = -k) > >> > mod <- dyn$lm(y ~ L(y) + L(x, 0:2)) > >> > mod > >> > >> Call: > >> lm(formula = dyn(y ~ L(y) + L(x, 0:2))) > >> > >> Coefficients: > >> (Intercept) L(y) L(x, 0:2)1 L(x, 0:2)2 L(x, 0:2)3 > >> 0.06355 -0.74540 0.63649 0.44957 -0.41360 > >> > >> > newdata <- cbind(x = c(coredata(x), rnorm(1)), y = c(coredata(y), > >> > rnorm(1))) > >> > newdata <- zooreg(newdata) > >> > predict(mod, newdata) > >> 1 2 3 4 5 6 > >> 7 > >> NA NA 0.9157808 0.6056333 -0.5496422 1.5984615 > >> -0.2574875 > >> 8 9 10 11 12 13 > >> -1.6148859 0.3329285 -0.5284646 -0.1799693 NA NA > >> > >> > >> On Thu, Jul 23, 2009 at 1:04 AM, Gabor > >> Grothendieck<ggrothendi...@gmail.com> wrote: > >> > Use dyn.predict like this: > >> > > >> >> library(dyn) > >> >> x <- y <- zoo(1:5) > >> >> mod <- dyn$lm(y ~ lag(x, -1)) > >> >> predict(mod, list(x = zoo(6:10, 6:10))) > >> > 7 8 9 10 > >> > 7 8 9 10 > >> > > >> > > >> > On Thu, Jul 23, 2009 at 12:54 AM, Hongwei Dong<pdxd...@gmail.com> > wrote: > >> >> I have a dynamic time series model like this: > >> >> dyn$lm( y ~ lag(y,-1) + x + lag(x,-1)+lag(x,-2) ) > >> >> > >> >> I need to do an out of sample forecast with this model. Is there any > >> >> way I > >> >> can do this with R? > >> >> It would be greatly appreciated if some one can give me an example. > >> >> Thanks. > >> >> > >> >> > >> >> Harry > >> >> > >> >> [[alternative HTML version deleted]] > >> >> > >> >> ______________________________________________ > >> >> R-help@r-project.org mailing list > >> >> https://stat.ethz.ch/mailman/listinfo/r-help > >> >> PLEASE do read the posting guide > >> >> http://www.R-project.org/posting-guide.html > >> >> and provide commented, minimal, self-contained, reproducible code. > >> >> > >> > > > > > > [[alternative HTML version deleted]] ______________________________________________ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.