Sobre o projeto

PyTorch Forecasting é um pacote de código aberto, licenciado sob MIT, para previsão de séries temporais usando arquiteturas de aprendizado profundo de última geração. É construído sobre PyTorch e PyTorch Lightning, portanto o treinamento pode ser executado em CPU, uma única GPU ou múltiplas GPUs com registro automático. O projeto atende tanto a aplicações do mundo real quanto à pesquisa. Seu objetivo declarado é uma API de alto nível com máxima flexibilidade para profissionais e padrões sensatos para iniciantes. Componentes principais descritos no README: - Uma classe de conjunto de dados de séries temporais que abstrai transformações de variáveis, valores ausentes, subamostragem aleatória e múltiplos comprimentos de histórico. - Uma classe de modelo base que fornece treinamento básico de modelos de séries temporais, registro no TensorBoard e visualizações genéricas, como valores reais versus previsões e gráficos de dependência. - Múltiplas arquiteturas de redes neurais aprimoradas para implantação no mundo real, com capacidades de interpretação integradas. - Métricas de séries temporais multi-horizonte. - Ajuste de hiperparâmetros com optuna. Os modelos disponíveis incluem Temporal Fusion Transformer, N-BEATS, N-HiTS, DeepAR e PatchTST, além de linhas de base simples como LSTM, GRU, um decodificador MLP e um preditor ingênuo do último valor. A documentação fornece uma comparação dos modelos. Um tutorial explica como implementar novos modelos e componentes personalizados. A instalação é feita via pip (`pip install pytorch-forecasting`) ou conda a partir do conda-forge. No Windows, o PyTorch deve ser instalado primeiro. Um extra opcional instala a perda quantílica multivariada MQF2. O uso se concentra na conversão de DataFrames do pandas em um TimeSeriesDataSet, que requer colunas para o alvo, um ID de série temporal e um índice de tempo monotonicamente crescente. O conjunto de dados define comprimentos de codificador e de previsão e covariáveis estáticas, conhecidas e desconhecidas. Conjuntos de dados de validação podem ser criados a partir do conjunto de dados de treinamento para reutilizar a normalização. Os conjuntos de dados são convertidos em dataloaders, e os modelos são treinados com o Trainer do PyTorch Lightning, incluindo parada antecipada, monitoramento da taxa de aprendizado e descoberta da taxa de aprendizado por meio do Lightning Tuner. O README contém links para documentação, tutoriais, notas de versão, uma comunidade no Discord e um artigo do Towards Data Science. O projeto é descrito como um projeto patrocinado pela GC.OS.