时序分析Py工具包

prophet

github ⭐17.1k

  • 仅适用单变量的时序预测模型
  • 仅支持 prophet 这一个模型。

tsfresh

github ⭐7.8k

  • 用于时序特征工程,包括对时间序列自动提取特征、特征选择、特征转换等
  • 不能用于实现时序预测或时序分类等任务。

sktime

github ⭐7k

  • 具有时序预测、时序分类、时序回归、时序聚类等
  • 可与 scikit-learn 进行互操作
  • 提供经典的统计学模型系列(ARIMA、ETS、prophet等)
  • 提供模型Ensemble能力和AutoML功能(带有模型选择和自动调参功能的时序建模)
  • 也提供一些深度学习的模型,如Transformer等
功能表
ModuleStatusLinks
[Forecasting]stableTutorial · API Reference · Extension Template
[Time Series Classification]stableTutorial · API Reference · Extension Template
[Time Series Regression]stableAPI Reference
[Transformations]stableTutorial · API Reference · Extension Template
[Parameter fitting]maturingAPI Reference · Extension Template
[Time Series Clustering]maturingAPI Reference · Extension Template
[Time Series Distances/Kernels]maturingTutorial · API Reference · Extension Template
[Time Series Alignment]experimentalAPI Reference · Extension Template
[Annotation]experimentalExtension Template
[Distributions and simulation]experimental

darts

github ⭐6.6k

  • 时序分析工具的集大成者,支持单变量和多变量预测
  • 聚焦于时序预测问题,支持从ARIMA到深度学习模型,如Transformer、TCN等新的时序建模方法。
  • 该库还可以方便地对模型进行回溯测试,并将多个模型的预测和外部回归组合起来。
可用模型
ModelSourcesTarget Series Support:

Univariate/
Multivariate
Covariates Support:

Past-observed/
Future-known/
Static
Probabilistic Forecasting:

