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