LSTM时间序列预测未来一段时间内的所有预测值的代码
时间: 2024-06-09 18:10:40 浏览: 180
参数估计使用稳定图和复数频率响应函数的直接模态参数估计附Matlab代码.rar
5星 · 资源好评率100%
以下是使用LSTM进行时间序列预测的示例代码。这个代码可以用来预测未来一段时间内的所有预测值。
```python
import numpy as np
from keras.models import Sequential
from keras.layers import LSTM, Dense
def create_dataset(dataset, look_back=1):
dataX, dataY = [], []
for i in range(len(dataset)-look_back):
a = dataset[i:(i+look_back), 0]
dataX.append(a)
dataY.append(dataset[i + look_back, 0])
return np.array(dataX), np.array(dataY)
# 导入数据
data = np.array([10, 20, 30, 40, 50, 60, 70, 80, 90, 100])
# 将数据转换为适合LSTM的格式
look_back = 2
trainX, trainY = create_dataset(data, look_back)
# 将数据重塑为LSTM的输入格式 [样本数, 时间步, 特征数]
trainX = np.reshape(trainX, (trainX.shape[0], trainX.shape[1], 1))
# 创建LSTM模型
model = Sequential()
model.add(LSTM(4, input_shape=(look_back, 1)))
model.add(Dense(1))
model.compile(loss='mean_squared_error', optimizer='adam')
# 训练模型
model.fit(trainX, trainY, epochs=100, batch_size=1, verbose=2)
# 使用模型进行预测
test_input = np.array([90, 100]).reshape((1, look_back, 1))
predicted_output = model.predict(test_input, verbose=0)
# 打印预测结果
print(predicted_output)
```
在这个代码中,我们使用了一个简单的时间序列数据集来预测未来一段时间内的所有预测值。我们首先将数据转换为适合LSTM的格式,然后创建LSTM模型,训练模型并使用模型进行预测。最后,我们打印预测结果。
请注意,这是一个非常简单的示例,实际应用中需要根据具体情况进行调整。
阅读全文