gpt4 book ai didi

machine-learning - 如何将多个外生变量输入到 statsmodel 中的 SARIMAX 模型中?

转载 作者:行者123 更新时间:2023-11-30 08:51:24 24 4
gpt4 key购买 nike

在 statsmodels 中,对于 SARIMAX 或 ARIMA 模型,我想使用多个附加外部变量(外生变量)。例如。我想使用产量时间序列的滞后 3 的 AR 和天气温度时间序列的滞后 4 的 AR 以及滞后 3 的 AR 的市场价格的另一个变量来预测时间 t 的 yield 。这似乎不可能?有什么例子或解释如何做到这一点?

最佳答案

首先,您必须将外源输入定义为尺寸为 nobsxk 的数组类型结构,其中 nobs 是数字您的内生观察值(即假设您有一个时间序列,时间序列的长度)和 k 额外外生变量的数量。假设您使用 ndarray 来实现此目的,您可以从类似的内容开始

exog = np.empty([nobs, k])

然后用外生变量的值填充它。然后,您定义模型,如下例所示:

model = sm.tsa.SARIMAX(endog=series, exog=exog, order=order, seasonal_order=seasonal_order).fit(start_params=[0, 0, 0, 0, 0, 1])

其中series是您的原始时间序列,exog是外生输入,order是一个(p,d,q)元组,>seasonal_order 一个 (P,D,Q,s) 元组。您应该注意 start_params 列表,我发现它对于在我的案例中成功构建 sarimax 模型至关重要。

当我没有使用任何外源输入时,start_params 列表为 start_params = [0, 0, 0, 1] for (p,d,q) = (1,0,0) 和(P,D,Q,s) = (1,0,0,37)。

当我添加 3 个新的外源输入时,我将 start_params 列表设置为 start_params = [0, 0, 0, 0, 1, 1],如果您注意到它有 2 个附加元素。 p>

我想(我不确定,也没有彻底检查过),如果您在模型中添加 k 个外源输入,则必须添加 k - 1 个附加元素在您的 start_params 列表中,以便成功构建 sarimax 模型。

希望有帮助。干杯。

关于machine-learning - 如何将多个外生变量输入到 statsmodel 中的 SARIMAX 模型中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44212127/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com