【问题标题】:First difference estimator...in pandas dataframe一阶差分估计器......在熊猫数据框中
【发布时间】:2017-06-19 17:16:15
【问题描述】:

我有一个如下所示的数据框,我想在该数据框上计算不同列之间的第一个差异估计量。我找到了这个包,但不确定如何实现它......另外,是否允许使用协变量?我是 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

【问题讨论】:

  • 你已经尝试了什么?您发布的链接上有一个示例。
  • 谢谢,我更新了我的问题。

标签: python pandas statistics linearmodels


【解决方案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 -- 你完成了!

【讨论】:

    猜你喜欢
    • 2013-06-23
    • 2016-10-17
    • 2023-01-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-07
    • 2021-06-03
    • 1970-01-01
    相关资源
    最近更新 更多