我正在开发SARIMAX模型以预测python中的股票市场。我将数据分为训练和测试数据。在将我的模型拟合到训练数据之后,我的目标是预测测试数据(一步预测)
当我向模型中添加exogs时,它会返回非常准确的结果,但是,当我在没有exogs的情况下拟合模型时,我得到了一条直线。 我去了一些类似的问题,但我无法解决问题。 这是我的代码:
`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)
` 这是我得到的情节[1]:https://i.stack.imgur.com/XDd6n.png
有关如何正确进行预测的任何想法吗?
答案 0 :(得分:0)
由于您已将平稳性执行和可逆性强制执行设置为False,因此您可能会获得不可靠的预测。 你可以尝试通过尝试以下性质来搜索(p,d,q)和(P,D,Q)的最佳参数:
for ...:
try:
model = smt.SARIMAX(...)
result = model.fit()
...
except:
continue