基于TCN- BILSTM时间序列预测Python程序
特色:1、单变量,多变量输入,自由切换
2、单步预测,多步预测,自动切换
3、基于Pytorch架构
4、多个评估指标(MAE,MSE,R2,MAPE等)
5、数据从excel文件中读取,更换简单
6、标准框架,数据分为训练集、验证集,测试集
全部完整的代码,保证可以运行的代码看这里。
http://t.csdnimg.cn/El450
!!!如果第一个链接打不开,请点击个人首页,查看我的个人介绍。
(搜索到的产品后,点头像,就能看到全部代码)
黑科技小土豆的博客_优快云博客-深度学习,32单片机领域博主
1、背景简介: 基于TCN-BILSTM模型相当于将TCN(Temporal Convolutional Networks)和BILSTM(Bidirectional Long-Short Term Memory)这两种不同的结构进行了结合,这种结合可以兼顾到两种结构的优点,进而提高时间序列预测的准确性。TCN结构是一种类似CNN卷积神经网络的结构,但其中的卷积层是可重用的模块,并且可以使用残差网络技术解决训练困难的问题。BILSTM是一种RNN(Recurrent Neural Network)结构,可以实现前向和反向计算,有效地处理了时间序列数据中的滞后问题。
2、优点总结:
- TCN-BILSTM模型可以较好地处理多维输入问题,进而能够更好地解决相关的时间序列预测任务;
- 这种模型采用了BILSTM结构,可以处理时间序列的双向依赖性问题;
- 同时,这种模型还采用了TCN结构,在模型深度和广度方面都有很大的提升,可以提高预测的精度;
- 在模型训练过程中,残差网络技术被应用于模型的设计,有效地解决了训练困难的问题。
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中查看