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

2024-05-14 06:29:10 发布

您现在位置:Python中文网/ 问答频道 /正文

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

mod=sm.tsa.statespace.SARIMAX(Y,order=param,seasional\u order=param\u seasional,exog=exog\u var,强制平稳性=False,强制可逆性=False)

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

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


Tags: 网络modfalsedataframeparamordersm黑色
1条回答
网友
1楼 · 发布于 2024-05-14 06:29:10

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值预测新时段时,可以使用results对象的forecast方法进行预测

相关问题 更多 >