【问题标题】:Add additional variables as exog in SARIMAX time series forecasting在 SARIMAX 时间序列预测中添加其他变量作为 exog
【发布时间】:2020-05-19 17:26:27
【问题描述】:

假设我需要预测受黑色星期五、网络星期一、圣诞节和其他活动影响的每月 TPV/销售额。 我在数据框中添加了所有这 4 个变量,并将其包含在“exog”中,如下所示

mod = sm.tsa.statespace.SARIMAX(Y,order=param,seasonal_order=param_seasonal,exog=exog_var,enforce_stationarity=False,enforce_invertibility=False)

我的问题是我们如何为未来的日期添加这 4 个 exog 变量的值? 如果我添加这 4 个变量并将“TPV/销售额”列留空.. 它不预测那些时间段并输出'nan'

请帮助我了解如何为未来日期添加 exog 变量以及如何预测 Y 变量?

【问题讨论】:

    标签: python time-series statsmodels arima forecast


    【解决方案1】:

    statsmodels 结构分析的方式分为以下几个步骤:

    1. 创建一个模型来描述您的数据,例如:

      mod = sm.tsa.SARIMAX(endog_training, order=(1, 0, 0), exog=exog_training)
      
    2. 拟合模型的参数,例如:

      res = mod.fit()
      
    3. 执行估计后分析。

      一个。例如,您可能想要检查拟合参数、汇总输出等,例如:

      print(res.summary())
      

      b.或者,就像您的情况一样,您可能希望执行样本外预测,例如:

      forecast = res.forecast(nsteps, exog=exog_test)
      

    因此,您只想在模型构建步骤中包含您的训练数据。当您想使用样本外的 exog 值预测新时期时,您可以使用结果对象的 forecast 方法。

    【讨论】:

      猜你喜欢
      • 2021-10-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-04-02
      • 2022-08-03
      • 1970-01-01
      • 2022-10-24
      相关资源
      最近更新 更多