Saltar al contenido principal
ToolPotion

N-BEATS

N-BEATS es un modelo basado en redes neuronales para la predicción de series temporales univariadas. Desarrollado por ServiceNow Research, implementa el algoritmo N-BEATS para obtener resultados experimentales reproducibles. Este repositorio proporciona la implementación en PyTorch, cargadores de conjuntos de datos y configuraciones de experimentos para análisis avanzado de series temporales.

Visitar URL

Descripción

N-BEATS es un sofisticado modelo basado en redes neuronales diseñado específicamente para la predicción de series temporales univariadas. Representa una contribución significativa de ServiceNow Research, con sus orígenes que se remontan a Element AI. El proyecto tiene como objetivo proporcionar una implementación robusta del algoritmo N-BEATS, permitiendo a investigadores y profesionales reproducir los resultados experimentales presentados en el artículo asociado.

El repositorio está estructurado para facilitar el acceso y uso. La implementación principal en PyTorch del modelo N-BEATS se encuentra en el archivo `models/nbeats.py`. Para el manejo de datos, los cargadores de conjuntos de datos para varios conjuntos de datos utilizados en el artículo se encuentran en el directorio `datasets/*.py`. El directorio `experiments/*` alberga las configuraciones experimentales necesarias para replicar los resultados del artículo, cada uno conteniendo un script `main.py` para la lógica de entrenamiento y predicción, junto con archivos de configuración para variantes de modelos genéricas e interpretables.

Los resultados y las métricas de rendimiento se documentan en el directorio `notebooks`, con un cuaderno dedicado para cada experimento. Estos cuadernos muestran las puntuaciones finales y ofrecen información sobre la efectividad de diferentes tamaños de ensamblaje, señalando que los ensamblajes más pequeños a menudo producen resultados comparables a los más grandes. Esta implementación se describe como una versión 'más ligera' del N-BEATS original, ofreciendo un rendimiento que generalmente se mantiene al mismo nivel de vanguardia, con variaciones ocasionales en los resultados.

El proyecto enfatiza la reproducibilidad a través de Docker, haciéndolo accesible para usuarios con o sin GPUs NVIDIA. El `Makefile` proporciona comandos para inicializar la imagen de Docker, descargar conjuntos de datos, ejecutar pruebas, construir experimentos y realizar predicciones tanto en CPU como en GPU. Se proporcionan instrucciones detalladas para configurar el entorno, construir la imagen de Docker, descargar conjuntos de datos y ejecutar experimentos con parámetros personalizables como repeticiones y períodos de retroceso. La salida de los experimentos, incluidos registros, pérdidas, instantáneas y predicciones finales, se almacena en el directorio `storage/experiments`.

N-BEATS es particularmente valioso para científicos de datos, ingenieros de aprendizaje automático e investigadores involucrados en el análisis de series temporales, la predicción y el modelado predictivo. Su naturaleza interpretable y su rendimiento de vanguardia lo convierten en una herramienta poderosa para comprender y predecir tendencias futuras en datos univariados en diversos dominios.

Aspectos destacados de N-BEATS

  • Modelo basado en redes neuronales para predicción de series temporales univariadas

  • Implementación del algoritmo N-BEATS

  • Resultados experimentales reproducibles

  • Implementación en PyTorch disponible

  • Cargadores de conjuntos de datos para varios conjuntos de datos

  • Archivos de configuración para modelos genéricos e interpretables

  • Soporte de Docker para configuración del entorno

  • Soporte de ejecución en CPU y GPU

  • Instrucciones detalladas para la reproducción

  • Almacenamiento para registros de experimentos, pérdidas y predicciones

Primeros pasos con N-BEATS

  1. Configurar entorno: Asegúrese de que Docker esté instalado y ajuste el Makefile para su entorno.

  2. Construir imagen Docker: Ejecute `make init` para construir la imagen Docker.

  3. Descargar conjuntos de datos: Ejecute `make dataset` para descargar los conjuntos de datos requeridos.

  4. Construir un experimento: Use `make build config=<ruta_al_archivo_config.gin>` para generar configuraciones de experimentos.

  5. Ejecutar experimentos: Utilice `make run command=<ruta_al_comando>` para CPU o `make run command=<ruta_al_comando> gpu=<id_gpu>` para GPU.

  6. Obtener estadísticas del experimento: Ejecute un cuaderno JupyterLab a través de `make notebook port=<puerto>` para analizar el rendimiento.

Casos de uso de N-BEATS

  • Predicción de series temporales
  • Análisis predictivo
  • Predicción de demanda
  • Predicción financiera
  • Planificación de recursos

Preguntas frecuentes de N-BEATS

Reseñas de N-BEATS

Cargando...

Herramientas de IA populares como N-BEATS

GluonTS es un paquete de Python para modelado probabilístico de series temporales, que aprovecha modelos de aprendizaje profundo construidos sobre PyTorch y MXNet. Facilita la…

Modelos de IA y LLM

Modelos de IA

PatchTST es una implementación oficial de un modelo basado en Transformer para la predicción a largo plazo de series temporales. Segmenta las series temporales en parches y los…

Modelos de IA y LLM

Modelos de IA

LSTNet es un modelo de aprendizaje profundo diseñado para la predicción de series temporales. Modela eficazmente patrones temporales tanto a largo como a corto plazo utilizando…

Modelos de IA y LLM

Modelos de IA

FEDformer es un Transformer Mejorado por Frecuencia Descompuesto diseñado para la predicción eficiente de series temporales a largo plazo. Logra una complejidad lineal con la…

Modelos de IA y LLM

Modelos de IA

Autoformer es un modelo de IA para la predicción de series temporales a largo plazo, que aprovecha transformadores de descomposición y mecanismos de autocorrelación. Logra…

Modelos de IA y LLM

Modelos de IA

LTSF-Linear es una implementación oficial de PyTorch para "Are Transformers Effective for Time Series Forecasting?". Introduce una familia de modelos lineales (Linear, DLinear,…

Modelos de IA y LLM

Prophet es un procedimiento de pronóstico de código abierto implementado en R y Python. Automatiza la previsión de series temporales con modelos rápidos y ajustables. Diseñado…

Pronóstico y análisis predictivo

Este repositorio proporciona una implementación en PyTorch del modelo "Simple and Deep Graph Convolutional Networks" (GCNII). Incluye código para replicar resultados…

Modelos de IA y LLM