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



我正在创建时间序列计量经济回归模型。数据存储在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感兴趣。

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

df.shift(-1)

将比

创建1个索引滞后

df.shift(1)

将创建一个前向滞后1 index

因此,如果您有一个每日时间序列,您可以使用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

最新更新