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
<- 200 # Numero de simulaciones
nsim <- 1 # Varianza
xvar <- 0 # Media
xmed <- 0.5 # Coeficiente AR
rho <- 10 # Periodo de calentamiento (burn-in)
nburn <- xvar*(1 - rho^2) # Varianza del error
evar # Simulación
set.seed(1)
<- arima.sim(list(order = c(1,0,0), ar = rho),
ry n = nsim, sd = sqrt(evar)) # n.start = nburn
plot(ry)
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
):
<- arima.sim(n = 63, list(ar = c(0.8897, -0.4858),
ry2 ma = c(-0.2279, 0.2488)),
rand.gen = function(n, ...) sqrt(0.1796) * rt(n, df = 5))
plot(ry2)