2017-10-21 500 views
-1

我和我的同班同学正在完成这项任务,涉及在Fama-French 3因子模型上运行回归。我使用python Statsmodels模块,他们使用Stata,我们共享相同的一组数据。对于普通最小二乘回归,我们得到了相同的答案。但由于某种原因,稳健的回归结果并不一致。Python和Stata中强大的线性回归结果不同意

下面是塔塔结果: enter image description here

这里是Statsmodels结果: enter image description here

只是想知道这可能是这个问题的原因是什么?任何方式来解决它?我还在Statsmodels中尝试了不同的方法(HuberT,RamsayE等),他们都没有像Stata的结果一样的答案。任何帮助表示赞赏。

+0

我可以评论的文档。只有一个特定的意义上,“稳健”才是健壮的:标准错误是Huber-White-sandwich标准错误(又一个名称存在)。否则,系数与OLS收益完全一致,因为省略'robust'选项会显示给您。我没有Statsmodels的经验,但它甚至没有尝试做同样的事情。你不是第一个由于强健的意思缺乏一致性而感到困惑的人;与此同时,Stata文档对其正在做的事情进行了相当详细的介绍。 –

+0

具有讽刺意味的是,这里的好消息是,你似乎并不需要任何有力的回归。即使是非常不同的Huber型鲁棒方法似乎也以类似的结果结束。 (这两个标题下Huber的名字都是偶然的,并且不会使程序变得相似)。 –

+0

通常,将图像截图张贴为图像并不像将文本复制并粘贴到论坛软件中那样有帮助。 –

回答

3

塔塔的

regress ..., robust

在statsmodels相对应的是

OLS(...).fit(cov_type='HC1')

了强大的三明治协方差矩阵的选项在这里http://www.statsmodels.org/devel/generated/statsmodels.regression.linear_model.RegressionResults.get_robustcov_results.html,但使用是通过合适的关键字。

对于Stata和statsmodels之间强大的标准错误差异,有一个不完整的常见问题解答。 https://github.com/statsmodels/statsmodels/issues/1923

statsmodel.robust和RLM指的是离群值鲁棒估计。这是一个M估计量,协方差有最初的Huber三明治形式。

这里是statsmodels.robust http://www.statsmodels.org/devel/rlm.html 主页,你在Stata做了什么,它RLM http://www.statsmodels.org/devel/generated/statsmodels.robust.robust_linear_model.RLM.html

+0

@尼克考克斯,那不是我的意思。 M估计量的参数的协方差是三明治形式,这就是AFAIU,Huber进入Godambe/Eicker/Huber/White等强健协方差矩阵的地方。 (然而,RLM三明治协方差不是异方差一致的,用白色AFAIR表示)。异常值部分与此没有直接关系,它只是信息矩阵相等不能保持的估计量。 – user333700