El análisis de series temporales es una técnica estadística para analizar puntos de datos registrados a intervalos de tiempo regulares. Ayuda a identificar patrones, tendencias y variaciones estacionales, de modo que es útil para proyectar resultados a lo largo del tiempo.
Los equipos de ingeniería y ciencias que trabajan con datos de series temporales pueden utilizar el análisis de series temporales para monitorizar, modelar y predecir comportamientos de sistemas, lo que optimiza los sistemas y mejora la precisión de las proyecciones.
Cómo funciona el análisis de series temporales
El análisis de series temporales emplea datos de series temporales para analizarlos sistemáticamente. Los datos de series temporales son una secuencia de puntos de datos recopilados o registrados en puntos de tiempo específicos de modo que cada punto de datos queda asociado con una marca de tiempo concreta, lo que permite analizar cómo cambian los datos en relación con el tiempo.
Componentes de datos de series temporales
Los datos de series temporales pueden separarse en varios componentes fundamentales para facilitar la comprensión de patrones subyacentes y proyecciones.
Componente | Definición | Ejemplo | |
|
Tendencia | Dirección general de los datos a lo largo del tiempo, como aumento, disminución o constante | Adopción de tecnología EV, ingresos de una startup |
|
Estacionalidad | Patrones de datos que se repiten a lo largo de un conjunto de períodos de tiempo, como diario, mensual o anual | Picos de demanda de electricidad durante los meses de verano |
|
Variaciones cíclicas | Patrones de datos que se repiten pero no son estacionales, y se producen a lo largo de varios años | Ciclos del mercado inmobiliario |
|
Variaciones irregulares | Altibajos impredecibles que no se pueden explicar con otros componentes | Caída repentina de la bolsa debido a eventos imprevistos |
Pasos del análisis de series temporales
El análisis de datos de series temporales recurre a un enfoque sistemático que integra diversas técnicas para comprender, modelar y realizar proyecciones de puntos de datos recopilados a lo largo del tiempo.
Análisis exploratorio de datos
El análisis exploratorio de datos (EDA) requiere recopilar datos no procesados, que posteriormente se preprocesarán y visualizarán para un análisis más profundo. Incluye lo siguiente:
- Recopilación de datos: Reunir observaciones a lo largo de un período específico, y garantizar la calidad y precisión del conjunto de datos.
- Preprocesamiento y visualización de datos: Comprender y preparar el conjunto de datos para análisis y modelado. El preprocesamiento de datos incluye depuración de datos, transformación de datos y operaciones estructurales.
Descomposición
La descomposición es una técnica utilizada para separar los datos de series temporales en sus componentes fundamentales (tendencias, estacionalidad, ciclos y residual), lo que facilita el análisis de patrones subyacentes y la interpretación de datos.
Descomposición de un conjunto de datos de series temporales en tendencias a largo plazo, patrones estacionales y residual, utilizando el algoritmo de análisis de espectro singular implementado a través de la función trenddecomp
. (Ver código de MATLAB)
Selección y ajuste del modelo
La selección del modelo busca el modelo más adecuado para capturar los patrones de datos subyacentes en función de las características de estacionalidad, tendencia y estacionariedad. El ajuste del modelo se centra en entrenar el modelo seleccionado para reducir la diferencia entre datos observados y predicciones. Esto permite garantizar que el modelo generalizará datos nuevos correctamente.
Predicciones y proyecciones de modelos
En la predicción y proyección del modelo, el modelo entrenado en el paso anterior se aplica a datos nuevos para generar puntos de datos futuros basados en patrones históricos.
Evaluación del modelo
La evaluación del modelo determina cuán bien se desempeña un modelo y la precisión de sus predicciones. Consta de tres componentes clave:
- Métricas de rendimiento: La métrica del error cuadrático medio (RMSE) calcula la diferencia entre valores previstos y reales, lo que permite medir la precisión de un modelo.
- Técnicas de validación: La validación cruzada, backtesting y otras técnicas evalúan la fiabilidad de un modelo determinando su rendimiento cuando realiza predicciones sobre conjuntos de datos nuevos.
- Métodos de interpretabilidad: Las técnicas de LIME (explicaciones locales interpretables independientes del modelo) y SHAP (explicaciones aditivas de Shapley) ayudan a comprender las predicciones del modelo y permiten que sus decisiones sean más transparentes.
Visualización de la distribución de valores RMSE para datos nuevos para identificar secuencias anómalas. (Ver código de MATLAB)
Visualización de predicciones de red con la función imageLIME
(Ver código de MATLAB).
Enfoques comunes de modelado de series temporales
Los tres enfoques más comunes para modelar datos de series temporales son los modelos de proyección tradicionales, modelos de Machine Learning y modelos de Deep Learning.
Modelos de proyección tradicionales
Los modelos de proyección tradicionales se sirven de técnicas estadísticas para identificar y modelar patrones y tendencias de datos subyacentes.
El modelo estadístico autorregresivo integrado de promedio móvil (ARIMA) predice valores futuros analizando datos históricos. Captura tendencias y estacionalidad, de modo que es aplicable a conjuntos de datos estacionarios y no estacionarios, y adecuado para proyecciones a corto y medio plazo, como cotización de acciones y ventas.
Estimación de un modelo ARIMA con System Identification Toolbox para realizar proyecciones de series temporales. (Ver código de MATLAB)
El modelo de suavizado exponencial aplica pesos exponencialmente decrecientes a observaciones pasadas y da prioridad a los datos más recientes. Este método suaviza de manera eficaz las fluctuaciones a corto plazo, al tiempo que captura tendencias y patrones subyacentes en datos de series temporales. Resulta especialmente útil para datos con tendencias o estacionalidad.
Modelos de Machine Learning
Los modelos de Machine Learning capturan patrones complejos en datos que los modelos tradicionales pueden pasar por alto.
Los modelos de bosque aleatorio crean múltiples árboles de decisión y combinan sus resultados para mejorar la precisión de la predicción en análisis de series temporales. Pueden gestionar conjuntos de datos de gran tamaño y dimensionalidad, y resisten overfitting. Dado que utilizan datos del pasado como predictores, pueden capturar relaciones e interacciones no lineales, de modo que son adecuados para modelar patrones irregulares.
Las Support Vector Machines (SVM) son modelos de aprendizaje supervisado utilizados para clasificación y regresión. En el análisis de series temporales, pueden modelar relaciones no lineales y gestionar datos de alta dimensionalidad, especialmente en conjuntos de datos pequeños y complejos. Por ejemplo, las SVM pueden proyectar la demanda de energía capturando interacciones no lineales entre consumo histórico, condiciones meteorológicas e indicadores económicos.
Gráfica que muestra la clasificación de señales de ECG con procesamiento de señales, extracción de características basada en wavelets, y un clasificador de SVM para distinguir entre arritmia (ARR), insuficiencia cardíaca congestiva (CHF) y ritmo sinusal normal (NSR). (Ver código de MATLAB)
Modelos de Deep Learning
Deep Learning mejora el análisis de series temporales aprendiendo automáticamente patrones y dependencias directamente desde los datos. Estos modelos capturan fluctuaciones a corto plazo y tendencias a largo plazo, de modo que son ideales para realizar proyecciones y detectar anomalías.
Los modelos de memoria a corto-largo plazo (LSTM) son un tipo especializado de red neuronal recurrente (RNN) diseñados para superar las limitaciones de las RNN tradicionales empleando celdas de memoria y mecanismos de control selectivo. Este diseño permite capturar dependencias a largo plazo de manera eficaz, de modo que las LSTM resultan especialmente útiles para tareas de análisis de series temporales, como proyección y predicción de secuencias.
Uso de una red de memoria a corto-largo plazo (LSTM) sencilla para realizar proyecciones de lazo cerrado y predecir datos de series temporales. (Ver código de MATLAB)
Las redes neuronales convolucionales (CNN) se utilizan en el análisis de series temporales, ya que pueden extraer automáticamente características de los datos sirviéndose de capas convolucionales. Identifican patrones y jerarquías locales, de modo que son eficaces para identificar dependencias a corto plazo en tareas de clasificación de series temporales multivariantes.
Clasificación de datos de series temporales con análisis de wavelets y Deep Learning. (Ver código de MATLAB)
Clasificación de secuencias con convoluciones en 1D. (Ver código de MATLAB)
Tipos de análisis de series temporales
Los análisis de series temporales se pueden clasificar en categorías que describen, explican, realizan proyecciones, y optimizan tendencias y patrones de datos de manera eficaz:
- Análisis descriptivo: Resume las características principales de un conjunto de datos. Ayuda a comprender patrones, tendencias y variaciones estacionales subyacentes en los datos.
- Análisis explicativo: Tiene por objeto comprender las relaciones y efectos causales dentro de los datos. Intenta explicar por qué se producen ciertos patrones o tendencias examinando los factores y correlaciones subyacentes.
- Análisis predictivo: Utiliza datos históricos, modelos estadísticos y algoritmos de Machine Learning para predecir tendencias y patrones futuros.
- Análisis prescriptivo: Ofrece recomendaciones y acciones basándose en información predictiva. Recomienda decisiones óptimas evaluando distintos escenarios y sus posibles resultados.
Desafíos del análisis de series temporales
El análisis de series temporales se enfrenta a ciertos obstáculos típicos. Durante la captura de datos, es común que los sensores o instrumentos registren datos a intervalos irregulares, un problema de muchos modelos de series temporales diseñados para gestionar datos monótonamente crecientes. La preparación de datos puede incluir manipular datos ausentes, valores atípicos, ruido y otras irregularidades, además del remuestreo de datos para crear intervalos uniformes. Las técnicas de análisis exploratorio de datos mencionadas anteriormente pueden ayudar a mitigar estos problemas.
Además, la estacionalidad y los patrones cíclicos inherentes a los datos de series temporales pueden complicar el proceso de elección y ajuste del modelo. Disponer de una comprensión sólida del conjunto de datos y las opciones de modelado aplicables es un excelente punto de partida. Los enfoques de modelado descritos, junto con validación cruzada y otras técnicas de verificación del modelo establecidas, serán útiles en estos casos.
Relevancia del análisis de series temporales
El análisis de series temporales se puede utilizar para modelar y predecir tendencias futuras en diversos dominios, como cotización de acciones, condiciones meteorológicas, ventas, y proyecciones de demanda. Este enfoque mejora la precisión de la planificación y facilita la toma de decisiones estratégicas, ya que anticipa los próximos acontecimientos. Estos son algunos ejemplos de aplicaciones que se benefician del análisis de series temporales:
Análisis económico y financiero: Comprenda indicadores económicos y mercados financieros, y obtenga nuevas perspectivas para gestión de riesgos y planificación estratégica.
Monitorización ambiental: Realice monitorización ambiental continua y evalúe riesgos por cambio climático, lo que ayuda a comprender tendencias y riesgos a largo plazo.
Mantenimiento predictivo: Anticipe fallos de equipos y optimice cronogramas de mantenimiento para reducir el tiempo de inactividad y los costes operativos.
Procesamiento de señales: Interprete señales de dispositivos, sensores y sistemas de salud de IoT para mejorar su rendimiento, detectar anomalías y aumentar su fiabilidad.
Ejemplos de análisis de series temporales
El análisis de series temporales recurre a técnicas para comprender y realizar proyecciones de datos que evolucionan a lo largo del tiempo. Los siguientes ejemplos ilustran diversas aplicaciones, y muestran herramientas y métodos únicos para extraer información relevante a partir de conjuntos de datos complejos.
Análisis del terremoto de Loma Prieta
Descubra cómo almacenar datos sísmicos con marca de tiempo en una tabla de tiempo y utilice funciones timetable
para analizar y visualizar la aceleración sísmica a lo largo de un intervalo de tiempo específico para comprender la actividad sísmica.
Series temporales de componentes de aceleración. (Ver código de MATLAB)
Introducción práctica al análisis de tiempo-frecuencia
Aprenda a realizar e interpretar análisis de tiempo-frecuencia básico para analizar una señal no estacionaria, como multifrecuencia de doble tono (DTMF).
Espectrograma de tonos DTMF marcados para el número 508 que muestra duraciones y secuencias de tonos, y resalta un tono de 1336 Hz para la entrada de teclado de la segunda columna. (Ver código de MATLAB)
Proyecciones de series temporales multivariantes
Aprenda a realizar proyecciones de series temporales multivariantes de datos medidos en poblaciones de especies depredadoras y presas en el contexto de hacinamiento de presas.
Análisis comparativo de proyecciones para poblaciones de especies depredadoras y presas con modelos ARMA, AR polinomial, proceso gaussiano (GP) y de caja gris. (Ver código de MATLAB)
Clasificación de señales de ECG con LSTM
Descubra cómo clasificar datos de ECG utilizando redes LSTM y análisis de tiempo-frecuencia.
Comparación de frecuencia instantánea de señales de ECG de fibrilación auricular (AFib) y normal. (Ver código de MATLAB)
Preparación de datos para análisis de series temporales con tablas de tiempo
Si planea realizar operaciones basadas en tiempo, ya sea antes o después de tareas de preprocesamiento, como gestión de valores ausentes y valores atípicos, debe convertir los datos a un formato adecuado para el análisis de series temporales. La función timetable
está diseñada para datos con marca de tiempo. Asocia un valor de tiempo a cada fila y almacena variables orientadas a columnas con el mismo número de filas. Simplifica el análisis de series temporales con funciones de tiempo específicas para alinear, combinar y calcular datos, además de funcionalidades de sincronización y remuestreo.
Organización y preprocesamiento de datos de sensores con marca de tiempo con el contenedor de datos de tabla de tiempo para analizar patrones de circulación de bicicletas. (Ver código de MATLAB)
MATLAB ofrece toolboxes especializadas que ayudan en los flujos de trabajo completos para cada área de aplicación específica.
Aplicación | Próximos pasos del análisis de series temporales | Toolbox y funcionalidades principales | Ejemplos y recursos |
Estadística y Machine Learning | Modele datos de series temporales aplicando modelos estadísticos y algoritmos de Machine Learning | Statistics and Machine Learning Toolbox™
|
Análisis de datos de series temporales |
Proyecciones econométricas | Realice modelado y análisis econométrico, proyecciones de series temporales y comprobación de hipótesis |
|
Estimación de un modelo ARIMA multiplicativo |
Modelado de sistemas dinámicos | Cree, estime y realice proyecciones de modelos de series temporales | System Identification Toolbox™
|
Uso de datos de tabla de tiempo para identificación de sistemas en el dominio del tiempo |
Supervisión de condiciones y mantenimiento predictivo | Desarrolle algoritmos analizando datos de sensores para predecir fallos de equipos y optimizar el mantenimiento | Predictive Maintenance Toolbox™
|
Análisis y selección de características para diagnóstico de una bomba |
Análisis de señales | Filtre y analice señales; extraiga características de datos de series temporales |
|
Extracción de regiones de interés del sonido de ballenas |
Deep Learning | Utilice redes neuronales para capturar patrones complejos |
|
Proyección de series temporales con Deep Learning |
Recursos
Amplíe sus conocimientos con documentación, ejemplos, vídeos y mucho más.
30 días de exploración a su alcance
Más informaciónSeleccione un país/idioma
Seleccione un país/idioma para obtener contenido traducido, si está disponible, y ver eventos y ofertas de productos y servicios locales. Según su ubicación geográfica, recomendamos que seleccione: United States.
También puede seleccionar uno de estos países/idiomas:
Cómo obtener el mejor rendimiento
Seleccione China (en idioma chino o inglés) para obtener el mejor rendimiento. Los sitios web de otros países no están optimizados para ser accedidos desde su ubicación geográfica.
América
- América Latina (Español)
- Canada (English)
- United States (English)
Europa
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)