Quiero crear un código para trazar ACF y PACF a partir de datos de series temporales. Al igual que esto generó la trama de minitab (abajo).
He intentado buscar la fórmula, pero todavía no la entiendo bien. ¿Te importaría decirme la fórmula y cómo usarla, por favor? ¿Cuál es la línea roja horizontal en el gráfico ACF y PACF anterior? Cual es la formula?
Gracias,
correlation
data-visualization
autocorrelation
partial-correlation
Surya Dewangga
fuente
fuente
Respuestas:
Autocorrelaciones
La correlación entre dos variables se define como:y1,y2
donde E es el operador esperado,μ1 y μ2 son las medias respectivamente para y1 e y2 y σ1,σ2 son sus desviaciones estándar.
En el contexto de una sola variable, es decir, autocorrelación ,y1 es la serie original e y2 es una versión retrasada de la misma. Tras la definición anterior, autocorrelaciones de muestra de orden k=0,1,2,... se puede obtener calculando la siguiente expresión con la observada serie yt , t=1,2,...,n :
dondey¯ es la media muestral de los datos.
Autocorrelaciones parciales
Las autocorrelaciones parciales miden la dependencia lineal de una variable después de eliminar el efecto de otras variables que afectan a ambas variables. Por ejemplo, la autocorrelación parcial de orden mide el efecto (dependencia lineal) deyt−2 en yt después de eliminar el efecto de yt−1 en yt y yt−2 .
Cada autocorrelación parcial podría obtenerse como una serie de regresiones de la forma:
dondey~t es la serie original menos la media muestral, yt−y¯ . La estimación de ϕ22 dará el valor de la autocorrelación parcial de orden 2. Extendiendo la regresión con k rezagos adicionales, la estimación del último término dará la autocorrelación parcial de orden k .
Una forma alternativa de calcular las autocorrelaciones parciales de la muestra es resolviendo el siguiente sistema para cada ordenk :
dondeρ(⋅) son las autocorrelaciones de muestra. Este mapeo entre las autocorrelaciones de muestra y las autocorrelaciones parciales se conoce como la
recursión de Durbin-Levinson . Este enfoque es relativamente fácil de implementar para ilustración. Por ejemplo, en el software R, podemos obtener la autocorrelación parcial de orden 5 de la siguiente manera:
Bandas de confianza
Las bandas de confianza se pueden calcular como el valor de las autocorrelaciones de la muestra±z1−α/2n√ , dondez1−α/2 es el cuantil1−α/2 en la distribución gaussiana, por ejemplo, 1.96 para bandas de confianza del 95%.
A veces se utilizan bandas de confianza que aumentan a medida que aumenta el orden. En estos casos, las bandas se pueden definir como±z1−α/21n(1+2∑ki=1ρ(i)2)−−−−−−−−−−−−−−−−√ .
fuente
Aunque el OP es un poco vago, posiblemente esté más orientado a una formulación de codificación de estilo "receta" que a una formulación de modelo de álgebra lineal.
Ejemplo:
Prepararemos una serie temporal con un patrón de seno cíclico superpuesto en una línea de tendencia y ruido, y trazaremos el ACF generado por R. Obtuve este ejemplo de una publicación en línea de Christoph Scherber, y le agregué el ruido:
Por lo general, tendríamos que probar los datos para la estacionariedad (o simplemente mirar el gráfico anterior), pero sabemos que hay una tendencia en él, así que omita esta parte y pasemos directamente al paso de tendencia:
Ahora estamos listos para abordar esta serie de tiempo generando primero el ACF con la
acf()
función en R, y luego comparando los resultados con el ciclo improvisado que armé:Y finalmente graficando de nuevo lado a lado, generados por R y cálculos manuales:
Se puede ver que la idea es correcta, además de posibles problemas computacionales, en comparación
PACF
conpacf(st.y, plot = F)
.codificar aquí .
fuente
Bueno, en la práctica encontramos error (ruido) que está representado pormit las bandas de confianza lo ayudan a determinar si un nivel puede considerarse solo como ruido (porque aproximadamente el 95% de las veces estará dentro de las bandas).
fuente
Aquí hay un código de Python para calcular ACF:
fuente