在SARIMAX时间序列预测中添加其他变量作为exog

问题描述 投票:0回答:1

假设我需要预测每月的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变量的值?如果我添加这四个变量,并将“ TPV /销售额”列留空。它不会预测这些时间段并输出'nan'

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

python time-series statsmodels arima forecast
1个回答
0
投票

statsmodels结构分析的步骤如下:

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

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

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

    a。例如,您可能要检查拟合的参数,摘要输出等,例如:]

    print(res.summary())
    

    b。或者,根据您的情况,您可能需要执行样本外预测,例如:]

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

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

© www.soinside.com 2019 - 2024. All rights reserved.