季节性自回归集成移动平均模型(SARIMA)代码
时间: 2023-06-27 14:01:10 浏览: 160
下面是一个使用Python编写的SARIMA模型的示例代码:
```python
# 导入所需的包
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from statsmodels.tsa.statespace.sarimax import SARIMAX
# 读取数据
data = pd.read_csv('data.csv', index_col='Date', parse_dates=True)
# 确定时间序列的差分次数
diff = data.diff().dropna()
# 拟合SARIMA模型
model = SARIMAX(diff, order=(1, 1, 1), seasonal_order=(1, 1, 0, 12))
results = model.fit()
# 预测未来值
forecast = results.forecast(steps=12)
# 反差分
forecast = data.iloc[-1] + forecast.cumsum()
# 绘制预测结果
plt.plot(data)
plt.plot(forecast)
plt.legend(['actual', 'forecast'])
plt.show()
```
在这个示例中,我们首先导入所需的包并读取数据。为了确定时间序列的差分次数,我们对原始数据进行一次差分。然后,我们使用SARIMAX函数拟合一个SARIMA模型,并使用forecast函数预测未来值。最后,我们将预测结果反差分,并使用matplotlib绘制预测结果。
阅读全文