如何在 Python 中实现向量自回归?

Posted

技术标签:

【中文标题】如何在 Python 中实现向量自回归?【英文标题】:How to implement Vector Auto-Regression in Python? 【发布时间】:2013-08-23 07:28:00 【问题描述】:

我想在python中实现向量自回归。我的数据保存为 3 个列表的列表。我找到了这个 - http://statsmodels.sourceforge.net/stable/vector_ar.html#var,但想不出正确的实现方式。

假设 tsdata - 一个包含 3 个长度为 100 的列表的列表,是我的数据。我试过了

varmodel = ts.VAR(tsdata)

results = varmodel.fit(maxlags=5, ic='aic')

但上述方法不起作用。

更新: 根据以下建议,我已将列表列表更改为列堆栈。现在工作正常。所以 tsdata,它是一个列表列表被更改为

tsdata  = np.column_stack(tsdata)

【问题讨论】:

请详细说明“它不起作用”。当我执行VAR(data_as_lists).fit(maxlags=5, ic='aic').summary() 时,我得到了输出——不清楚所说的输出是否合理。即使这样,您的数据也应该是带有 DatetimeIndex 的 pandas DataFrame。 我的猜测是,当列表转换为数组时,列表的形状错误,变量在行中,观察在列中。在列表列表中尝试 np.column_stack 您的代码中的tsdata 在哪里?你在问题中提到它,但我看到的只是resid 代码中也应该是tsdata。更正了错字。将尝试 np.column_stack。 菲利普,感谢您的建议。它奏效了。 【参考方案1】:

将列表列表更改为列堆栈 (as @Josef suggests) 可能会解决您的问题。为此,可以使用numpy.column_stack 如下

tsdata  = np.column_stack(tsdata)

【讨论】:

以上是关于如何在 Python 中实现向量自回归?的主要内容,如果未能解决你的问题,请参考以下文章

如何获得逻辑回归中的权重向量?

如何在 scikit-learn 中实现多项式逻辑回归?

如何在 glsl 中实现任意大小的向量

如何在 STL 向量中实现 push_back?

如何在python中实现一个自定义的列表或字典

支持向量机分类及在R中实现