网站制作主题思路,网站怎么做二维码链接,阿里云网站备案,做家政服务类网站的要求时序预测 | Pytorch实现TCN-Transformer的时间序列预测 目录 时序预测 | Pytorch实现TCN-Transformer的时间序列预测效果一览基本介绍程序设计 效果一览 基本介绍 基于TCN-Transformer模型的时间序列预测#xff0c;可以用于做光伏发电功率预测#xff0c;风速预测#xff0…时序预测 | Pytorch实现TCN-Transformer的时间序列预测 目录 时序预测 | Pytorch实现TCN-Transformer的时间序列预测效果一览基本介绍程序设计 效果一览 基本介绍 基于TCN-Transformer模型的时间序列预测可以用于做光伏发电功率预测风速预测风力发电功率预测负荷预测等python程序 python代码pytorch 程序设计
完整程序和数据获取方式1资源处直接下载Pytorch实现TCN-Transformer的时间序列预测完整程序和数据获取方式2私信博主回复Pytorch实现TCN-Transformer的时间序列预测。
数据集描述通过预览数据可知此次实验的数据属性为date(日期)、open(开盘价)、high(最高价)、low(最低价)、close(收盘价以及volume(成交量)其中我们要实现股票预测需要着重对close(收盘价)一列进行探索性分析。from torch import nn# 1.导入库 对数据集进行处理
import pandas as pd
import numpy as np
from sklearn.metrics import mean_absolute_error, mean_squared_error
from torch.utils.data import DataLoader, Dataset
import torch
from model import TCN_transfomer
from sklearn.preprocessing import MinMaxScaler
from sklearn.metrics import r2_score
import matplotlib.pyplot as plt
plt.rcParams[font.family] SimHei#绘图正常显示中文
plt.rcParams[axes.unicode_minus]False#用来正常显示负号#有中文出现的情况from tqdm import tqdmepoch 100
totall_loss [] # 记录损失值
batch_size32
num_inputs5
sequence_length32
num_channels[64,16,4,1]
kernel_size3
dropout0.3
nb_unitessequence_length# 需要u内容
# 2.定义获取数据函数数据预处理。去除ID股票代码
# 前一天的收盘价交易日期等对训练集无用的数据
def getData(root, sequence_length, batch_size):stock_data pd.read_csv(root)print(stock_data.info())print(stock_data.head().to_string())#首先删除一些对预测close无用的信息stock_data.drop(id, axis1, inplaceTrue) # 删除datestock_data.drop(labelsts_code, axis1, inplaceTrue)stock_data.drop(labelstrade_date, axis1, inplaceTrue)stock_data.drop(labelspre_close, axis1, inplaceTrue)stock_data.drop(labelschange, axis1, inplaceTrue)stock_data.drop(labelspct_chg, axis1, inplaceTrue)stock_data.drop(labelsamount, axis1, inplaceTrue)print(整理后\n, stock_data.head())#获取收盘价的最大值与最下值close_max stock_data[close].max() # 收盘价的最大值close_min stock_data[close].min() # s收盘价的最小值# 2.1对数据进行标准化min-maxscaler MinMaxScaler()df scaler.fit_transform(stock_data)print(整理后\n, df)# 2.2构造X,Y# 根据前n天的数据预测未来一天的收盘价close# 例如根据1月1日、1月2日、1月3日、1月4日、1月5日的数据# 每一天的数据包含8个特征预测1月6日的收盘价。sequence sequence_lengthx []y []for i in range(df.shape[0] - sequence):x.append(df[i:i sequence, :])y.append(df[i sequence, 3])x np.array(x, dtypenp.float32)y np.array(y, dtypenp.float32).reshape(-1, 1)print(x.shape, x.shape)xnp.transpose(x,(0,2,1))print(转置后x.shape, x.shape)print(y.shape, y.shape)# 2.3构造batch,构造训练集train与测试集testtotal_len len(y)print(total_len, total_len)trainx, trainy x[:int(0.90 * total_len), ], y[:int(0.90 * total_len), ]testx, testy x[int(0.90 * total_len):, ], y[int(0.90 * total_len):, ]train_loader DataLoader(datasetMydataset(trainx, trainy), shuffleTrue, batch_sizebatch_size)test_loader DataLoader(datasetMydataset(testx, testy), shuffleTrue, batch_sizebatch_size)return [close_max, close_min, train_loader, test_loader] [1] https://blog.csdn.net/kjm13182345320/article/details/129036772?spm1001.2014.3001.5502 [2] https://blog.csdn.net/kjm13182345320/article/details/128690229