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
- undefinedunit8co/darts