Python库AutoTS一行代码得到最强时序基线
时间:2022-08-02 09:19:04|栏目:Python代码|点击: 次
时间序列问题无论是在销量预测,天气预测还是在股票预测等问题中都至关重要,而如今随着机器学习等快速发展,已经出现了非常多时间序列建模相关的工具包,今天介绍一种非常霸道的工具,融合了自动化机器学习技术开发的AutoTS。
Auto TS会先对数据进行预处理,从数据中删除异常值,通过学习寻找最佳的NaN值。只需使用一行代码,就可以训练多个时间序列模型,包括ARIMA、SARIMAX、FB Prophet、VAR,并得出效果最佳的模型。
AutoTS
Auto TS是一个关于时间序列预测的开源Python库。
该库是 autoML 的一部分,其目标是为初学者提供自动化库。
它可以在仅仅使用一行Python代码中训练多个时间序列预测模型,包括ARIMA、SARIMAX、FB Prophet、VAR等,然后在从中选择最佳模型进行预测。其中AutoTS包含的技术有:
- 遗传规划优化方法寻找最优时间序列预测模型。
- 训练简单的模型、统计模型、机器学习模型和深度学习模型,同时涉及到所有可能的超参数配置和交叉验证。
- 其它
代码
# !pip install autots from autots import auto_timeseries import pandas as pd df = pd.read_csv("./data/data.csv", usecols=['Date', 'Close']) df['Date'] = pd.to_datetime(df['Date']) df = df.sort_values('Date')
train_df.Close.plot(figsize=(15,8), title= 'AMZN Stock Price', fontsize=14, label='Train') test_df.Close.plot(figsize=(15,8), title= 'AMZN Stock Price', fontsize=14, label='Test') plt.legend() plt.grid() plt.show()
model = auto_timeseries(forecast_period=219, score_type='rmse', time_interval='D', model_type='best') model.fit(traindata= train_df, ts_column="Date", target="Close") future_predictions = model.predict(testdata=219)
小结
Auto TS是一个非常不错的时间序列Baseline工具包,集成了非常多经典的时序模型,在碰到时间序列问题时,可以考虑使用AutoTS来进行训练和预测,作为一个非常不错的基线。
参考文献
Train multiple Time Series Forecasting Models in one line of Python Code