Curso
Si quieres hacer nuestro curso Introduction to Time Series Analysis in R, aquí tienes el enlace.
Cálculo de autocorrelaciones
Las autocorrelaciones o correlaciones retardadas se utilizan para evaluar si una serie temporal depende de su pasado. Para una serie temporal x de longitud n, consideramos los n-1 pares de observaciones separados por una unidad de tiempo. El primer par es (x[2],x[1]) y el siguiente es (x[3],x[2]). Cada par es de la forma (x[t],x[t-1]), donde t es el índice de la observación, que en este caso varía de 2 a n. La autocorrelación de retardo 1 de x puede estimarse como la correlación muestral de estos pares (x[t], x[t-1]).
En general, podemos crear manualmente estos pares de observaciones. Primero, crea dos vectores, x_t0 y x_t1, cada uno de longitud n-1, de forma que las filas correspondan a los pares (x[t], x[t-1]). Luego aplica la función cor() para estimar la autocorrelación de retardo 1.
Por suerte, el comando acf() ofrece un atajo. Aplicar acf(..., lag.max = 1, plot = FALSE) a una serie x calcula automáticamente la autocorrelación de retardo 1.
Por último, ten en cuenta que las dos estimaciones difieren ligeramente porque emplean escalados distintos al calcular la covarianza muestral, 1/(n-1) frente a 1/n. Aunque la segunda es sesgada, en análisis de series temporales suele preferirse y las autocorrelaciones resultantes solo difieren por un factor (n-1)/n.
En este ejercicio practicarás tanto el cálculo manual como el automático de la autocorrelación de retardo 1. La serie temporal x y su longitud n (150) ya están cargadas. La serie aparece en la gráfica de la derecha.
Instrucciones
- Crea dos vectores,
x_t0yx_t1, cada uno de longitudn-1, de forma que las filas correspondan a los pares(x[t], x[t-1]). - Confirma que
x_t0yx_t1son pares(x[t], x[t-1])usando el código preescrito. - Usa
plot()para ver el diagrama de dispersión dex_t0yx_t1. - Usa
cor()para ver la correlación entrex_t0yx_t1. - Usa
acf()conxpara calcular automáticamente la autocorrelación de retardo 1. Establece el argumentolag.maxen1para obtener un único retardo y el argumentoplotenFALSE. - Confirma que el factor de diferencia es
(n-1)/nusando el código preescrito.
Si todo tiene sentido, sigue con el siguiente ejercicio. Si no, aquí tienes un vídeo de resumen.
Vídeo de resumen sobre autocorrelación
La función de autocorrelación
Las autocorrelaciones pueden estimarse a muchos retardos para evaluar mejor cómo una serie temporal se relaciona con su pasado. Normalmente nos interesa más cómo se relaciona con su pasado más reciente.
La función acf(..., lag.max = ..., plot = FALSE) estima todas las autocorrelaciones desde 0, 1, 2, ... hasta el valor indicado en el argumento lag.max. En el ejercicio anterior te centraste en la autocorrelación de retardo 1 fijando el argumento lag.max en 1.
En este ejercicio explorarás más usos del comando acf(). De nuevo, la serie temporal x ya está precargada y aparece en la gráfica de la derecha.
Instrucciones
- Usa
acf()para ver las autocorrelaciones de la seriexde 0 a 10. Establece el argumentolag.maxen10y dejaplotcomoFALSE. - Copia y pega la estimación de autocorrelación (ACF) en el retardo 10.
- Copia y pega la estimación de autocorrelación (ACF) en el retardo 5.
Visualización de la función de autocorrelación
Estimar la función de autocorrelación (ACF) a múltiples retardos nos permite evaluar cómo se relaciona una serie temporal x con su pasado. Las estimaciones numéricas son clave para cálculos detallados, pero también es útil visualizar la ACF como función del retardo.
De hecho, el comando acf() genera una figura por defecto. También elige por defecto un valor para lag.max, el número máximo de retardos a mostrar.
Se han cargado en tu entorno de R tres series temporales, x, y y z, y se muestran en la gráfica de la derecha. La serie x muestra una fuerte persistencia, es decir, el valor actual está muy relacionado con los que le preceden. La serie y muestra un patrón periódico con un ciclo de aproximadamente cuatro observaciones, lo que significa que el valor actual está relativamente cerca del de cuatro observaciones antes. La serie z no presenta un patrón claro.
En este ejercicio trazarás una función de autocorrelación estimada para cada serie. En las figuras que produce acf(), el retardo de cada estimación aparece en el eje horizontal y cada estimación se indica con la altura de las barras verticales. Recuerda que la ACF en el retardo 0 siempre es 1.
Por último, cada figura de ACF incluye un par de líneas azules horizontales discontinuas que representan intervalos de confianza del 95% por retardo, centrados en cero. Se utilizan para determinar la significación estadística de una estimación de autocorrelación en un retardo dado frente a un valor nulo de cero; es decir, ausencia de autocorrelación en ese retardo.
Instrucciones
Usa tres llamadas a la función acf() para mostrar las ACF estimadas de cada una de tus series temporales (x, y y z). No es necesario especificar argumentos adicionales en tus llamadas a acf().
Si quieres aprender más con este curso, aquí tienes el enlace.
Echa un vistazo a nuestro Time Series Analysis using R: Tutorial.
