这个项目能做什么

PyTorch Forecasting 是一个开源的、采用 MIT 许可的时间序列预测软件包,使用最先进的深度学习架构。它构建在 PyTorch 和 PyTorch Lightning 之上,因此训练可以在 CPU、单个 GPU 或多个 GPU 上运行,并具有自动日志记录功能。 该项目面向实际应用和研究。其既定目标是为专业人士提供具有最大灵活性的高层 API,同时为初学者提供合理的默认设置。 README 中描述的关键组件包括: - 一个时间序列数据集类,抽象了变量变换、缺失值、随机子采样和多种历史长度。 - 一个基础模型类,提供时间序列模型的基本训练、TensorBoard 日志记录,以及通用可视化,例如实际值与预测值对比图和依赖关系图。 - 多种针对实际部署增强的神经网络架构,具有内置的可解释性能力。 - 多步预测时间序列指标。 - 使用 optuna 进行超参数调优。 可用模型包括 Temporal Fusion Transformer、N-BEATS、N-HiTS、DeepAR 和 PatchTST,以及 LSTM、GRU、MLP 解码器和朴素最新值预测器等简单基线。文档提供了这些模型的比较。教程解释了如何实现新模型和自定义组件。 安装可通过 pip(`pip install pytorch-forecasting`)或从 conda-forge 使用 conda 进行。在 Windows 上,必须先安装 PyTorch。一个可选的附加项可安装 MQF2 多元分位数损失。 使用方式的核心是将 pandas DataFrame 转换为 TimeSeriesDataSet,该数据集需要目标列、时间序列 ID 列和单调递增的时间索引列。数据集定义了编码器长度、预测长度以及静态、已知和未知协变量。可以从训练数据集创建验证数据集以复用归一化。数据集被转换为数据加载器,模型使用 PyTorch Lightning Trainer 进行训练,包括早停、学习率监控以及通过 Lightning Tuner 进行学习率查找。 README 链接到文档、教程、发布说明、Discord 社区和一篇 Towards Data Science 文章。该项目被描述为 GC.OS 赞助的项目。