一阶差分估计器...在 pandas 数据框中
First difference estimator...in pandas dataframe
我有一个如下所示的数据框,我想在其上计算不同列之间的一阶差分估计量。我找到了这个包,但不确定如何实现它……另外,是否允许协变量?我对 python 和统计数据都不熟悉,所以任何帮助将不胜感激!
如何格式化数据:
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——大功告成!
我有一个如下所示的数据框,我想在其上计算不同列之间的一阶差分估计量。我找到了这个包,但不确定如何实现它……另外,是否允许协变量?我对 python 和统计数据都不熟悉,所以任何帮助将不胜感激!
如何格式化数据: 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——大功告成!