I am having problems with forward prediction using the output of the
Basic Structural Model from StructTS.  The following snippet
illustrates the problem:

t_end <- 139
nahead <- 20
data(AirPassengers)
ap <- log10(AirPassengers)-2
fit <- StructTS(ts(ap[1:t_end], freq=12), type="BSM")
p <- stats:::predict.StructTS(fit, n.ahead=nahead)
plot(1:t_end, ap[1:t_end], xlim=c(0,t_end+nahead), type="l", ylim=c(0,1.2))
points((t_end+1):(t_end+nahead), p$pred[1:nahead], type="l", col=2)

Varying the length of the time series, I find for values of the
variable t_end > 139, the forward prediction looks reasonable. For
values  t_end <= 139 it does not.

Looking through the R source code for StructTS, I find a factor of 100
that I can't account for at about line 99:

vx <- var(x, na.rm=TRUE)/100

If I change this line to:

vx <- var(x, na.rm=TRUE)

I get good forward predictions with the above code, even if the time
series is short.

Is there a problem with the above code snippet, or is this factor of
100 misplaced, or is there something else wrong?

Thanks,

Dave

David Crary
Applied Research Associates, Inc.
Arlington, VA  USA

______________________________________________
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.

Reply via email to