第一个差异估计器......在pandas数据帧中

时间:2017-06-19 17:16:15

标签: python pandas statistics linearmodels

我有一个如下所示的数据框,我想计算不同列之间的第一个差异估计。我找到了这个软件包,但不确定如何实现它......还有,允许使用co-variates吗?我是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 个答案:

答案 0 :(得分:1)

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

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 - 你已经完成了!