Ciencia de datos: ¿Se puede utilizar el aprendizaje automático para el análisis de series temporales?

Los datos de series temporales se pueden ver como datos secuenciales y hay varias formas estándar de examinarlos; El modelo oculto de Markov es uno de esos métodos que se ha mantenido muy popular durante varios años. Una nueva investigación muestra que la red neuronal recurrente también es buena en el manejo de datos temporales [1]. El modelado de promedio móvil integrado autorregresivo ha sido una práctica estándar entre los analistas de series temporales. Un método un poco complicado, como los procesos gaussianos, también se utiliza eficazmente para el modelado de series temporales [2]. Una serie de tiempo puede descomponerse como un problema de regresión estándar, donde el valor predicho actual depende de un bloque de valores pasados.

Creo que depende de cómo queramos ver este problema, desde un punto de vista de pronóstico o comprensión de datos históricos. Un desafío importante con el pronóstico es que no puede dar buenas predicciones en un horizonte largo.

Notas al pie

[1] Forma adecuada de usar la red neuronal recurrente para el análisis de series de tiempo

[2] http://www.robots.ox.ac.uk/~sjro…

Absolutamente.

Básicamente, cuando se enfrenta a datos de series de tiempo y ha realizado la limpieza de datos requerida, el aprendizaje automático es un método de modelado tan válido como el modelado estadístico.

De hecho, algunos algoritmos pueden manejar bien los valores faltantes y hacer menos suposiciones sobre la distribución subyacente, por lo que en realidad puede ser una forma preferible de abordar el problema.

Por lo tanto, en lugar de preocuparse por si una serie temporal es estacionaria o si realiza alguna prueba de Ljung-Box-Cox-Kwiatkowski-Phillips-Schmidt-Shin- [inserte el nombre aquí], o ajusta cualquier distribución, puede manejar todo con características.

Es decir:

  • puede romper la estacionalidad (incluso varias capas) usando variables ficticias: día de la semana, fines de semana, días festivos, estaciones, hora del día, etc.
  • puede usar con datos de sección transversal junto con los datos de series de tiempo.
  • puedes introducir retrasos como características
  • puede usar las mismas transformaciones de características (por ejemplo, polinomios) como si estuviera haciendo modelado estadístico

Tenga en cuenta que aún tendrá que hacer alguna forma de selección de funciones. Pero después de eso, puede ejecutarlo a través de un algoritmo robusto de aprendizaje automático, como una implementación de árboles de decisión.

Algunos amigos y yo estábamos trabajando en uno de esos conjuntos de datos en Kaggle el año pasado. Se acabó, pero puedes echar un vistazo a los datos y las discusiones en el foro sobre este tema:

Demanda de bicicletas compartidas

Absolutamente, el aprendizaje automático es una forma fantástica de evaluar series temporales. Solo para darle algunos antecedentes, he estado trabajando en series de tiempo desde 2011 e implementando realmente el aprendizaje automático para predecir (pronosticar) series de tiempo durante varios años.

Hay varios enfoques que se pueden implementar. Algunos son mejores que otros dependiendo de las características de las series de tiempo. Los métodos incluyen:

  • Regresión: uso de funciones basadas en el tiempo, como la semana, el mes, el día, el día de la semana, etc., como predictores. También puede agregar predictores externos que pueden influir en el objetivo (por ejemplo, el clima y la temperatura pueden afectar las ventas de paraguas).
  • ARIMA: promedio móvil integrado autorregresivo: uso de la autocorrelación (rezagos) como predictores
  • GARCH – Modelos que cambian la varianza
  • Descomposición de series de tiempo: división de tendencia, estacionalidad, etc.
  • Otros – Aprendizaje profundo, modelos basados ​​en GAM (profeta) – También pueden ser útiles

Aquí hay algunos artículos que pueden ayudar, que muestran diferentes técnicas de regresión de aprendizaje automático en un conjunto de datos con alta presencia de estacionalidad y tendencia mensual:

  • H2O para series temporales: utiliza el algoritmo automático de aprendizaje automático H2O en R
  • Regresión múltiple para series de tiempo: utiliza la función lm () en R
  • ARIMA para series temporales: utiliza el paquete de pronóstico, auto.arima ()

El aprendizaje automático (usando árboles de decisión, regresión lineal, etc.) puede no ser adecuado si los patrones no existen en los datos. En algunas situaciones, otros métodos específicos de series temporales pueden ser mejores:

  • ARIMA es excelente cuando la autocorrelación está presente, pero posiblemente sea un patrón menor, de modo que Machine Learning podría tener problemas para establecer una relación. Ideal para series de estilo de paseo al azar.
  • GARCH Al igual que ARIMA, pero es más adecuado cuando la variación cambia (por ejemplo, un shock como una crisis financiera). Ideal para series de estilo de paseo al azar.

