Sobre el proyecto

PyTorch Forecasting es un paquete de código abierto con licencia MIT para pronóstico de series temporales utilizando arquitecturas de aprendizaje profundo de última generación. Está construido sobre PyTorch y PyTorch Lightning, por lo que el entrenamiento puede ejecutarse en CPU, una sola GPU o múltiples GPUs con registro automático. El proyecto se dirige tanto a aplicaciones del mundo real como a investigación. Su objetivo declarado es una API de alto nivel con máxima flexibilidad para profesionales y valores predeterminados sensatos para principiantes. Componentes clave descritos en el README: - Una clase de conjunto de datos de series temporales que abstrae transformaciones de variables, valores faltantes, submuestreo aleatorio y múltiples longitudes de historial. - Una clase de modelo base que proporciona entrenamiento básico de modelos de series temporales, registro en TensorBoard y visualizaciones genéricas como valores reales vs. predicciones y gráficos de dependencia. - Múltiples arquitecturas de redes neuronales mejoradas para implementación en el mundo real, con capacidades de interpretación integradas. - Métricas de series temporales multi-horizonte. - Ajuste de hiperparámetros con optuna. Los modelos disponibles incluyen Temporal Fusion Transformer, N-BEATS, N-HiTS, DeepAR y PatchTST, además de líneas base simples como LSTM, GRU, un decodificador MLP y un predictor ingenuo de último valor. La documentación proporciona una comparación de los modelos. Un tutorial explica cómo implementar nuevos modelos y componentes personalizados. La instalación se realiza mediante pip (`pip install pytorch-forecasting`) o conda desde conda-forge. En Windows, PyTorch debe instalarse primero. Una instalación adicional opcional incluye la pérdida cuantil multivariante MQF2. El uso se centra en convertir DataFrames de pandas en un TimeSeriesDataSet, que requiere columnas para el objetivo, un ID de serie temporal y un índice de tiempo monótonamente creciente. El conjunto de datos define longitudes de codificador y predicción, y covariables estáticas, conocidas y desconocidas. Los conjuntos de datos de validación pueden crearse a partir del conjunto de datos de entrenamiento para reutilizar la normalización. Los conjuntos de datos se convierten en dataloaders, y los modelos se entrenan con el Trainer de PyTorch Lightning, incluyendo detención temprana, monitoreo de tasa de aprendizaje y búsqueda de tasa de aprendizaje mediante el Tuner de Lightning. El README enlaza a documentación, tutoriales, notas de versión, una comunidad de Discord y un artículo de Towards Data Science. El proyecto se describe como un proyecto patrocinado por GC.OS.