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

如何在Python回归模型中使用滞后时间序列变量?,python,pandas,time-series,regression,Python,Pandas,Time Series,Regression,我正在创建时间序列计量经济回归模型。数据存储在数据框中 如何使用Python进行滞后时间序列经济计量分析?我过去使用过Eviews(它是一个独立的计量经济学程序,即不是Python包)。要使用Eviews估计OLS方程,您可以编写如下内容: equation eq1.ls log(usales) c log(usales(-1)) log(price(-1)) tv_spend radio_spend 注意滞后相关和滞后价格条款。正是这些滞后变量似乎很难使用Python处理,例如使用sciki

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

如何使用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个索引滞后

将产生1个指数的前向滞后

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

df['lagprice'] = df['price'].shift(1)
之后,如果您想执行OLS,可以在此处查看scipy模块:


谢谢-看起来不错。在评估模型之前,我是否需要创建所有滞后序列?或者有没有办法创建一个模型,在需要时计算滞后值?普通最小二乘回归通常不需要任何滞后。您应该刚刚超过X和Y值,以估计将误差降至最低的Beta。然后,您可以估计任何给定新X值的Y。如果你需要一个滞后的模型。我们通常在“自回归”模型中引入滞后值,其中Xt-1与Xt有关,但这将是一个不同的模型,但假设您想估计Xt-1和X之间的β,您可以使用scipy并传递df['price']。shift(1)作为X,df['price']作为Y,这将校准一个β,例如Xt=B*Xt-1Thanks,这很有帮助。顺便说一句,在许多计量经济时间序列模型中,使用了滞后变量(以及滞后依赖变量)。例如,一个价格术语可能会滞后。你救了我。真正地上帝保佑你。愿所有的祝福与你同在
df['lagprice'] = df['price'].shift(1)