LSTM时间序列预测代码
时间: 2023-09-15 15:23:11 浏览: 86
以下是一个使用LSTM进行时间序列预测的简单代码示例:
```python
import numpy as np
import pandas as pd
from keras.models import Sequential
from keras.layers import Dense, LSTM
# 读取数据
data = pd.read_csv('data.csv')
# 数据预处理
window_size = 5 # 窗口大小
train_data = []
train_labels = []
for i in range(window_size, len(data)):
train_data.append(data[i-window_size:i])
train_labels.append(data[i])
train_data = np.array(train_data)
train_labels = np.array(train_labels)
# 创建模型
model = Sequential()
model.add(LSTM(units=50, return_sequences=True, input_shape=(train_data.shape[1], 1)))
model.add(LSTM(units=50))
model.add(Dense(1))
# 模型编译
model.compile(optimizer='adam', loss='mean_squared_error')
# 模型拟合
model.fit(train_data, train_labels, epochs=100, batch_size=32)
# 测试数据预处理
test_data = data[-window_size:]
test_data = np.array(test_data)
test_data = np.reshape(test_data, (1, window_size, 1))
# 预测
prediction = model.predict(test_data)
```
在这个示例中,我们首先读取时间序列数据,然后对数据进行预处理,其中窗口大小为5。接下来,我们创建一个LSTM模型,该模型包含两个LSTM层和一个密集层。然后,我们编译模型,并使用训练数据拟合模型。最后,我们使用最后5个数据点来测试模型,并生成一个预测值。
阅读全文