Defining the following:
set.seed(123)
kalmanTorture <- function(iter) {
x <- arima.sim(model = list(ar=0.9, ma=0.5),n=150 )
x[10:20] <- NA
mod <- arima(x, order=c(1,0,1) )
for (i in 1:iter) {
smooth <- KalmanSmooth(x, mod=mod$model)$smooth
if (any(is.na(smooth))) stop("NA on iteration ",i) }
}
and running in R1.9.0beta (equal in R1.8.1), windows XP, precompiled
binaries:
> kalmanTorture(1000)
Error in kalmanTorture(1000) : NA on iteration 147> kalmanTorture(1000)
Error in kalmanTorture(1000) : NA on iteration 3> kalmanTorture(1000)
Error in kalmanTorture(1000) : NA on iteration 2> kalmanTorture(1000)
Error in kalmanTorture(1000) : NA on iteration 3> kalmanTorture(1000)
Error in kalmanTorture(1000) : NA on iteration 1> kalmanTorture(1000)
Error in kalmanTorture(1000) : NA on iteration 4> kalmanTorture(1000)
Error in kalmanTorture(1000) : NA on iteration 1
.
.
.
Starting a new session, using the same set.seed(123)
gives another sequence of iteration numbers where failing.
Kjetil Halvorsen