首页 > 解决方案 > adfuller 和 SARIMAX 的性能

问题描述

这在某种程度上是前一篇文章的延续,但我正在尝试预测每周收入。我的程序似乎挂在 adfuller 测试上。它以前运行过,并且通过 p 值看起来是静止的,但不一致。我也添加了 SARIMAX,代码只是挂起。如果我取消,我会(定期)在底部收到一条消息,说明问题不受限制。

数据:

Week |   Week_Start_Date |Amount |year
Week 1      2018-01-01   42920  2018
Week 2      2018-01-08   37772  2018
Week 3      2018-01-15   41076  2018
Week 4      2018-01-22   38431  2018
Week 5      2018-01-29  101676  2018

代码:

x = organic_search.groupby('Week_Start_Date').Amount.sum()

# Augmented Dickey-Fuller test
ad_fuller_result = adfuller(x)
print(f'ADF Statistic: {ad_fuller_result[0]}')
print(f'p-value: {ad_fuller_result[1]}')

# SARIMA Model
plt.figure(2)
best_model = SARIMAX(x, order=(2, 1, 1), seasonal_order=(2, 1, 1, 52)).fit(dis=1)
print(best_model.summary())
best_model.plot_diagnostics(figsize=(15,12))

我只使用 185 行左右。我不明白为什么代码只是挂起。欢迎任何优化建议(针对 adfuller 和 SARIMAX)。

标签: performancestatsmodelsforecastingsarimax

解决方案


通过传递 organic_search['Amount'] 而不是 organic_search.groupby('Week_Start_Date').Amount.sum() 修复


推荐阅读