ARIMA时间序列预测模型Python代码
时间: 2024-08-16 09:05:18 浏览: 58
数学建模python源码ARIMA时间序列预测模型Python代码
ARIMA(AutoRegressive Integrated Moving Average)是一种常用的时间序列预测模型,它可以用于分析并预测数据的趋势、季节性变化等。在Python中,我们可以使用statsmodels库来实现ARIMA模型。
以下是一个简单的ARIMA模型的Python代码示例:
```python
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
# 加载数据
data = pd.read_csv('your_data.csv')
data['date'] = pd.to_datetime(data['date'])
data.set_index('date', inplace=True)
# 划分训练集和测试集
train_data = data[:int(len(data)*0.8)]
test_data = data[int(len(data)*0.8):]
# 创建ARIMA模型
model = ARIMA(train_data, order=(1, 1, 1))
model_fit = model.fit(disp=0)
# 预测
predictions = model_fit.forecast(steps=len(test_data))
# 计算误差
mse = mean_squared_error(test_data, predictions)
print('Test MSE: %.3f' % mse)
# 绘制预测结果
plt.plot(test_data, label='Actual')
plt.plot(predictions, color='red', label='Predicted')
plt.legend()
plt.show()
```
在这个示例中,我们首先导入了所需的库,然后加载了数据并将其转换为时间序列格式。接着,我们将数据划分为训练集和测试集。然后,我们创建了一个ARIMA模型,其中order参数表示ARIMA模型的阶数,即(AR阶数, 差分阶数, MA阶数)。接下来,我们使用训练集拟合模型,并对测试集进行预测。最后,我们计算了预测结果的均方误差(MSE),并将实际值与预测值绘制在同一张图上。
阅读全文