gpt4 book ai didi

python-3.x - 返回所有 NaN 的 Python- ARIMA 预测

转载 作者:行者123 更新时间:2023-12-05 07:28:11 25 4
gpt4 key购买 nike

我正在尝试按照此处的时间序列教程进行操作(使用我自己的数据集):

https://www.analyticsvidhya.com/blog/2018/02/time-series-forecasting-methods/

令人惊讶的是,我能够圆满地完成第 7 部分:ARIMA。在本节中,我遇到了很多麻烦。它的预测列中的所有值都是 NaN。

在终端中,我看到 a date index has been provided but it has no associated frequency information and so will be ignored when forecasting

我的测试数据集在没有交易发生时有一些日期间隔,所以我用 test=test.set_index('DATE').asfreq('D', fill_value=0).我也对我的 ARIMA 数据集做同样的事情,所以索引与测试集匹配。

其余相关代码如下:

train=df[0:180]
test=df[180:]
SARIMA=test.copy()

fit=sm.tsa.statespace.SARIMAX(train['COUNT'], order=(1,1,1), seasonal_order=(0,0,0,5)).fit()
SARIMA['SARIMA']=fit3.predict(start=0,
end=93,dynamic=True)

print(SARIMA)
print(test)

在打印输出中,测试集和 ARIMA 集的索引相同。 ARIMA 包含一列 SARIMA其中包含预测,除了它们都是 NaN .我错过了什么?

test
DATE COUNT
2018-06-21 1
2018-06-22 3
..
2018-11-21 3
2018-11-22 4

SARIMA
DATE COUNT SARIMA
2018-06-21 1 NaN
2018-06-22 3 NaN
..
2018-11-21 3 NaN
2018-11-22 4 NaN

编辑:由于某种原因statsmodels根本无法检测索引频率。我试过了 SARIMA=SARIMA.set_index('DATE').asfreq('D',fill_value=0) SARIMA.index=pd.to_datetime(SARIMA.index) SARIM.index=pd.DatetimeIndex(SARIMA.index.values, freq='D')但是警告总是出现

编辑:我直接尝试在 Excel 中创建一个新数据集:

DATE       COUNT
2018/01/01 1
2018/01/02 2
..
2018/01/10 3
2018/01/11 4

使用上面相同的行创建模型,除了设置 enforce_stationarityenforce invertibilityFalse .所有的预测还是NaN

edit3:使用伪造的 excel 数据集,我更接近了 1 步。路过start='2018-01-01'end='2018-01-21'产生全 0 的预测,优于 NaN .谁能理解这些结果?

edit4:设置dynamic=False返回合理的预测。显然我不是统计学家

最佳答案

此行为背后的另一个原因可能是“sarimax”参数。我还没有找到覆盖它的方法,所以如果这是原因,请尝试更改您的初始参数。

import random
import statsmodels.api
import numpy as np
import matplotlib.pyplot as plt

endog = np.array(random.sample(range(100,200), 17))

for cd in range(2):

m = statsmodels.api.tsa.statespace.SARIMAX(
endog = endog,
order = (1,1,1),
seasonal_order = (0,cd,0,12),
trend = 'n'
).fit()


plt.plot(endog)
plt.plot(m.fittedvalues)
plt.title('D: ' + str(cd))
plt.show()

enter image description here

enter image description here

关于python-3.x - 返回所有 NaN 的 Python- ARIMA 预测,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53543228/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com