时间序列自动建模神器!HyperTS
GitHub通道:GitHub - DataCanvasIO/HyperTS: A Full-Pipeline Automated Time Series (AutoTS) Analysis Toolkit.
HyperTS是一个开源的Python工具包,提供了一个端到端的时间序列分析工具。它针对时间序列任务(预测,分类,回归等)的整个AutoML流程,以统一的API实现了灵活的全覆盖,包含数据清洗,数据预处理,特征工程,模型选择,超参数优化,结果评估以及预测曲线可视化等。
多模驱动, 轻重结合是HyperTS的关键特性。因此,可以随意切换统计(+机器学习), 深度学习及神经架构搜索等模式来获得强大的评估器。
简单易上手的API。可以简单操作创建一个实验,然后run()
它,便会获得一个最佳的全pipeline模型。然后针对得到的model执行.predict()
, .predict_proba()
, .evalute()
, .plot()
等操作来对做各种各样的时间序列结果分析。
例如,对于时间序列预测任务,只要知道csv中变量的名称,选择好模式,就可以使用HyperTS来建模预测:
from hyperts import make_experiment
from hyperts.datasets import load_network_traffic
from sklearn.model_selection import train_test_split
data = load_network_traffic()
train_data, test_data = train_test_split(data, test_size=0.2, shuffle=False)
model = make_experiment(train_data.copy(),
task='multivariate-forecast',
mode='stats',
timestamp='TimeStamp',
covariates=['HourSin', 'WeekCos', 'CBWD']).run()
X_test, y_test = model.split_X_y(test_data.copy())
y_pred = model.predict(X_test)
scores = model.evaluate(y_test, y_pred)
model.plot(forecast=y_pred, actual=test_data)
此外,HyperTS还拥有丰富的特性:
多任务支持: 时间序列预测、分类及回归。
多模式支持: 大量的时序模型,从统计模型到深度学习模型,再到神经架构搜索(开发中)。
多变量支持: 支持从单变量到多变量时间序列任务。
协变量支持: 深度学习模型支持协变量作为时间序列预测的输入特征。
概率置信区间: 时间序列预测可视化可以显示置信区间。
多样化的预处理过程: 异常值裁剪, 缺失时间补齐,缺失值填充,序列平滑,归一化等。
丰富的指标: 从MSE、SMAPE、Accuracy到F1-Score,多种性能指标来评估结果,指导模型优化。
强大的搜索策略: 采用网格搜索、蒙特卡罗树搜索、进化算法,并结合元学习器,为时间序列分析提供了强大而有效的管道。
贪婪融合: 精细化的贪婪融合组合出最强大的模型。
交叉验证: 多种时序交叉验证策略保证模型的泛化性。
这么好用高效简单的工具,还不赶快去试试,一起去打比赛呀!