Siguiendo con el tema de series temporales, en esta entrada vamos a tratar el tema de la autocorrelación, como calcular la función de autocorrelación (ACF), autocorrelación parcial (PACF) en R y graficar un correlograma.

¿Qué es la autocorrelación en las series temporales?

Es un término estadístico que se utiliza para describir la presencia o ausencia de correlación en los datos de las series temporales, indicando, si las observaciones pasadas influyen en las actuales.

Por tanto, se puede decir que la autocorrelación hace referencia cuando los valores que toman una variable en el tiempo no son independientes entre sí, sino que un valor determinado depende de los valores anteriores.

El problema de la autocorrelación se denomina también frecuentemente de “correlación serial”.

Para medir la autocorrelación se suele usar:

  • La función de autocorrelación
  • La función de autocorrelación parcial

La función de autocorrelación (ACF)

  • Mide la correlación entre dos variables separadas por k periodos.
  • Mide el grado de asociación lineal que existe entre dos variables del mismo proceso estocástico.

La función de autocorrelación parcial (PACF)

  • Mide la correlación entre dos variables separadas por k periodos cuando no se considera la dependencia creada por los retardos intermedios existentes entre ambas.
  • Mide la autocorrelación que existe entre dos variables separadas k períodos descontando los posibles efectos debidos a variables intermedias.

La función ACF es usada para identifcar el proceso de media móvil (MA) en un modelo ARIMA; mientras que la función PACF se usa para identificar los valores de la parte del proceso autoregresivo (AR).

Los gráficos generado a partir de estas funciones se denominan correlogramas, el cual contiene bandas con un intervalo de confianza del 95%.

Vamos a trabajar con el dataset “lynx” que viene por defecto en R.

Este dataset contiene el número de linces atrapados cada año en Canadá, entre los períodos de 1821 y 1934.

data(lynx)

Linces <- lynx
class(Linces)
## [1] "ts"
head(Linces)
## [1]  269  321  585  871 1475 2821
plot(Linces)

plot of chunk unnamed-chunk-27

Aplicamos ACF:

acf(Linces, lag.max =20, plot =F)
## 
## Autocorrelations of series 'Linces', by lag
## 
##      0      1      2      3      4      5      6      7      8      9 
##  1.000  0.711  0.214 -0.189 -0.433 -0.502 -0.400 -0.148  0.218  0.501 
##     10     11     12     13     14     15     16     17     18     19 
##  0.514  0.283 -0.029 -0.303 -0.450 -0.461 -0.346 -0.098  0.223  0.426 
##     20 
##  0.404

Donde “lag.max” indica el número máximo de retardos para el cual se calculará.

Para ver el gráfico:

acf(Linces, lag.max =20, plot =T)

plot of chunk unnamed-chunk-29

En este caso, se omite la primera barra ya que corresponde a la autocorrelación con la misma observación, retraso/lag =0. Por ende, la segunda y tercera barra son significativas.

Si miramos la función de autocorrelación parcial:

pacf(Linces, lag.max =20, plot =F)
## 
## Partial autocorrelations of series 'Linces', by lag
## 
##      1      2      3      4      5      6      7      8      9     10 
##  0.711 -0.588 -0.039 -0.250 -0.094 -0.052  0.119  0.301  0.055 -0.081 
##     11     12     13     14     15     16     17     18     19     20 
## -0.089 -0.040 -0.099 -0.014 -0.113 -0.108 -0.006  0.116 -0.016 -0.018

Graficamos:

pacf(Linces, lag.max =20, plot =T)

plot of chunk unnamed-chunk-31

En este otro caso, la primera barra corresponde al primer retraso. La primera barra es entonces muy significativa, la segunda también pero en otro sentido al ser negativa.

Si comparamos lo anterior, con unos datos generados aleatoriamente y que tienen una distribución normal, (con media y varianza constantes) podemos observar que las funciones tanto ACF y PACF no son significativas:

datos <- ts(rnorm(800))
plot(datos)

plot of chunk unnamed-chunk-32

acf(datos, lag.max = 20, plot=T)

plot of chunk unnamed-chunk-33

pacf(datos, lag.max =20, plot =T)

plot of chunk unnamed-chunk-33

Análisis y predicción de series temporales con R (III): Autocorrelaciónhttps://i2.wp.com/finanzaszone.com/wp-content/uploads/2018/03/acf.png?fit=504%2C504&ssl=1https://i2.wp.com/finanzaszone.com/wp-content/uploads/2018/03/acf.png?resize=150%2C150&ssl=1Conney Marulanda LópezEconomíaRAutocorrelación,Econometría,R,Series temporalesSiguiendo con el tema de series temporales, en esta entrada vamos a tratar el tema de la autocorrelación, como calcular la función de autocorrelación (ACF), autocorrelación parcial (PACF) en R y graficar un correlograma. ¿Qué es la autocorrelación en las series temporales? Es un término estadístico que se utiliza para describir...Finanzas, Economía, Trading y R