import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from statsmodels.tsa.arima.model import ARIMA
from sklearn.metrics import mean_squared_error
# 创建一个新的DataFrame,包含日期和温度数据
data = pd.DataFrame({'date': ['2023-07-01', '2023-07-02', '2023-07-03'],
'temperature': [29, 30, 40]})
data['date'] = pd.to_datetime(data['date'])
data.set_index('date', inplace=True)
# 提取温度数据
temperature = data['temperature'].values
# 划分训练集和测试集(在这个例子中,我们只有一个数据集)
train = temperature
test = temperature
# 构建ARIMA模型
model = ARIMA(train, order=(5,1,0))
model_fit = model.fit()
# 预测未来3天的温度(在这个例子中,我们只有一个数据集,所以预测结果可能不准确)
forecast = model_fit.forecast(steps=3)
print('未来3天的预测温度:', forecast[0])
# 可视化预测结果
plt.plot(train, label='训练集')
plt.plot(test, label='测试集')
plt.plot(pd.date_range(start=max(data.index), periods=3), forecast, color='red', label='预测')
plt.legend()
plt.show()