这是一个简单的LSTM的时间序列预测实例,
根据之前一段时间的飞机客流量数据预测未来的客流量
博客内容是自己的浅层理解。
一、解决问题
二、代码中函数的作用
三、出现的报错及解决方法
一、解决问题
代码
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import torch
from torch import nn
from torch.autograd import Variable
data_csv = pd.read_csv('C:/Users/Kelll/Desktop/4 tbc/8 model/data.csv', usecols=[1])
plt.plot(data_csv)
#plt.show()
# 数据预处理
data_csv = data_csv.dropna() # 删除缺失数据
dataset = data_csv.values
dataset = dataset.astype('float32') # 转换数据类型
max_value = np.max(dataset)
min_value = np.min(dataset)
scalar = max_value - min_value
dataset = list(map(lambda x: x / scalar, dataset)) # 数据归一化?
#用前两个月的流量预测当月流量 所以look_back=2
def create_dataset(dataset, look_back=2):
dataX, dataY = [], []
for i in range(len(dataset) - look_back):
a = dataset[i:(i + look_back)] #选两个 当前的和下一个
dataX.append(a)
dataY.append(dataset[i + look_back]) #从第三个数据开始