python - Python 中的稳健线性回归结果与 Stata 不一致

标签 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 的结果相同。任何帮助表示赞赏。

最佳答案

相当于Stata的
regress ..., robust
在 statsmodels 中是
OLS(...).fit(cov_type='HC1')
稳健的三明治协方差矩阵的选项在这里http://www.statsmodels.org/devel/generated/statsmodels.regression.linear_model.RegressionResults.get_robustcov_results.html ,但使用是通过fit关键字。

关于 Stata 和 statsmodels 之间稳健标准误差的差异,有一个不完整的常见问题解答。 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

关于python - Python 中的稳健线性回归结果与 Stata 不一致,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46861158/

相关文章:

python - 如何在 for 循环中为不同的样本运行创建的 python 程序?

Python 访问嵌套的 JSON 数据

python - Django 的管理命令如何管理事务?

python - 递归函数不递归

arrays - 当尝试在随机数字数组中查找运行最大值时,会调用多少次更新最大值?

math - 回归公式中矩阵维数不匹配

r - Logistic回归-glm中的cbind命令

python - 绘制两个特征进行回归时出现奇怪的散点图循环

algorithm - 使用常量存储总结无限序列

c++ - 数据集中最常见的值(有变化)