prophet
github
⭐17.1k
- 仅适用单变量的时序预测模型
- 仅支持 prophet 这一个模型。
tsfresh
github
⭐7.8k
- 用于时序特征工程,包括对时间序列自动提取特征、特征选择、特征转换等
- 不能用于实现时序预测或时序分类等任务。
sktime
github
⭐7k
- 具有时序预测、时序分类、时序回归、时序聚类等
- 可与 scikit-learn 进行互操作
- 提供经典的统计学模型系列(ARIMA、ETS、prophet等)
- 提供模型Ensemble能力和AutoML功能(带有模型选择和自动调参功能的时序建模)
- 也提供一些深度学习的模型,如Transformer等
功能表
Module | Status | Links |
---|---|---|
[Forecasting] | stable | Tutorial · API Reference · Extension Template |
[Time Series Classification] | stable | Tutorial · API Reference · Extension Template |
[Time Series Regression] | stable | API Reference |
[Transformations] | stable | Tutorial · API Reference · Extension Template |
[Parameter fitting] | maturing | API Reference · Extension Template |
[Time Series Clustering] | maturing | API Reference · Extension Template |
[Time Series Distances/Kernels] | maturing | Tutorial · API Reference · Extension Template |
[Time Series Alignment] | experimental | API Reference · Extension Template |
[Annotation] | experimental | Extension Template |
[Distributions and simulation] | experimental |
darts
github
⭐6.6k
- 时序分析工具的集大成者,支持单变量和多变量预测
- 聚焦于时序预测问题,支持从ARIMA到深度学习模型,如Transformer、TCN等新的时序建模方法。
- 该库还可以方便地对模型进行回溯测试,并将多个模型的预测和外部回归组合起来。
可用模型
Model | Sources | Target 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 | 🟩 🟥 | 🟥 🟥 🟥 | 🟩 🟥 | 🟥 | |
StatsforecastAutoETS | Nixtla’s statsforecast | 🟩 🟥 | 🟥 🟩 🟥 | 🟩 🟥 | 🟥 |
StatsforecastAutoCES | Nixtla’s statsforecast | 🟩 🟥 | 🟥 🟥 🟥 | 🟥 🟥 | 🟥 |
BATS and TBATS | TBATS paper | 🟩 🟥 | 🟥 🟥 🟥 | 🟩 🟥 | 🟥 |
Theta and FourTheta | Theta & 4 Theta | 🟩 🟥 | 🟥 🟥 🟥 | 🟥 🟥 | 🟥 |
StatsForecastAutoTheta | Nixtla’s statsforecast | 🟩 🟥 | 🟥 🟥 🟥 | 🟩 🟥 | 🟥 |
Prophet (see install notes) | Prophet repo | 🟩 🟥 | 🟥 🟩 🟥 | 🟩 🟥 | 🟥 |
FFT (Fast Fourier Transform) | 🟩 🟥 | 🟥 🟥 🟥 | 🟥 🟥 | 🟥 | |
KalmanForecaster using the Kalman filter and N4SID for system identification | N4SID 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 version | DeepAR paper | 🟩 🟩 | 🟥 🟩 🟥 | 🟩 🟩 | 🟩 |
BlockRNNModel (incl. LSTM and GRU) | 🟩 🟩 | 🟩 🟥 🟥 | 🟩 🟩 | 🟩 | |
NBEATSModel | N-BEATS paper | 🟩 🟩 | 🟩 🟥 🟥 | 🟩 🟩 | 🟩 |
NHiTSModel | N-HiTS paper | 🟩 🟩 | 🟩 🟥 🟥 | 🟩 🟩 | 🟩 |
TCNModel | TCN paper, DeepTCN paper, blog post | 🟩 🟩 | 🟩 🟥 🟥 | 🟩 🟩 | 🟩 |
TransformerModel | 🟩 🟩 | 🟩 🟥 🟥 | 🟩 🟩 | 🟩 | |
TFTModel (Temporal Fusion Transformer) | TFT paper, PyTorch Forecasting | 🟩 🟩 | 🟩 🟩 🟩 | 🟩 🟩 | 🟩 |
DLinearModel | DLinear paper | 🟩 🟩 | 🟩 🟩 🟩 | 🟩 🟩 | 🟩 |
NLinearModel | NLinear paper | 🟩 🟩 | 🟩 🟩 🟩 | 🟩 🟩 | 🟩 |
TiDEModel | TiDE 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 | Global | Univariate | RNN | |
DeepState | Global | Univariate | RNN, state-space model | |
DeepFactor | Global | Univariate | RNN, state-space model, Gaussian process | |
Deep Renewal Processes | Global | Univariate | RNN | |
GPForecaster | Global | Univariate | MLP, Gaussian process | |
MQ-CNN | Global | Univariate | CNN encoder, MLP decoder | |
MQ-RNN | Global | Univariate | RNN encoder, MLP encoder | |
N-BEATS | Global | Univariate | MLP, residual links | |
Rotbaum | Global | Univariate | XGBoost, Quantile Regression Forests, LightGBM, Level Set Forecaster | |
Temporal Fusion Transformer | Global | Univariate | LSTM, self attention | |
Transformer | Global | Univariate | MLP, multi-head attention | |
WaveNet | Global | Univariate | Dilated convolution | |
SimpleFeedForward | Global | Univariate | MLP | |
DeepNPTS | Global | Univariate | MLP | |
MQF2 | Global | Univariate | RNN, ICNN | |
DeepVAR | Global | Multivariate | RNN | |
GPVAR | Global | Multivariate | RNN, Gaussian process | |
LSTNet | Global | Multivariate | LSTM | |
DeepTPP | Global | Multivariate events | RNN, temporal point process | |
DeepVARHierarchical | Global | Hierarchical | RNN | |
RForecast | Local | Univariate | ARIMA, ETS, Croston, TBATS | |
Prophet | Local | Univariate | - | |
NaiveSeasonal | Local | Univariate | - | |
Naive2 | Local | Univariate | - | |
NPTS | Local | Univariate | - |
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等
功能表
data | processing | clustering | classification | regression | metrics |
---|---|---|---|---|---|
UCR Datasets | Scaling | TimeSeriesKMeans | KNN Classifier | KNN Regressor | Dynamic Time Warping |
Generators | Piecewise | KShape | TimeSeriesSVC | TimeSeriesSVR | Global Alignment Kernel |
Conversion(1, 2) | KernelKmeans | LearningShapelets | MLP | Barycenters | |
Early Classification | Matrix Profile |
AutoTS
github
⭐883
AutoTS 是一个自动化的时间序列预测库,可以使用简单的代码训练多个时间序列模型,此库的一些最佳功能包括:
- 利用遗传规划优化方法寻找最优时间序列预测模型。
- 提供置信区间预测值的下限和上限。
- 它训练各种各样的模型,如统计的,机器学习以及深度学习模型
- 它还可以执行最佳模型的自动集成
- 它还可以通过学习最优NaN插补和异常值去除来处理混乱的数据
- 它可以运行单变量和多变量时间序列
atspy
github
⭐496
- 自动时间序列模型
- 该库的目标是预测单变量时间序列
- 可以加载数据并指定要运行的模型
PaddleTS
github
⭐405
基于飞浆深度学习框架PaddlePaddle的开源时序建模算法库
参考资料:
时间序列预测的7种Python工具包,总有一款适合你!
Python中的时序分析工具包推荐(1)
Python中的时序分析工具包推荐(2)
20+时序模型!GluonTS:一个专门为时间序列建模而设计的工具包!
一些时间序列处理工具包的简单比较