基于Transformer网络的多步预测模型

包括完整流程数据代码处理:

多步预测数据集制作、数据加载、模型定义、参数设置、模型训练、模型测试、预测可视化、多步预测、模型评估

● 环境框架:python 3.9  pytorch 1.8 及其以上版本均可运行

● 使用对象:论文需求、毕业设计需求者

● 代码保证:代码注释详细、即拿即可跑通。

导读.png

配有代码、文件介绍:

预测.png

前言

本文基于前期介绍的电力变压器( 文末附数据集 ),介绍一种基于Transformer的多步预测模型。

电力变压器数据集的详细介绍可以参考下文:

电力变压器数据集介绍和预处理-CSDN博客

1 电力变压器数据预处理与可视化

1.1 导入数据

油温数据.png

1.2 多步预测预处理

多步预测.png

数据预处理.png

2 基于Transformer的多步预测模型

2.1 定义Transformer网络模型

模型定义.png

2.2 设置参数,训练模型

模型训练.png

50个epoch,MSE 为0.002327,Transformer多步预测模型预测效果显著,模型能够充分提取序列的空间特征,收敛速度快,性能优越,预测精度高,适当调整模型参数,还可以进一步提高模型预测表现。

注意调整参数:

  • 可以适当增加Transformer编码器层数和注意力维度数,微调学习率;
  • 增加更多的 epoch (注意防止过拟合)
  • 可以改变滑动窗口长度(设置合适的窗口长度)

3 结果可视化和预测、模型评估

3.1 预测结果可视化

预测可视化.png

3.2 加载模型进行 预测

进行预测.png

3.3 模型评估

模型评估.png

代码、数据如下:

对数据集和代码感兴趣的,可以关注最后一行

# 加载数据
import torch
from joblib import dump, load
import torch.utils.data as Data
import numpy as np
import pandas as pd
import torch
import torch.nn as nn
# 参数与配置
torch.manual_seed(100)  # 设置随机种子,以使实验结果具有可重复性
device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
 
#代码和数据集:https://mbd.pub/o/bread/mbd-ZpWYlpdv

面包多.png

  • 4
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

建模先锋

你的鼓励将是我最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值