时间序列预测 — 指数平滑、因素分解、机器学习、深度学习、数据增强

@创建于:2020.11.09
@修改于:2022.05.18

1、经典方法

1.1 指数平滑

1.2 因素分解

1.2.1 朴素方法

1.2.2 ARIMA

1.2.3 Prophet

2、机器学习

3、深度学习

3.1 RNN/LSTM/GRU

3.2 Attention (Transformer)

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

3.8 TBATS

4 、时序框架与工具

4.1 TFT
4.2 工具

sktime
tslearn:开源的时间序列机器学习python工具包
tsfresh:开源的时间序列特征提取python工具包
shapelet
pyts:开源的时间序列分类Python工具包。提供预处理工具及若干种时间序列分类算法
Gluon 时间序列工具包(GluonTS)

5、时序数据增强

数据增强——时间序列

6、综合性资料

北大:金融时间序列分析讲义
使用R实现。

  • 4
    点赞
  • 36
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值