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)
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 = rnorminnov = rand.gen(n, ...)n.start = NAstart.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)
Figura 9.2: Simulación de un modelo autoregresivo con errores con distribución t de Student.