首页 > 解决方案 > Python Statsmodels Holt Winters - 如何使用外生变量进行预测?

问题描述

我正在尝试使用ExponentialSmoothingfrom预测时间序列statsmodels.tsa.holtwinters

Statsmodels文档提到了一个名为的属性exog_names,它提供了外生变量的名称,但没有关于如何将外生数据传递给模型的信息。

我尝试使用以下代码片段:

import pandas as pd
import numpy as np
import itertools
from statsmodels.tsa.holtwinters import ExponentialSmoothing

#HW model setup

HW = ExponentialSmoothing(df["Number of Cars"],
                                    trend='add',
                                    seasonal='add',
                                    seasonal_periods = 2)

#Setting exogenous variables

HW.exog = exog_data[["GDP", "Fuel Price"]]
    
HW_Model = HW.fit()
    
#Forecasting

HW_Model.forecast(5)

当我这样做时HW.exog,我得到“GDP”和“燃料价格”。

但是,当我这样做时HW.exog_names,不会返回“GDP”和“燃料价格”。这是在 Python 中的 Statsmodel Holt Winters 实现中包含外生数据的正确方法吗?

标签: pythontime-seriesstatsmodelsforecastingholtwinters

解决方案


推荐阅读