预测未来三小时数据代码
时间: 2023-10-09 14:06:01 浏览: 33
对于预测未来三小时数据,可以使用时间序列预测模型,常见的模型包括ARIMA、Prophet、LSTM等。以下是一个使用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')
# 准备训练数据
train_data = data.iloc[:-3, 1:].values # 使用前n-3个数据作为训练数据
train_X, train_y = [], []
for i in range(3, len(train_data)):
train_X.append(train_data[i-3:i])
train_y.append(train_data[i])
train_X, train_y = np.array(train_X), np.array(train_y)
# 构建LSTM模型
model = Sequential()
model.add(LSTM(units=50, return_sequences=True, input_shape=(train_X.shape[1], train_X.shape[2])))
model.add(LSTM(units=50))
model.add(Dense(units=1))
model.compile(optimizer='adam', loss='mean_squared_error')
# 训练模型
model.fit(train_X, train_y, epochs=100, batch_size=32)
# 预测未来三小时数据
last_data = data.iloc[-3:, 1:].values # 使用最后3个数据作为初始值
preds = []
for i in range(3):
last_X = np.reshape(last_data, (1, 3, 1))
pred = model.predict(last_X)
preds.append(pred[0][0])
last_data = np.append(last_data[1:], pred, axis=0)
preds = np.array(preds)
# 输出预测结果
print(preds)
```
需要注意的是,上述代码中需要准备好数据集`data.csv`,其中包含历史数据和待预测数据。同时,模型的预测结果也需要根据具体情况进行调整和评估。