Por último, para aquellos que son nuevos en las series de tiempo, aquí hay una colección de publicaciones que ayudan a definir las funciones continuas y la autocorrelación:

  • Retrasos y autocorrelación: detección de relaciones entre las series de tiempo y versiones anteriores de sí mismo
  • Correlación progresiva: útil para detectar relaciones entre dos series de tiempo
  • Funciones de balanceo: promedio de balanceo, mediana, cuantiles, etc.
  • Aplicar período: la aplicación de funciones por período de tiempo suele ser una función de agregación (media, mediana, suma, etc.)

He investigado mucho sobre los datos de predicción de series temporales, desde ARIMA y EWMA hasta SVM, redes neuronales y mis propios algoritmos. Si su pregunta significa “¿pueden predecirse las series temporales mediante algoritmos de aprendizaje automático?”, La respuesta es definitivamente sí.

¿Es fácil? De ninguna manera la imaginación. Las redes neuronales de ciertos tipos casi solo conectan las series de tiempo, y estamos listos para comenzar. Las SVM requieren un poco de reflexión. Los árboles y los bosques deben modificarse seriamente para que la predicción de series temporales funcione.

Pero, de nuevo, la respuesta es sí. La mayoría de los algoritmos se pueden adaptar (los que deben ser) para que funcionen con datos autocorrelacionados.

Sí, el aprendizaje automático definitivamente se puede utilizar para el análisis o pronóstico de series temporales.

La mayoría de los modelos ARIMA se utilizan para pronosticar datos de series de tiempo como ventas, llamadas, volumen, inventario, etc. Pero, al ser ARIMA un modelo estadístico, se obtuvieron tasas de precisión más bajas en la predicción.

Valiance Solutions realizó un estudio comparativo utilizando las siguientes 3 técnicas para resolver el problema de pronóstico al predecir las ventas y analizar el impacto de las promociones en las actividades de ventas:

A. Modelado ARIMA: predicción de series de tiempo

B. Regresión lineal y pronóstico basado en segmentos

C. Redes neuronales: aprendizaje automático para pronósticos

El pronóstico del aprendizaje automático se basa en redes neuronales profundas que aprenden a través de los datos proporcionados en el momento del entrenamiento y luego hacen predicciones sobre los datos de la prueba en función de su aprendizaje.

Resultados:

> La técnica de modelado ARIMA es capaz de capturar tendencias, patrones cíclicos y estacionales en los datos, pero no logra capturar el efecto de otros factores independientes que son de naturaleza no estacional y no cíclica.

> Con la regresión lineal pudimos reducir la tasa de error promedio, pero nuevamente estuvo en un lado muy superior.

> Utilizamos redes neuronales artificiales con múltiples capas ocultas mientras pronosticamos utilizando el aprendizaje automático. El uso de múltiples capas ocultas aumentó el cálculo y la precisión. Después de entrenar la red neuronal utilizando varias combinaciones de neuronas en la capa oculta, logramos un gran éxito al pronosticar series de ventas. Además, la tasa de error promedio se redujo dentro del rango de 0-4%.

Haga clic en Predicción de series de tiempo usando redes neuronales para descargar este estudio de investigación.

Además, comuníquese con nosotros para obtener más información sobre Inteligencia Artificial (IA), Aprendizaje automático (ML), Historias relacionadas con análisis en: Blog, Estudios de casos, Documentos de investigación

Sí. El aprendizaje automático se puede utilizar para el análisis de series temporales. He tenido experiencia con ARIMA (Promedio móvil de series de tiempo de autorregresión) para pronosticar datos. Se basa en varios parámetros que utilizan observaciones rezagadas, el grado de diferenciación y el orden de los promedios móviles. Básicamente, predice valores futuros basados ​​en su propia inercia.

Aquí hay un enlace para implementar el modelo ARIMA con python.

Cómo crear un modelo ARIMA para el pronóstico de series temporales con Python: dominio del aprendizaje automático

El pronóstico de series de tiempo es un área importante del aprendizaje automático que a menudo se descuida. Es importante porque hay tantos problemas de predicción que involucran un componente de tiempo. Estos problemas se descuidan porque es este componente de tiempo el que hace que los problemas de series temporales sean más difíciles de manejar.

Antes de que se pueda utilizar el aprendizaje automático, los problemas de pronóstico de series de tiempo deben reformularse como problemas de aprendizaje supervisados. Desde una secuencia hasta pares de secuencias de entrada y salida. Después de que los datos se convierten en pares de entrada y salida, se pueden aplicar algoritmos de aprendizaje automático.

Sí.

Estrategias de aprendizaje automático para la predicción de series temporales

En el primer video, Machine Leraning se explica en palabras claras y simples. Después de esto, revise esta serie informativa de Video de aprendizaje de Machine Learning …

¿Qué es Python Machine Learning y cómo aprenderlo?

Prueba 1

Prueba 2

Prueba 3

Prueba 4

Prueba 5

Sí, hay algunas buenas maneras de hacer esto. Vea aquí algunos detalles sobre cómo se están aplicando (se puede retrasar el tiempo para el pronóstico): https://www.slideshare.net/Colle

Por qué no-

Lea a continuación el artículo para saber qué tan preciso es:

Serie temporal y regresión de ajuste en datos de series temporales

el aprendizaje automático descompone todos los factores de una serie temporal y pronostica valores futuros con precisión.