darts: 一个用于时间序列预测和异常检测的统一 Python 库

darts: 一个用于时间序列预测和异常检测的统一 Python 库

它解决了什么问题

Darts 是一个旨在简化时间序列预测和异常检测的 Python 库。它为广泛的模型提供了一个统一的接口,从经典的统计方法到现代的深度学习架构,允许用户轻松地在不同的预测方法之间进行切换、组合和评估。

它是如何工作的

Darts 使用类似于 scikit-learn 的 API,通过 fit()predict() 函数来保持不同模型类型之间的一致性。它支持单变量和多变量时间序列,以及过去观测到的和未来已知的外部数据(协变量)的集成。深度学习模型使用 PyTorch Lightning 实现,从而能够实现 GPU/TPU 加速和自定义训练循环。该库还包括用于数据处理、回测和分层协调的工具,以确保预测结果在数据层级的不同级别上保持一致。

它是面向谁的

它适用于需要对包含多个序列的潜在大型数据集进行时间序列分析、预测和异常检测的数据科学家和 ML 工程师。

亮点

  • 统一 API: 为统计模型(如 ARIMA)和深度神经网络(如 N-BEATS)提供一致的接口。
  • 多变量与全局模型: 支持多个随时间变化的维度,并能够在多个时间序列上训练单个模型。
  • 概率预测: 能够生成置信区间并估计参数分布或分位数。
  • 集成异常检测: 一个专门的模块 (darts.ad) 用于异常评分器和检测器,包括对 PyOD 模型的封装。
  • 外部数据支持: 支持过去观测到的、未来已知的以及静态协变量。
  • 可扩展性: 能够插入任何与 scikit-learn 兼容的模型进行预测。
  • 可解释性: 支持使用 SHAP 值来解释预测模型。

Sources