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**hide

#### Best Answer

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.

### Similar Posts:

- Solved – Simulate seasonal ARIMA model with fixed variance and starting point
- Solved – Simulate ARIMA model in R using same starting values as original time series
- Solved – R: How to to simulate ARIMA using starting values
- Solved – Forecasting with ARIMA with outlier
- Solved – Use ARIMA equation outside R