如何在Python Pandas回归模型中使用滞后时间序列变量?

时间:2016-10-03 21:44:16

标签: python pandas time-series regression

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

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

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

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

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

我对做ARIMA,指数平滑或Holt Winters时间序列预测不感兴趣 - 我主要对时间序列OLS感兴趣。

1 个答案:

答案 0 :(得分:6)

pandas允许您在不移动索引的情况下移动数据

df.shift(-1)

将创建1索引滞后behing

df.shift(1)

将创建1个索引的前向延迟

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

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

之后如果你想做OLS,你可以在这里查看scipy模块:

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