Quiero detectar la estacionalidad en los datos que recibo. Hay algunos métodos que he encontrado, como el gráfico de subserie estacional y el gráfico de autocorrelación, pero la cuestión es que no entiendo cómo leer el gráfico, ¿alguien podría ayudarme? La otra cosa es, ¿hay otros métodos para detectar la estacionalidad con o sin el resultado final en el gráfico?
time-series
seasonality
Danial
fuente
fuente
Respuestas:
Una muy buena manera de encontrar la periodicidad en cualquier serie regular de datos es inspeccionar su espectro de potencia después de eliminar cualquier tendencia general . (Esto se presta bien a la detección automática cuando la potencia total se normaliza a un valor estándar, como la unidad). La eliminación preliminar de la tendencia (y la diferenciación opcional para eliminar la correlación en serie) es esencial para evitar períodos de confusión con otros comportamientos.
El espectro de potencia es la transformada discreta de Fourier de la función de autocovarianza de una versión adecuadamente suavizada de la serie original. Si piensa en la serie temporal como un muestreo de una forma de onda física, puede estimar la cantidad de potencia total de la onda que se transporta dentro de cada frecuencia. El espectro de potencia (o periodograma ) traza la potencia versus la frecuencia. Cíclico (es decir, patrones repetitivos o estacionales) se mostrarán como grandes picos ubicados en sus frecuencias.
Como ejemplo, considere esta serie temporal (simulada) de residuos de una medición diaria tomada durante un año (365 valores).
Aquí hay otra gráfica de los mismos datos, dibujada para ayudarnos a ver posibles patrones periódicos.
Si miras muy duro, podrías discernir un patrón ruidoso pero repetitivo que ocurre de 11 a 12 veces. Las secuencias más largas de valores por encima de cero y por debajo de cero al menos sugieren alguna autocorrelación positiva, lo que muestra que esta serie no es completamente aleatoria.
Aquí está el periodograma, que se muestra para frecuencias de hasta 91 (un cuarto de la longitud total de la serie). Fue construido con una ventana de Welch y normalizado al área de la unidad (para todo el periodograma, no solo la parte que se muestra aquí).
El poder se ve como "ruido blanco" (pequeñas fluctuaciones aleatorias) más dos picos prominentes. Son difíciles de perder, ¿no? El más grande ocurre en un período de 12 y el más pequeño en un período de 52. Este método ha detectado un ciclo mensual y un ciclo semanal en estos datos. Eso es realmente todo lo que hay que hacer. Para automatizar la detección de ciclos ("estacionalidad"), simplemente escanee el periodograma (que es una lista de valores) en busca de máximos locales relativamente grandes.
Es hora de revelar cómo se crearon estos datos.
Los valores se generan a partir de una suma de dos ondas sinusoidales, una con frecuencia 12 (de amplitud cuadrada 3/4) y otra con frecuencia 52 (de amplitud cuadrada 1/4). Estos son los picos detectados en el periodograma. Su suma se muestra como la curva negra gruesa. Iid Luego se agregó ruido normal de varianza 2, como lo muestran las barras de color gris claro que se extienden desde la curva negra hasta los puntos rojos. Este ruido introdujo las oscilaciones de bajo nivel en la parte inferior del periodograma, que de otro modo sería un cero plano. Dos tercios de la variación total en los valores son no periódicos y aleatorios, lo cual es muy ruidoso: por eso es Es muy difícil distinguir la periodicidad con solo mirar los puntos. Sin embargo (en parte porque hay tantos datos) encontrar las frecuencias con el periodograma es fácil y el resultado es claro.
Las instrucciones y los buenos consejos para calcular periodogramas aparecen en el sitio de Recetas Numéricas : busque la sección "Estimación del espectro de potencia utilizando la FFT".
R
tiene código para la estimación del periodograma . Estas ilustraciones fueron creadas en Mathematica 8; el periodograma se calculó con su función "Fourier".fuente
Aquí hay un ejemplo que usa datos mensuales sobre las solicitudes de registro de desempleo de una ciudad de Nueva Jersey (de Stata, solo porque eso es lo que analicé originalmente en estos datos).
Las alturas de las líneas indican la correlación entre una variable y el sth lag de sí misma; el área gris le da una idea de si esta correlación es significativa (este rango es solo una guía y no es la forma más confiable de probar la importancia). Si esta correlación es alta, hay evidencia de correlación en serie. Tenga en cuenta las jorobas que ocurren alrededor de los períodos 12, 24 y 36. Dado que se trata de datos mensuales, esto sugiere que la correlación se vuelve más fuerte cuando se miran períodos exactamente 1, 2 o 3 años anteriores. Esto es evidencia de la estacionalidad mensual.
Puede probar estas relaciones estadísticamente haciendo retroceder la variable en variables ficticias que indican el componente de estacionalidad --- aquí, dummies de mes. Puede probar la importancia conjunta de esos maniquíes para evaluar la estacionalidad.
Este procedimiento no es del todo correcto, ya que la prueba requiere que los términos de error no estén correlacionados en serie. Entonces, antes de probar estos dummies de estacionalidad, necesitamos eliminar la correlación serial restante (típicamente incluyendo rezagos de la variable). Puede haber pulsos, interrupciones y todos los demás problemas de series temporales que también necesita corregir para obtener los resultados apropiados de la prueba. No preguntaste sobre eso, así que no entraré en detalles (además, hay muchas preguntas de CV sobre esos temas). (Solo para alimentar su curiosidad, esta serie requiere los dummies mensuales, un solo retraso de sí mismo y un componente de cambio para deshacerse de la correlación serial).
fuente
La estacionalidad puede cambiar, y lo hace a menudo, con el tiempo, por lo que las medidas de resumen pueden ser bastante inadecuadas para detectar la estructura. Hay que probar la transitoriedad en los coeficientes ARIMA y, a menudo, los cambios en los "dummies estacionales". Por ejemplo, en un horizonte de 10 años, puede que no haya habido un efecto de junio durante los primeros k años, pero en los últimos 10 años hay evidencia de un efecto de junio. Un simple efecto compuesto de junio podría no ser significativo ya que el efecto no fue constante en el tiempo. De manera similar, un componente ARIMA estacional también puede haber cambiado. Se debe tener cuidado para incluir los cambios a nivel local y / o las tendencias de tiempo local al tiempo que se garantiza que la variación de los errores se ha mantenido constante en el tiempo. No se deben evaluar transformaciones como GLS / mínimos cuadrados ponderados o transformaciones de potencia como registros / raíces cuadradas, etc. en los datos originales pero en los errores de un modelo tentativo. Los supuestos gaussianos no tienen nada que ver con los datos observados, sino que tienen que ver con los errores del modelo. Esto se debe a los fundamentos de las pruebas estadísticas que utilizan la relación de una variable de chi-cuadrado no central a una variable de chi-cuadrado central.
Si desea publicar una serie de ejemplos de su mundo, me complacería proporcionarle a usted y a la lista un análisis exhaustivo que conduzca a la detección de la estructura estacional.
fuente
La respuesta de Charlie es buena, y es donde comenzaría. Si no desea utilizar gráficos ACF, puede crear variables ficticias k-1 para los k períodos de tiempo presentes. Luego puede ver si las variables ficticias son significativas en una regresión con las variables ficticias (y probablemente un término de tendencia).
Si sus datos son trimestrales: ficticio Q2 es 1 si este es el segundo trimestre, de lo contrario 0 ficticio Q3 es 1 si este es el tercer trimestre, de lo contrario 0 ficticio Q4 es 1 si este es el cuarto trimestre, de lo contrario 0 Tenga en cuenta que el trimestre 1 es el caso base (los 3 dummies cero)
Es posible que también desee consultar la "descomposición de series temporales" en Minitab, a menudo llamada "descomposición clásica". Al final, es posible que desee utilizar algo más moderno, pero este es un lugar simple para comenzar.
fuente
Me gustaría aceptar la oferta de ayuda del usuario de IrishStat o de cualquier otra persona en mi serie de ejemplos del mundo real. Estoy tratando de producir un índice estacional basado en los últimos 5 años de precios de futuros del petróleo crudo. He logrado producir un promedio estacional simple que se puede ver aquí .
Sin embargo, me gustaría reproducir un gráfico estacional anual continuo (supongo que continuo significa que el inicio y el final del año tienen el mismo valor) y está en una escala de cero a 100 como se muestra en la imagen siguiente:
Hay 15 años de datos de nivel de precio diario en la hoja de cálculo que se pueden descargar. Ejemplo o cualquier pista sobre cómo lograr lo anterior sería muy apreciada.
fuente
Soy un poco nuevo para R, pero mi comprensión de la función ACF es que si la línea vertical va por encima de la línea discontinua superior o por debajo de la línea discontinua inferior, hay algo de autorregresión (incluida la estacionalidad). Intente crear un vector de seno
fuente