基于TCN预测模型
特色:1、单变量,多变量输入,自由切换
2、单步预测,多步预测,自动切换
3、基于Pytorch架构
4、多个评估指标(MAE,MSE,R2,MAPE等)
5、数据从excel文件中读取,更换简单
6、标准框架,数据分为训练集、验证集,测试集
全部完整的代码,保证可以运行的代码看这里。
http://t.csdn.cn/obJlChttp://t.csdn.cn/obJlC
!!!如果第一个链接打不开,请点击个人首页,查看我的个人介绍。
(搜索到的产品后,点头像,就能看到全部代码)
黑科技小土豆的博客_CSDN博客-深度学习,32单片机领域博主
1、TCN模型背景简介
TCN(Temporal Convolutional Network)是一种基于卷积神经网络的时间序列预测模型,通过堆叠卷积层来建模时间序列中的长期依赖。与传统的基于循环神经网络(RNN)的模型不同,TCN模型不需要使用循环结构,避免了RNN模型存在的梯度消失和梯度爆炸等问题。此外,TCN模型还具有平行计算和较低的计算复杂度等优点,能够有效地提高训练速度和精度。
对于每一层卷积,TCN采用了相同的核大小和步幅,使得网络能够更好地捕捉信号的局部结构信息。此外,为了提高模型的泛化能力,每一层卷积后都使用了L2正则化方法。最终,通过堆叠多个卷积层,TCN模型能够学习时间序列数据中的长期依赖关系,从而得出更加准确的预测结果。
2、TCN模型优点总结
本模型的优点有:
- TCN模型采用卷积层建模时间序列数据,避免使用循环结构导致的梯度消失和梯度爆炸等问题。同时,卷积操作可以平行化处理,具有更快的训练速度和更低的计算复杂度;
- TCN模型对于每层卷积使用相同的核大小和步幅,更好地捕捉了时间序列数据中的局部结构信息;
- TCN模型在每一层卷积后使用L2正则化方法,可以提高网络的泛化能力;
- 通过堆叠多个卷积层,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中查看