Durante muchos años, la gente ha predicho las condiciones climáticas, los eventos económicos y políticos y los resultados deportivos, recientemente esta extensa lista se ha reabastecido con criptomonedas. Para predecir eventos versátiles, hay muchas formas de desarrollar pronósticos. Por ejemplo, la intuición, las opiniones de los expertos, el uso de resultados pasados para compararlos con las estadísticas tradicionales y los pronósticos de series temporales son solo uno de ellos, mientras que el tipo de pronóstico más moderno y preciso tiene una amplia gama de aplicaciones.
Método de serie temporal
Un método de serie temporal (TS) es un conjunto de datos que recopila información durante un período de tiempo. Hay métodos especiales para extraer este tipo:
- lineal y no lineal;
- paramétrico y no paramétrico;
- unidimensional y multidimensional.
Tiempo de previsiónLa serie trae consigo un conjunto único de capacidades para enfrentar los desafíos actuales. El modelado se basa en el aprendizaje para establecer la fuerza impulsora detrás del cambio de datos. El proceso proviene de tendencias a largo plazo, efectos estacionales o fluctuaciones irregulares que son características de TS y no se ven en otros tipos de análisis.
El aprendizaje automático es una rama de la informática donde los algoritmos se compilan a partir de datos e incluyen redes neuronales artificiales, aprendizaje profundo, reglas de asociación, árboles de decisión, aprendizaje por refuerzo y redes bayesianas. Una variedad de algoritmos brindan opciones para resolver problemas, y cada uno tiene sus propios requisitos y compensaciones en términos de entrada de datos, velocidad y precisión de los resultados. Estos, junto con la precisión de las predicciones finales, se ponderarán cuando el usuario decida qué algoritmo funcionará mejor para la situación en estudio.
La previsión de series temporales se basa en el campo de la estadística, pero ofrece nuevos enfoques para el modelado de problemas. El problema principal para el aprendizaje automático y las series temporales es el mismo: predecir nuevos resultados basados en datos previamente conocidos.
El objetivo del modelo predictivo
TS es un conjunto de puntos de datos recopilados a intervalos regulares. Se analizan para determinar una tendencia a largo plazo, predecir el futuro o realizar algún otro tipo de análisis. Hay 2 cosas que diferencian a TS de un problema de regresión normal:
- Dependen del tiempo. Asi quela suposición básica de un modelo de regresión lineal de que las observaciones son independientes no se cumple en este caso.
- Junto con una tendencia creciente o decreciente, la mayoría de los TS tienen algún tipo de estacionalidad, es decir, cambios que son específicos de un cierto período de tiempo.
El objetivo de un modelo de pronóstico de series temporales es brindar un pronóstico preciso según la demanda. La serie de tiempo tiene el tiempo (t) como variable independiente y como variable dependiente objetivo. En la mayoría de los casos, el pronóstico es un resultado específico, por ejemplo, el precio de venta de una casa, el resultado deportivo de la competencia, los resultados de la negociación en bolsa. La predicción representa la mediana y la media e incluye un intervalo de confianza que expresa un nivel de confianza en el rango de 80-95%. Cuando se registran a intervalos regulares, los procesos se denominan series temporales y se expresan de dos formas:
- unidimensional con un índice de tiempo que crea un orden implícito;
- un conjunto con dos dimensiones: tiempo con una variable independiente y otra variable dependiente.
La creación de funciones es una de las tareas más importantes y que consume más tiempo en el aprendizaje automático aplicado. Sin embargo, la previsión de series temporales no crea características, al menos no en el sentido tradicional. Esto es especialmente cierto cuando desea predecir el resultado varios pasos adelante, y no solo el siguiente valor.
Esto no significa que las funciones estén completamente deshabilitadas. Solo deben usarse con precaución por las siguientes razones:
- No está claro qué futuro es reallos valores serán para estas características.
- Si los objetos son predecibles y tienen algunos patrones, puede crear un modelo predictivo para cada uno de ellos.
Sin embargo, tenga en cuenta que el uso de valores predictivos como características propagará el error en la variable de destino y generará errores o predicciones sesgadas.
Componentes de serie temporal
Existe tendencia cuando la serie crece, decrece o se mantiene constante en el tiempo, por lo que se toma como una función. La estacionalidad se refiere a una propiedad de una serie temporal que muestra patrones periódicos que se repiten con una frecuencia constante (m), por ejemplo, m=12 significa que el patrón se repite cada doce meses.
Se pueden agregar variables ficticias similares a la estacionalidad como una función binaria. Puede, por ejemplo, tener en cuenta vacaciones, eventos especiales, campañas de marketing, independientemente de si el valor es extranjero o no. Sin embargo, debe recordar que estas variables deben tener ciertos patrones. Sin embargo, el número de días se puede calcular fácilmente incluso para períodos futuros e influir en la previsión de series temporales, especialmente en el área financiera.
Los ciclos son temporadas que no suceden a un ritmo fijo. Por ejemplo, los atributos de reproducción anual del lince canadiense reflejan patrones estacionales y cíclicos. No se repiten a intervalos regulares y pueden ocurrir incluso si la frecuencia es 1 (m=1).
Valores retrasados -Los valores rezagados de una variable se pueden incluir como predictores. Algunos modelos, como ARIMA, vector autorregresivo (VAR) o redes neuronales autorregresivas (NNAR), funcionan de esta manera.
Los componentes de la variable de interés son muy importantes para el análisis y pronóstico de series de tiempo, para entender su comportamiento, patrones y poder seleccionar el modelo apropiado.
Atributos del conjunto de datos
Es posible que esté acostumbrado a ingresar miles, millones y miles de millones de puntos de datos en modelos de aprendizaje automático, pero esto no es necesario para las series temporales. De hecho, es posible trabajar con TS pequeños y medianos, dependiendo de la frecuencia y el tipo de variable, y esto no es una desventaja del método. Además, en realidad hay una serie de ventajas en este enfoque:
- Tales conjuntos de información corresponderán a las capacidades de una computadora doméstica.
- En algunos casos, realice pronósticos y análisis de series temporales utilizando todo el conjunto de datos, no solo una muestra.
- La longitud TS es útil para crear gráficos que se pueden analizar. Este es un punto muy importante porque los programadores confían en los gráficos en la fase de análisis. Esto no significa que no trabajen con grandes series de tiempo, pero inicialmente deberían poder manejar TS más pequeños.
- Cualquier conjunto de datos que contenga un campo relacionado con el tiempo puede beneficiarse del análisis y la previsión de series temporales. Sin embargo, si el programador tiene un conjunto de datos más grande, la base de datos (TSDB)puede ser más apropiado.
Algunos de estos conjuntos provienen de eventos registrados con marca de tiempo, registros del sistema y datos financieros. Dado que TSDB funciona de forma nativa con series temporales, esta es una gran oportunidad para aplicar esta técnica a conjuntos de datos a gran escala.
Aprendizaje automático
El aprendizaje automático (ML) puede superar a los métodos tradicionales de pronóstico de series temporales. Hay un montón de estudios que comparan los métodos de aprendizaje automático con métodos estadísticos más clásicos sobre datos de TS. Las redes neuronales son una de las tecnologías que han sido ampliamente investigadas y aplican enfoques de TS. Los métodos de aprendizaje automático lideran las clasificaciones para la recopilación de datos basados en series temporales. Estos conjuntos han demostrado ser efectivos, superando a los conjuntos TS puros contra M3 o Kaggle.
MO tiene sus propios problemas específicos. El desarrollo de funciones o la generación de nuevos predictores a partir de un conjunto de datos es un paso importante y puede tener un gran impacto en el rendimiento y ser una forma necesaria de abordar los problemas de tendencia y estacionalidad de los datos de TS. Además, algunos modelos tienen problemas con lo bien que se ajustan a los datos y, si no lo hacen, pueden perder la tendencia principal.
Los enfoques de series temporales y aprendizaje automático no deben existir de forma aislada. Se pueden combinar para obtener los beneficios de cada enfoque. Los métodos de pronóstico y el análisis de series de tiempo son buenos para descomponer los datos en datos de tendencia y estacionales.elementos. Luego, este análisis se puede usar como entrada para un modelo de ML que tiene información de tendencias y estacionalidad en su algoritmo, lo que brinda lo mejor de ambos mundos.
Comprender el enunciado del problema
Por ejemplo, considere el TS relacionado con la previsión del número de pasajeros en un nuevo servicio ferroviario de alta velocidad. Por ejemplo, tiene 2 años de datos (agosto de 2016 - septiembre de 2018) y con estos datos necesita predecir la cantidad de pasajeros para los próximos 7 meses, teniendo 2 años de datos (2016-2018) a nivel horario con el número de pasajeros que viajan, y es necesario estimar el número de ellos en el futuro.
Subconjunto de conjunto de datos para pronóstico con series temporales:
- Creando un archivo de prueba y entrenamiento para la simulación.
- Los primeros 14 meses (agosto de 2016 - octubre de 2017) se usan como datos de entrenamiento, y los siguientes 2 meses (noviembre de 2017 - diciembre de 2017) son datos de prueba.
- Agregue el conjunto de datos diariamente.
Realice una visualización de datos para ver cómo cambia durante un período de tiempo.
Método de construcción de enfoque ingenuo
La biblioteca utilizada en este caso para la predicción de TS es statsmodels. Debe instalarse antes de que se pueda aplicar cualquiera de estos enfoques. Quizás statsmodels ya esté instalado en el entorno de Python, pero no admite métodospredicción, por lo que deberá clonarlo desde el repositorio e instalarlo desde la fuente.
Para este ejemplo, significa que los precios de los viajes con monedas son estables desde el principio y durante todo el período de tiempo. Este método supone que el siguiente punto esperado es igual al último punto observado y se denomina enfoque ingenuo.
Ahora calcule la desviación estándar para probar la precisión del modelo en el conjunto de datos de prueba. Del valor RMSE y del gráfico anterior, podemos concluir que Naive no es adecuado para opciones de alta volatilidad, pero se usa para opciones estables.
Estilo medio sencillo
Para demostrar el método, se dibuja un gráfico, asumiendo que el eje Y representa el precio y el eje X representa el tiempo (días).
De esto podemos concluir que el precio aumenta y disminuye aleatoriamente con un pequeño margen, de modo que el valor promedio permanece constante. En este caso, puede predecir el precio del próximo período, similar al promedio de todos los días anteriores.
Este método de pronóstico con el promedio esperado de los puntos observados previamente se denomina método de promedio simple.
En este caso se toman valores previamente conocidos, se calcula la media y se toma como siguiente valor. Por supuesto, esto no será exacto, pero es bastante parecido y hay situaciones en las que este método funciona mejor.
Según los resultados que se muestran en el gráfico, este método funciona mejor cuando el valor promedio durante cada período de tiempo permanece constante. Aunque el método ingenuo es mejor que el promedio, pero no para todos los conjuntos de datos. Se recomienda probar cada modelo paso a paso y ver si mejora el resultado o no.
Modelo de media móvil
Según este gráfico, podemos concluir que los precios han aumentado varias veces en el pasado por un amplio margen, pero ahora son estables. Para usar el método de promedio anterior, debe tomar el promedio de todos los datos anteriores. Los precios del período inicial influirán fuertemente en el pronóstico del próximo período. Por lo tanto, como una mejora sobre el promedio simple, tome el promedio de precios solo para los últimos períodos de tiempo.
Esta técnica de pronóstico se denomina técnica de promedio móvil, a veces denominada "ventana móvil" de tamaño "n". Usando un modelo simple, se predice el siguiente valor en TS para verificar la precisión del método. Claramente, Naive supera tanto a la media como a la media móvil para este conjunto de datos.
Existe una variante del pronóstico por el método de suavización exponencial simple. En el método del promedio móvil, las últimas "n" observaciones se ponderan por igual. En este caso, puede encontrar situaciones en las que cada una de las 'n' pasadas afecte el pronóstico a su manera. Esta variación, que pondera de manera diferente las observaciones pasadas, se denomina métodomedia móvil ponderada.
Extrapolación de patrones
Una de las propiedades más importantes necesarias para considerar los algoritmos de pronóstico de series temporales es la capacidad de extrapolar patrones fuera del dominio de datos de entrenamiento. Muchos algoritmos de ML no tienen esta capacidad, ya que tienden a estar limitados a una región definida por los datos de entrenamiento. Por lo tanto, no son adecuados para TS, cuyo objetivo es proyectar el resultado en el futuro.
Otra propiedad importante del algoritmo TS es la posibilidad de obtener intervalos de confianza. Si bien esta es la propiedad predeterminada para los modelos TS, la mayoría de los modelos ML no tienen esta capacidad, ya que no todos se basan en distribuciones estadísticas.
No piense que solo se utilizan métodos estadísticos simples para predecir el TS. No es así en absoluto. Hay muchos enfoques complejos que pueden ser muy útiles en casos especiales. Heterocedasticidad condicional autorregresiva generalizada (GARCH), bayesiano y VAR son solo algunos de ellos.
También hay modelos de redes neuronales que se pueden aplicar a series temporales que usan predictores retrasados y pueden manejar funciones como la autorregresión de redes neuronales (NNAR). Incluso hay modelos de series temporales tomados del aprendizaje complejo, particularmente en la familia de redes neuronales recurrentes, como las redes LSTM y GRU.
Métricas de estimación y diagnósticos residuales
Las métricas de predicción más comunes sonrms significa, que mucha gente usa para resolver problemas de regresión:
- MAPE porque es independiente de la escala y representa la relación entre el error y los valores reales como un porcentaje;
- MASE, que muestra qué tan bien está funcionando la predicción en comparación con la predicción promedio ingenua.
Una vez que se ha adaptado un método de pronóstico, es importante evaluar qué tan bien puede capturar los modelos. Aunque las métricas de evaluación ayudan a determinar qué tan cerca están los valores de los valores reales, no evalúan si el modelo se ajusta al TS. Las sobras son una buena manera de evaluar esto. Dado que el programador intenta aplicar patrones TS, puede esperar que los errores se comporten como "ruido blanco", ya que representan algo que el modelo no puede capturar.
El "ruido blanco" debe tener las siguientes propiedades:
- Residuos no correlacionados (Acf=0)
- Los residuos siguen una distribución normal con media cero (imparcial) y varianza constante.
- Si f alta alguna de las dos propiedades, se puede mejorar el modelo.
- La propiedad de la media cero se puede probar fácilmente usando la prueba T.
- Las propiedades de normalidad y varianza constante se controlan visualmente mediante un histograma de residuos o una prueba de normalidad univariante apropiada.
Modelo ARIMA
ARIMA - Modelo AutoRegresivo Integrado de Promedios Móviles, es uno de los métodos más populares utilizados en el pronóstico TS, principalmentea través de la autocorrelación de datos para crear modelos de alta calidad.
Al evaluar los coeficientes ARIMA, la suposición principal es que los datos son estacionarios. Esto significa que la tendencia y la estacionalidad no pueden afectar la varianza. La calidad del modelo se puede evaluar comparando el gráfico de tiempo de los valores reales con los valores predichos. Si ambas curvas son cercanas, entonces se puede suponer que el modelo se ajusta al caso analizado. Debe revelar cualquier tendencia y estacionalidad, si corresponde.
El análisis de los residuos debería mostrar si el modelo se ajusta: los residuos aleatorios significan que es preciso. Ajustar ARIMA con parámetros (0, 1, 1) dará los mismos resultados que el suavizado exponencial, y usar los parámetros (0, 2, 2) dará resultados de suavizado exponencial doble.
Puede acceder a la configuración de ARIMA en Excel:
- Iniciar Excel.
- Busca XL MINER en la barra de herramientas.
- En la cinta, seleccione ARIMA del menú desplegable.
Resumen de las capacidades del modelo ARIMA:
- ARIMA - Media móvil integrada autorregresiva.
- Modelo de pronóstico utilizado en el análisis de series temporales.
- Sintaxis del parámetro ARIMA: ARIMA (p, d, q) donde p=número de términos autorregresivos, d=número de diferencias estacionales y q=número de términos de promedio móvil.
Algoritmos en SQL Server
La realización de predicciones cruzadas es una de las funciones importantesCaracterísticas de las series temporales en la previsión de tareas financieras. Si se utilizan dos series relacionadas, el modelo resultante se puede utilizar para predecir los resultados de una serie en función del comportamiento de las demás.
SQL Server 2008 tiene nuevas y poderosas características de series de tiempo para aprender y usar. La herramienta tiene datos TS de fácil acceso, una interfaz fácil de usar para simular y reproducir funciones de algoritmos y una ventana de explicación con un enlace a consultas DMX del lado del servidor para que pueda comprender lo que sucede dentro.
Las series temporales del mercado son un área amplia a la que se pueden aplicar modelos y algoritmos de aprendizaje profundo. Los bancos, corredores y fondos ahora están experimentando con su implementación de análisis y pronósticos para índices, tipos de cambio, futuros, precios de criptomonedas, acciones gubernamentales y más.
En la previsión de series temporales, la red neuronal encuentra patrones predecibles mediante el estudio de las estructuras y tendencias de los mercados y da consejos a los comerciantes. Estas redes también pueden ayudar a detectar anomalías como picos inesperados, caídas, cambios de tendencia y cambios de nivel. Muchos modelos de inteligencia artificial se utilizan para pronósticos financieros.