LSTM时间序列预测
前言
lstm怎样实现对未来值的预测?
所拥有的数据共3648个值,目标是继续向下预测3649,3650…
今天上午学习了https://blog.csdn.net/xspyzm
‘import_torch_as_tf’ 这位大佬写的。
总体思路就是:100个值预测一个,最后100个用做新的数据集再向下预测,预测一个添加到新数据集里,再向下预测一个。
一、具体步骤
1.导包、读取文件
import numpy as np
import matplotlib.pyplot as plt
import pandas as pd
import math
from keras.models import Sequential
from keras.layers import Dense
from keras.layers import LSTM
from sklearn.metrics import mean_squared_error
from sklearn.preprocessing import MinMaxScaler
from keras import backend as K
# 这个是报错Failed to convert a NumPy array to a Tensor ,然后搜了一下解决办法
dataframe = pd.read_csv(r'D:\PycharmProjects\ LSTM\hello3.csv',usecols = [1])
dataset = dataframe.values
plt.plot(dataset)
plt.show()
我的数据集:是不是有点多???
2.和上一篇的步骤一样
def create_dataset(dataset,look_back = 100):
dataX,dataY = [],[]
for i in range(len(dataset)-look_back): # i 从 0 :3548 ,dataX :0-100,1-101 ,dataY :100,101,102..
a = dataset[i:(i+look_back),0]
dataX.append(a)
dataY.