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:
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:
using the Forecast Package in
Example code for fitting the model:
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?
# 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))