【问题标题】:SARIMAX model out of sample predictionSARIMAX 模型的样本外预测
【发布时间】:2017-10-24 02:58:44
【问题描述】:

我正在研究 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

关于如何正确进行预测的任何想法?

【问题讨论】:

  • 你知道如何进行多步预测(比如一年)吗?我有一个训练集和测试集,但我很难在我的测试集上预测它

标签: python time-series linear-regression prediction statsmodels


【解决方案1】:

由于您已将平稳性强制和可逆性强制设置为 False,因此您可能会获得不可靠的预测。 您可以通过尝试以下性质的方法来很好地尝试搜索 (p,d,q) 和 (P,D,Q)s 的最佳参数:

for ...:
  try:
    model = smt.SARIMAX(...)
    result = model.fit()
    ...
  except:
    continue

【讨论】:

    猜你喜欢
    • 2019-05-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-20
    • 2020-04-18
    • 1970-01-01
    • 1970-01-01
    • 2020-03-27
    相关资源
    最近更新 更多