Python和Stata中的稳健线性回归结果不同意

时间:2017-10-21 07:40:17

标签: python statistics regression stata statsmodels

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

以下是Stata的结果: enter image description here

以下是Statsmodels的结果: enter image description here

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

1 个答案:

答案 0 :(得分:5)

相当于Stata的

regress ..., robust

statsmodels中的

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

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

对于Stata和statsmodel之间的稳健标准错误的差异,有一个不完整的FAQ答案。 https://github.com/statsmodels/statsmodels/issues/1923

statsmodel.robust和RLM指的是离群值稳健估计。这是一个M估计器,协方差具有原始的Huber三明治形式。

这是statsmodels.robust的主页 http://www.statsmodels.org/devel/rlm.html 以及RLM的文档 http://www.statsmodels.org/devel/generated/statsmodels.robust.robust_linear_model.RLM.html