Sampled/
Distribution Parameters
Training & Forecasting on Multiple Series
Baseline Models
(LocalForecastingModel)
NaiveMean🟩 🟥🟥 🟥 🟥🟥 🟥🟥
NaiveSeasonal🟩 🟥🟥 🟥 🟥🟥 🟥🟥
NaiveDrift🟩 🟥🟥 🟥 🟥🟥 🟥🟥
NaiveMovingAverage🟩 🟥🟥 🟥 🟥🟥 🟥🟥
Statistical / Classic Models
(LocalForecastingModel)
ARIMA🟩 🟥🟥 🟩 🟥🟩 🟥🟥
VARIMA🟥 🟩🟥 🟩 🟥🟥 🟥🟥
AutoARIMA🟩 🟥🟥 🟩 🟥🟥 🟥🟥
StatsForecastAutoArima (faster AutoARIMA)Nixtla’s statsforecast🟩 🟥🟥 🟩 🟥🟩 🟥🟥
ExponentialSmoothing🟩 🟥🟥 🟥 🟥🟩 🟥🟥
StatsforecastAutoETSNixtla’s statsforecast🟩 🟥🟥 🟩 🟥🟩 🟥🟥
StatsforecastAutoCESNixtla’s statsforecast🟩 🟥🟥 🟥 🟥🟥 🟥🟥
BATS and TBATSTBATS paper🟩 🟥🟥 🟥 🟥🟩 🟥🟥
Theta and FourThetaTheta & 4 Theta🟩 🟥🟥 🟥 🟥🟥 🟥🟥
StatsForecastAutoThetaNixtla’s statsforecast🟩 🟥🟥 🟥 🟥🟩 🟥🟥
Prophet (see install notes)Prophet repo🟩 🟥🟥 🟩 🟥🟩 🟥🟥
FFT (Fast Fourier Transform)🟩 🟥🟥 🟥 🟥🟥 🟥🟥
KalmanForecaster using the Kalman filter and N4SID for system identificationN4SID paper🟩 🟩🟥 🟩 🟥🟩 🟥🟥
Croston method🟩 🟥🟥 🟥 🟥🟥 🟥🟥
Regression Models
(GlobalForecastingModel)
RegressionModel: generic wrapper around any sklearn regression model🟩 🟩🟩 🟩 🟩🟥 🟥🟩
LinearRegressionModel🟩 🟩🟩 🟩 🟩🟩 🟩🟩
RandomForest🟩 🟩🟩 🟩 🟩🟥 🟥🟩
LightGBMModel,🟩 🟩🟩 🟩 🟩🟩 🟩🟩
XGBModel🟩 🟩🟩 🟩 🟩🟩 🟩🟩
CatBoostModel🟩 🟩🟩 🟩 🟩🟩 🟩🟩
PyTorch (Lightning)-based Models
(GlobalForecastingModel)
RNNModel (incl. LSTM and GRU); equivalent to DeepAR in its probabilistic versionDeepAR paper🟩 🟩🟥 🟩 🟥🟩 🟩🟩
BlockRNNModel (incl. LSTM and GRU)🟩 🟩🟩 🟥 🟥🟩 🟩🟩
NBEATSModelN-BEATS paper🟩 🟩🟩 🟥 🟥🟩 🟩🟩
NHiTSModelN-HiTS paper🟩 🟩🟩 🟥 🟥🟩 🟩🟩
TCNModelTCN paper, DeepTCN paper, blog post🟩 🟩🟩 🟥 🟥🟩 🟩🟩
TransformerModel🟩 🟩🟩 🟥 🟥🟩 🟩🟩
TFTModel (Temporal Fusion Transformer)TFT paper, PyTorch Forecasting🟩 🟩🟩 🟩 🟩🟩 🟩🟩
DLinearModelDLinear paper🟩 🟩🟩 🟩 🟩🟩 🟩🟩
NLinearModelNLinear paper🟩 🟩🟩 🟩 🟩🟩 🟩🟩
TiDEModelTiDE paper🟩 🟩🟩 🟩 🟩🟩 🟩🟩
Ensemble Models
(GlobalForecastingModel): Model support is dependent on ensembled forecasting models and the ensemble model itself
NaiveEnsembleModel🟩 🟩🟩 🟩 🟩🟩 🟩🟩
RegressionEnsembleModel🟩 🟩🟩 🟩 🟩🟩 🟩🟩

Kats

github ⭐4.6k

使用此库,可以执行以下操作:

  • 时间序列分析
  • 模式检测,包括季节性、异常值、趋势变化
  • 产生65个特征的特征工程模块
  • 对时间序列数据建立预测模型,包括Prophet、ARIMA、Holt Winters等。

gluonts

github ⭐3.9k

可用模型

Model + Paper

Local/global

Data layout

Architecture/method

Implementation

DeepAR
Salinas et al. 2020

Global

Univariate

RNN

MXNet, PyTorch

DeepState
Rangapuram et al. 2018

Global

Univariate

RNN, state-space model

MXNet

DeepFactor
Wang et al. 2019

Global

Univariate

RNN, state-space model, Gaussian process

MXNet

Deep Renewal Processes
Türkmen et al. 2021

Global

Univariate

RNN

MXNet

GPForecaster

Global

Univariate

MLP, Gaussian process

MXNet

MQ-CNN
Wen et al. 2017

Global

Univariate

CNN encoder, MLP decoder

MXNet

MQ-RNN
Wen et al. 2017

Global

Univariate

RNN encoder, MLP encoder

MXNet

N-BEATS
Oreshkin et al. 2019

Global

Univariate

MLP, residual links

MXNet

Rotbaum
Hasson et al. 2021

Global

Univariate

XGBoost, Quantile Regression Forests, LightGBM, Level Set Forecaster

Numpy

Temporal Fusion Transformer
Lim et al. 2021

Global

Univariate

LSTM, self attention

MXNet, PyTorch

