@创建于:2020.11.09
@修改于:2022.05.18
文章目录
1、经典方法
1.1 指数平滑
1.2 因素分解
1.2.1 朴素方法
1.2.2 ARIMA
- Python中的ARIMA模型、SARIMA模型和SARIMAX模型对时间序列预测
- 用python做时间序列预测九:ARIMA模型简介
- 用python做时间序列预测十:时间序列实践-航司乘客数预测
- arima模型 p q d 确定_时间序列中p,d,q的确定
- ARIMA模型原理及实现
- 机器学习(五)——时间序列ARIMA模型
- ARIMA参数自动获取
- pmdarima官网,实现ARIMA参数自动获取
- 时间序列预测之–ARIMA模型,Python时间序列数据分析–以示例说明
- 进化版AutoArima
1.2.3 Prophet
- Facebook 时间序列预测算法 Prophet 的研究
- 官网介绍
- facebook prophet的探索(python语言)
- LSTM与Prophet时间序列预测实验,对应github 。【有参考价值】
2、机器学习
3、深度学习
3.1 RNN/LSTM/GRU
-
优快云:时间序列预测16:Encoder-Decoder LSTM 实现用电量/发电量预测 、==【开发和设计实现LSTM模型用于家庭用电的多步时间序列预测】==、Kaggle:Household Electric Power Consumption
-
【RNN从入门到实战】GRU入门到实战——使用GRU预测股票,这个博主有干货。
3.2 Attention (Transformer)
- 优快云:时间序列预测方法之 Transformer
- 优快云:transformer理论、pytorch/tensorflow实现、时序预测/文本分类案例
- 肺压力预测:TensorFlow Transformer【2022.03.26增加】
3.3 DeepAR
3.4 WaveNet
model = keras.models.Sequential()
model.add(keras.layers.InputLayer(input_shape=[60, 1]))
for rate in (1, 2, 4, 8) * 2:
model.add(keras.layers.Conv1D(filters=20, kernel_size=2, padding="causal",
activation="relu", dilation_rate=rate))
model.add(keras.layers.Conv1D(filters=10, kernel_size=1))
model.add(Flatten())
model.add(Dense(1, activation='sigmoid'))
model.compile(loss="mse", optimizer="adam")
model.summary()
3.5 Informer时序
3.6 Autoformer时序
from hfai.datasets import LTSF
dataset = LTSF(data_name='ETTh1', split='train', seq_len=96, label_len=48, pred_len=24, features='S', target='OT', timeenc=0, freq='h')
loader = dataset.loader(batch_size=64, num_workers=4)
from hfai.models import Autoformer
import hfreduce.torch as hfr
model = Autoformer(enc_in=1, dec_in=1, c_out=1, seq_len=96, label_len=48, out_len=24, e_layers=2, d_layers=1, dropout=0.05, embed='timeF').cuda()
loss = Loss(model)
optimizer = Optimizer(model)
reducer = hfr.AsyncReduceFloat(registry_host, port, proc_rank, procs_per_node, node_rank, node_cnt, model)
# each epoch
for x, y, x_mark, y_mark in loader:
reducer.zero_grad()
model(x, y, x_mark, y_mark)
loss.backward()
reducer.synchronize()
3.7 AdaNet
- 谷歌开源的 AdaNet,我还没有研究。在这篇博客优快云:时间序列预测_智能监控中的时间序列预测中提及到。
3.8 TBATS
4 、时序框架与工具
4.1 TFT
4.2 工具
sktime
tslearn:开源的时间序列机器学习python工具包
tsfresh:开源的时间序列特征提取python工具包
shapelet
pyts:开源的时间序列分类Python工具包。提供预处理工具及若干种时间序列分类算法
Gluon 时间序列工具包(GluonTS)
5、时序数据增强
6、综合性资料
北大:金融时间序列分析讲义
使用R实现。
- 时间序列预测方法汇总【推荐阅读。2022.03.26增加】
- 知乎:时间序列预测方法总结
- 一本以后价值的书籍:预测: 方法与实践,该书籍作者信息:Rob J Hyndman 和 George Athanasopoulos 澳大利亚莫纳什大学