当前位置:   article > 正文

基于self-attention的TCN-LSTM时间序列预测Python程序

tcn-lstm

基于self-attention的TCN-LSTM时间序列预测Python程序

 

特色:1、单变量,多变量输入,自由切换 

           2、单步预测,多步预测,自动切换

           3、基于Pytorch架构

           4、多个评估指标(MAE,MSE,R2,MAPE等)

           5、数据从excel文件中读取,更换简单

           6、标准框架,数据分为训练集、验证集,测试集

 

全部完整的代码,保证可以运行的代码看这里。

http://t.csdnimg.cn/El450

 

  !!!如果第一个链接打不开,请点击个人首页,查看我的个人介绍。

(搜索到的产品后,点头像,就能看到全部代码)

黑科技小土豆的博客_CSDN博客-深度学习,32单片机领域博主

0e193a3056c040a0858dfbc21c98fdf9.png

f182392ea7735a9e3207af5664544ce2.png

 

 

1、背景简介: 本模型是基于TCN和LSTM结构,加上了self-attention机制来进行时间序列的预测。TCN是一个类似于卷积神经网络的结构,但是它的卷积层是一种可重用的模块,这可以使得模型的深度和广度都大大增加。LSTM是一种递归神经网络,可以处理时间序列中的长期依赖问题。self-attention机制则是将网络的注意力放在了输入数据的不同部分上,使得模型能够关注到最为重要的特征。

2、优点总结:

  • 由于采取了TCN结构,可以处理多维输入,而且不受长度限制,适应性较强;
  • 引入了self-attention机制,可以使得模型更好地关注到输入序列中最为重要的部分,从而提高了模型的准确性。

 

 

 

  1. train_ratio = 0.7 # 训练集比例
  2. val_ratio = 0.15 # 验证集比例
  3. test_ratio = 0.15 # 测试集比例
  4. input_length = 48 # 输入数据长度,多步预测建议长,单步预测建议短
  5. output_length = 1 # 输出数据长度,1为单步预测,1以上为多步预测 请注意,随着输出长度的增长,模型训练时间呈指数级增长
  6. learning_rate = 0.1 # 学习率
  7. estimators = 100 # 迭代次数
  8. max_depth = 5 # 树模型的最大深度
  9. interval_length = 2000 # 预测数据长度,最长不可以超过总数据条数
  10. scalar = True # 是否使用归一化
  11. scalar_contain_labels = True # 归一化过程是否包含目标值的历史数据
  12. target_value = 'load' # 需要预测的列名,可以在excel中查看

 

 

3b6eadb0210c4946bfd54e910aa2fa84.png

 

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/花生_TL007/article/detail/79911
推荐阅读
相关标签
  

闽ICP备14008679号