# Solved – Initialize ARIMA simulations with different time-series

I have a fairly long time-series of annual abundances (\$N_t\$) of a wildlife species (73 years of abundances). To forecast the population’s trajectory, I have used ARIMA modeling. Examination of the ACF and PACF of the first-order differenced time-series suggested a 10-year cycle exists. So I used a span 10 seasonal difference to account for this periodic pattern. Therefore, the response variable was:
\$\$
Y_t=(sqrt{N_t}-sqrt{N_{t-1}})-(sqrt{N_{t-10}}-sqrt{N_{t-11}})
\$\$
Typically, I would have used a logarithmic transformation but it resulted in heteroscedastic residuals. Examination of the ACF and PACF of \$Y_t\$ indicated a multiplicative seasonal structure so I fit the model:
\$\$
ARIMA(0,1,1)(0,1,1)_{10}
\$\$
using the Forecast Package in `R`….`library(forecast)`.

Example code for fitting the model:

``m1=Arima(y,order=c(0,1,1),seasonal=list(order=c(0,1,1),period=10),include.mean=FALSE) ``

The residuals of this model were normally distributed, not autocorrelated, and homoscedastic.

I have been using the fitted model from above for some additional simulation work using the `simulate.Arima` function. However, I would like to initialize the simulation with a different time-series. The `arima.sim` function allows this but the `arima.sim` function doesn't seem to handle seasonal ARIMA models. With the `simulate.Arima` function one can use the `future=TRUE` option to simulate values that are "future to and conditional on the data" in the model `m1`. Can the data in the model object `m1` simply be replaced to create a simulation that is conditional on different data?

For example:

``# Create a new model object for simulation. m.sim=m1 # Replace the data in the model object with the new data. m.sim\$x=new # Simulation conditional on the new data. sim.forecasts=replicate(1000,simulate.Arima(m.sim,future=TRUE,bootstrap=TRUE)) ``
Contents

You can "fit" the model to different data and then simulate:

``m2 <- Arima(z,model=m1) simulate.Arima(m2,future=TRUE,bootstrap=TRUE) ``

`m2` will have the same parameters as `m1` (they are not re-estimated), but the residuals, etc., are computed on the new data.

However, I am concerned with your model. Seasonal models are for when the seasonality is fixed and known. With animal population data, you almost certainly have aperiodic population cycling. This is a well-known phenomenon and can easily be handled with non-seasonal ARIMA models. Look at the literature on the Canadian lynx data for discussion.

By all means, use the square root, but then I would use a non-seasonal ARIMA model. Provided the AR order is greater than 1, it is possible to have cycles. See

You can do all this in one step:

``m1 <- auto.arima(y, lambda=0.5) ``

Then proceed with your simulations as above.

Rate this post