赞
踩
基于self-attention的LSTM时间序列预测Python程序
特色:1、单变量,多变量输入,自由切换
2、单步预测,多步预测,自动切换
3、基于Pytorch架构
4、多个评估指标(MAE,MSE,R2,MAPE等)
5、数据从excel文件中读取,更换简单
6、标准框架,数据分为训练集、验证集,测试集
全部完整的代码,保证可以运行的代码看这里。
http://t.csdnimg.cn/El450
!!!如果第一个链接打不开,请点击个人首页,查看我的个人介绍。
(搜索到的产品后,点头像,就能看到全部代码)
黑科技小土豆的博客_CSDN博客-深度学习,32单片机领域博主
1、LSTM-selfAttention模型背景简介
LSTM全名Long Short-Term Memory,是一种递归神经网络(RNN)。与标准RNN不同的是,LSTM可以避免由于长期依赖导致的梯度消失或梯度爆炸问题。它的主要结构分为四个部分:输入门(input gate)、输出门(output gate)、遗忘门(forget gate)和记忆单元(memory cell)。
而self-attention机制是一种能够在不增加网络参数的前提下,赋予模型对于每个序列元素不同的权重,从而使模型更加关注某些比较重要的的元素,同时削弱某些不重要的元素贡献。
因此,LSTM-selfAttention模型利用LSTM网络结合self-attention机制,来更好地处理时间序列数据,提高了模型的预测准确率。
2、LSTM-selfAttention模型优点总结
本模型的优点有:
- train_ratio = 0.7 # 训练集比例
- val_ratio = 0.15 # 验证集比例
- test_ratio = 0.15 # 测试集比例
- input_length = 48 # 输入数据长度,多步预测建议长,单步预测建议短
- output_length = 1 # 输出数据长度,1为单步预测,1以上为多步预测 请注意,随着输出长度的增长,模型训练时间呈指数级增长
- learning_rate = 0.1 # 学习率
- estimators = 100 # 迭代次数
- max_depth = 5 # 树模型的最大深度
- interval_length = 2000 # 预测数据长度,最长不可以超过总数据条数
- scalar = True # 是否使用归一化
- scalar_contain_labels = True # 归一化过程是否包含目标值的历史数据
- target_value = 'load' # 需要预测的列名,可以在excel中查看
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。