auto sarima
时间: 2024-02-04 17:02:53 浏览: 110
Auto-SARIMA是一种自动化的时间序列模型选择方法,它可以自动选择最佳的SARIMA模型来拟合时间序列数据。下面是使用Python中的pmdarima库进行Auto-SARIMA的示例代码:
```python
import pmdarima as pm
from statsmodels.tsa.arima_model import ARIMA
from sklearn.metrics import mean_squared_error
from pandas import read_csv
# 加载数据
series = read_csv('data.csv', header=None, index_col=0, parse_dates=True, squeeze=True)
# 拆分数据集
X = series.values
train_size = int(len(X) * 0.66)
train, test = X[0:train_size], X[train_size:]
# 自动选择SARIMA模型
model = pm.auto_arima(train, seasonal=True, m=12)
# 拟合模型并预测
history = [x for x in train]
predictions = list()
for i in range(len(test)):
# 拟合模型
model_fit = ARIMA(history, order=model.order, seasonal_order=model.seasonal_order).fit(disp=0)
# 预测未来一个时间步长
yhat = model_fit.forecast()[0]
predictions.append(yhat)
# 更新历史数据
history.append(test[i])
# 计算均方误差
mse = mean_squared_error(test, predictions)
print('Test MSE: %.3f' % mse)
```
在这个示例中,我们首先加载了一个时间序列数据集,然后将其拆分为训练集和测试集。接下来,我们使用pmdarima库中的auto_arima函数自动选择最佳的SARIMA模型。然后,我们使用statsmodels库中的ARIMA函数拟合模型并进行预测。最后,我们计算了预测结果的均方误差。
阅读全文