9.4 Implementación en R

Para simular una serie de tiempo en R se puede emplear la función arima.sim() del paquete base stats. Por ejemplo, podemos generar una serie autoregresiva con:

# Parámetros
nsim <- 200   # Numero de simulaciones
xvar <- 1     # Varianza
xmed <- 0     # Media
rho <- 0.5    # Coeficiente AR
nburn <- 10   # Periodo de calentamiento (burn-in)
evar <- xvar*(1 - rho^2) # Varianza del error
# Simulación
set.seed(1)
ry <- arima.sim(list(order = c(1,0,0), ar = rho), 
            n = nsim, sd = sqrt(evar)) # n.start = nburn
plot(ry)
Simulación de un modelo autoregresivo.

Figura 9.1: Simulación de un modelo autoregresivo.

En este caso el periodo de calentamiento se establece mediante el parámetro n.start (que se fija automáticamente a un valor adecuado). La recomendación es fijar la varianza de las series simuladas si se quieren comparar resultados considerando distintos parámetros de dependencia.

Otras opciones:

  • rand.gen = rnorm

  • innov = rand.gen(n, ...)

  • n.start = NA

  • start.innov = rand.gen(n.start, ...)

Ejemplo (?arima.sim):

ry2 <- arima.sim(n = 63, list(ar = c(0.8897, -0.4858), 
          ma = c(-0.2279, 0.2488)),
          rand.gen = function(n, ...) sqrt(0.1796) * rt(n, df = 5))

plot(ry2)
Simulación de un modelo autoregresivo con errores con distribución *t* de Student.

Figura 9.2: Simulación de un modelo autoregresivo con errores con distribución t de Student.