季节性自回归集成移动平均模型(SARIMA)代码
时间: 2023-06-25 20:04:40 浏览: 48
下面是一个简单的SARIMA模型的Python代码示例:
```python
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from statsmodels.tsa.statespace.sarimax import SARIMAX
# 加载数据
df = pd.read_csv('data.csv', parse_dates=['date'], index_col='date')
# 拆分数据集为训练集和测试集
train_size = int(len(df) * 0.8)
train, test = df.iloc[:train_size], df.iloc[train_size:]
# 创建 SARIMA 模型
model = SARIMAX(train, order=(1, 1, 1), seasonal_order=(1, 1, 1, 12))
# 拟合模型
model_fit = model.fit()
# 预测未来值
future = model_fit.forecast(steps=len(test))
# 绘制预测结果和实际值
plt.plot(test)
plt.plot(future, color='red')
plt.show()
```
在这个示例中,我们首先加载了一个时间序列数据集,然后将其拆分为训练集和测试集。接下来,我们创建了一个 SARIMA 模型对象,并使用 `fit()` 方法将其拟合到训练数据上。最后,我们使用 `forecast()` 方法预测未来值,并将预测结果和实际值绘制在同一张图上进行比较。
需要注意的是,SARIMA 模型的精度取决于所选的 `order` 和 `seasonal_order` 参数。通常,需要通过试验和交叉验证来确定最佳参数组合。