我正在用python开发SARIMAX模型来预测股票市场。我将数据分为训练数据和测试数据。在训练数据上拟合模型后,我的目标是预测测试数据(一步预测)
当我将exog添加到模型中时,它会返回非常准确的结果,但是,当我在没有exog的情况下拟合模型时,我得到了一条直线。我抛出了一些类似的问题,但我无法解决这个问题。这是我的代码:
拟合模型
`mod1 = sm.tsa.statespace.SARIMAX(endog= ptrain,
exog = ftrain,
order=(1, 1, 0),
seasonal_order=(0, 0, 0, 12),
enforce_stationarity=False,
enforce_invertibility=False)
results1 = mod1.fit()`样本外预测
`prediction=results1.get_prediction(start=pd.to_datetime(ptrain.index[-1]),end=pd.to_datetime(ptest.index[-1]),exog= test)`这是图I got1:https://i.stack.imgur.com/XDd6n.png
关于如何正确地进行预测有什么想法吗?
发布于 2018-02-06 11:17:21
由于您已将平稳性强制和可逆性强制设置为False,因此很可能会获得不可靠的预测。你可以很好地尝试搜索(p,d,q)和(P,D,Q)s的最佳参数,尝试下面的性质:
for ...:
try:
model = smt.SARIMAX(...)
result = model.fit()
...
except:
continuehttps://stackoverflow.com/questions/44146964
复制相似问题