一阶差分估计器...在 pandas 数据框中

First difference estimator...in pandas dataframe

我有一个如下所示的数据框,我想在其上计算不同列之间的一阶差分估计量。我找到了这个包,但不确定如何实现它……另外,是否允许协变量?我对 python 和统计数据都不熟悉,所以任何帮助将不胜感激!

我找到的包裹:https://bashtage.github.io/linearmodels/doc/panel/models.html#linearmodels.panel.model.FirstDifferenceOLS

如何格式化数据: https://bashtage.github.io/linearmodels/doc/panel/examples/data-formats.html

我的数据(现在多索引):

       vix                  eff                  bloom 
       time  VIX_close  FEDFUNDS       time       time   
 2017-06-16  10.380000  3.020000 1993-01-01 1993-01-01   
 2017-06-15  10.640000  3.025000 1993-02-01 1993-01-02   

我的尝试:

mod = FirstDifferenceOLS(master.FEDFUNDS, master.Kincaid)
res = mod.fit(cov_type='robust')

这导致:

ValueError: Series can only be used with a 2-level MultiIndex

有一个简单的方法可以做到这一点!

1) 保持数据原样(也就是不要多索引,也不要使用包)

代码:

ARI        Flesch     Kincaid       time    VIX_close  FEDFUNDS  
14.289911  36.843078  13.187598 2004-03-01  17.223000  1.431333   
14.825867  39.550341  13.849544 2004-04-01  16.304333  1.381667 

2) 用pandas用.diff()函数计算一阶差分:

differs = master.diff()

3) 回归差异:

result = sm.ols(formula="Kincaid ~ VIX_close", data=differs).fit()

4) Ta-da——大功告成!