包括完整流程数据代码处理:
多步预测数据集制作、数据加载、模型定义、参数设置、模型训练、模型测试、预测可视化、多步预测、模型评估
● 环境框架:python 3.9 pytorch 1.8 及其以上版本均可运行
● 使用对象:论文需求、毕业设计需求者
● 代码保证:代码注释详细、即拿即可跑通。
配有代码、文件介绍:
前言
本文基于前期介绍的电力变压器( 文末附数据集 ),介绍一种基于Transformer的多步预测模型。
电力变压器数据集的详细介绍可以参考下文:
电力变压器数据集介绍和预处理-CSDN博客
1 电力变压器数据预处理与可视化
1.1 导入数据
1.2 多步预测预处理
2 基于Transformer的多步预测模型
2.1 定义Transformer网络模型
2.2 设置参数,训练模型
50个epoch,MSE 为0.002327,Transformer多步预测模型预测效果显著,模型能够充分提取序列的空间特征,收敛速度快,性能优越,预测精度高,适当调整模型参数,还可以进一步提高模型预测表现。
注意调整参数:
- 可以适当增加Transformer编码器层数和注意力维度数,微调学习率;
- 增加更多的 epoch (注意防止过拟合)
- 可以改变滑动窗口长度(设置合适的窗口长度)
3 结果可视化和预测、模型评估
3.1 预测结果可视化
3.2 加载模型进行 预测
3.3 模型评估
代码、数据如下:
对数据集和代码感兴趣的,可以关注最后一行
# 加载数据
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