Solved – Simulate seasonal ARIMA model with fixed variance and starting point

arimarseasonalitysimulation

I am trying to simulate seasonal ARIMA models of order (0,1,1)(0,1,1)12 with fixed variance.

Firstly I was using the arima.sim using 12 lags for specifying the seasonal part, like:

y <- arima.sim(list(order = c(0,1,12), ma = c(-0.8,rep(0,10),-0.8)), n = 189, sd = 0.2)

However I see this is not working, I think because of the missing seasonal difference. I was thus going to use the forecast package using the following code:

model <- Arima(ts(rnorm(189),freq=12), order=c(0,1,1), seasonal=c(0,1,1), fixed=c(theta=-0.8, Theta=-0.8))
x <- simulate(model, nsim=189)

But here I cannot directly express the variance as in arima.sim.

Finally, I would like my simulated series to start at different point in time, not around zero, as I need to create a set of positive series with different sizes.

Best Answer

  1. You can pass the whole innovations sequence, using whatever variance you like, via the innov argument to simulate.Arima.

  2. This is a non-stationary process. So just add whatever constant you want to the resulting simulated data. However, with two unit roots, you cannot expect all sample paths to stay positive as these are non-stationary processes. Perhaps you need to consider alternative data generating processes.