lunes 28 de marzo de 2011

Función de autocorrelación (+parcial) en R


Existen varios paquetes en R para trabajar con series temporales. Uno de ellos es Stats. Una de las posibilidades que nos ofrece este paquete es crear modelos ARIMA y posteriormente calcular su Función de Autocorrelación (ACF) y parcial (PACF).

La sintaxis es:

arima(x, order = c(0, 0, 0),
      seasonal = list(order = c(0, 0, 0), period = NA),
      xreg = NULL, include.mean = TRUE,
      transform.pars = TRUE,
      fixed = NULL, init = NULL,
      method = c("CSS-ML", "ML", "CSS"),
      n.cond, optim.method = "BFGS",
      optim.control = list(), kappa = 1e6)


Vamos a poder trabajar con modelos formados por parte AR, por parte MA o por las dos.

1er caso. AR(1)
Tenemos y=0.5yt-1 +εt

Si seguimos la sintaxis anterior escribiremos:

Sim_ma<-arima.sim(n=1000, list(ar=(0.5)))
acf (Sim_ma,lag.max =30, main="Autocorrelograma-AR(1)")
pacf (Sim_ma,lag.max =30, main="Autocorrelograma parcial AR(1)")

Al ejecutar estos comandos se nos generarán automáticamente los gráficos para cada función (acf, pacf). Tenemos la opción de guardar en una variable el resultado del acf y del pacf por si nos interesa conocer los valores calculados.

2o caso. MA(1)
Tenemos Yt= 0.5 εt-1 εt

La sintaxis será:

Sim_ma<-arima.sim(n=1000, list(ma=(0.5)))
acf (Sim_ma,lag.max =30, main="Autocorrelograma-MA(1)")
pacf (Sim_ma,lag.max =30, main="Autocorrelograma parcial MA(1)")

3er caso. ARMA(1, 1)
y=0.5yt-1 +0.5εt-1 εconσ2ε =1

La sintaxis será:

Sim_ma<-arima.sim(n=1000, list(ar=(0.5), ma=(0.5)))
acf (Sim_ma,lag.max =30, main="Autocorrelograma-ARMA(1,1)")
pacf (Sim_ma,lag.max =30, main="Autocorrelograma parcial ARMA(1,1)")

0 comentarios:

Publicar un comentario en la entrada

Gracias por escribir un comentario