Transformer
Vaswani et al. 2017

Global

Univariate

MLP, multi-head attention

MXNet

WaveNet
van den Oord et al. 2016

Global

Univariate

Dilated convolution

MXNet, PyTorch

SimpleFeedForward

Global

Univariate

MLP

MXNet, PyTorch

DeepNPTS

Global

Univariate

MLP

PyTorch

MQF2
Kan et al. 2022

Global

Univariate

RNN, ICNN

PyTorch

DeepVAR
Salinas et al. 2019

Global

Multivariate

RNN

MXNet

GPVAR
Salinas et al. 2019

Global

Multivariate

RNN, Gaussian process

MXNet

LSTNet
Lai et al. 2018

Global

Multivariate

LSTM

MXNet

DeepTPP
Shchur et al. 2020

Global

Multivariate events

RNN, temporal point process

MXNet

DeepVARHierarchical
Rangapuram et al. 2021

Global

Hierarchical

RNN

MXNet

RForecast
Hyndman et al. 2008

Local

Univariate

ARIMA, ETS, Croston, TBATS

Wrapped R package

Prophet
Taylor et al. 2017

Local

Univariate

-

Wrapped Python package

NaiveSeasonal
Hyndman et al. 2018

Local

Univariate

-

Numpy

Naive2
Makridakis et al. 1998

Local

Univariate

-

Numpy

NPTS

Local

Univariate

-

Numpy

Merlion

github ⭐3.1k

  • 支持时序预测(Forecasting)和异常检测(Anomaly Detection)
  • 支持单变量和多变量的时序分析
  • 支持了模型融合(Ensemble)以及AutoML能力(带有模型选择和自动调参功能的时序建模)
  • 对于时序预测任务,支持统计学模型和机器学习模型,其中统计学模型包括ARIMA、ETS、Prophet等;而机器学习模型则主要是基于决策树的集成模型,例如RF和GB等。
  • 支持自动绘制真实值和预测结果及置信区间的对比曲线

tslearn

github ⭐2.6k

  • 针对时序数据(time series)的机器学习相关工具包
  • 可与 scikit-learn 进行互操作
  • 具有数据预处理、分类、回归(预测是一种特殊形式的回归任务)以及聚类等功能
  • tslearn可以与其他时序工具包进行整合使用,如scikit-learn、tsfresh、sktime及pyts等
功能表
dataprocessingclusteringclassificationregressionmetrics
UCR DatasetsScalingTimeSeriesKMeansKNN ClassifierKNN RegressorDynamic Time Warping
GeneratorsPiecewiseKShapeTimeSeriesSVCTimeSeriesSVRGlobal Alignment Kernel
Conversion(1, 2)KernelKmeansLearningShapeletsMLPBarycenters
Early ClassificationMatrix Profile

AutoTS

github ⭐883

AutoTS 是一个自动化的时间序列预测库,可以使用简单的代码训练多个时间序列模型,此库的一些最佳功能包括:

  • 利用遗传规划优化方法寻找最优时间序列预测模型。
  • 提供置信区间预测值的下限和上限。
  • 它训练各种各样的模型,如统计的,机器学习以及深度学习模型
  • 它还可以执行最佳模型的自动集成
  • 它还可以通过学习最优NaN插补和异常值去除来处理混乱的数据
  • 它可以运行单变量和多变量时间序列

atspy

github ⭐496

  • 自动时间序列模型
  • 该库的目标是预测单变量时间序列
  • 可以加载数据并指定要运行的模型

PaddleTS

github ⭐405

基于飞浆深度学习框架PaddlePaddle的开源时序建模算法库


参考资料:
时间序列预测的7种Python工具包,总有一款适合你!
Python中的时序分析工具包推荐(1)
Python中的时序分析工具包推荐(2)
20+时序模型!GluonTS:一个专门为时间序列建模而设计的工具包!
一些时间序列处理工具包的简单比较

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值