python时间序列滞后命令_如何在Python Pandas回归模型中使用滞后的时间序列变量?...

我正在创建时间序列计量经济回归模型。 数据存储在Pandas数据框中。

如何使用Python进行滞后的时序经济计量分析? 我过去曾经使用过Eviews(这是一个独立的计量经济学程序,即不是Python软件包)。 要使用Eviews估算OLS方程,您可以编写如下代码:

1equation eq1.ls log(usales) c log(usales(-1)) log(price(-1)) tv_spend radio_spend

请注意滞后的依赖条款和滞后的价格条款。 这些滞后的变量似乎很难使用Python处理,例如 使用scikit或statmodels(除非我错过了什么)。

创建模型后,我想执行测试并使用该模型进行预测。

我对执行ARIMA,指数平滑或Holt Winters时间序列投影不感兴趣-我主要对时间序列OLS感兴趣。

熊猫允许您移动数据而无需移动索引

1df.shift(-1)

将创建1索引滞后行为

要么

1df.shift(1)

将创建1个索引的前向滞后

因此,如果您有每日时间序列,则可以使用df.shift(1)在您的价格值中产生1天的滞后

1df['lagprice'] = df['price'].shift(1)

之后,如果您想进行OLS,可以在这里查看scipy模块:

http://docs.scipy.org/doc/scipy-0.14.0/reference/generated/scipy.stats.linregress.html

谢谢-看起来不错。在估算模型之前,是否需要创建所有滞后序列?还是有一种方法可以创建一个在需要时计算滞后值的模型?

普通最小二乘回归通常不需要任何滞后。您应该只过去X和Y值,以估计可以最大程度减少错误的Beta。那么您可以在给定新X值的情况下估算出任何Y。如果您需要滞后模型。通常,我们在自回归模型中引入滞后值,其中Xt-1与Xt有关,但这将是一个不同的模型

但是假设您要估算Xt-1和X之间的beta,则可以使用scipy并将df [price] .shift(1)传递为X,将df [price]传递为Y,这将校准具有Xt = B * XT-1

谢谢,这是有帮助的。在许多计量经济学时间序列模型中,BTW使用的是滞后变量(以及滞后因变量)。例如,价格术语可能会滞后。

你救了我。真正做到。上帝祝福你。祝福您。 ;)

你可能感兴趣的:(python时间序列滞后命令)