Python和Stata中的稳健线性回归结果不一致

Python和Stata中的稳健线性回归结果不一致,python,statistics,regression,stata,statsmodels,Python,Statistics,Regression,Stata,Statsmodels,我和我的团队成员在做这个作业,其中包括在Fama French三因素模型上进行回归。我使用PythonStatsModels模块,他们使用Stata,我们共享同一组数据。对于普通最小二乘回归,我们得到了相同的答案。但由于某些原因,稳健回归结果并不一致 以下是Stata的结果: 以下是Statsmodels的结果: 只是想知道这个问题的原因是什么?有办法解决吗?我还在Statsmodels中尝试了不同的方法(HuberT、RamsayE等),但没有一种方法的结果与Stata的结果相同。非常感谢

我和我的团队成员在做这个作业,其中包括在Fama French三因素模型上进行回归。我使用PythonStatsModels模块,他们使用Stata,我们共享同一组数据。对于普通最小二乘回归,我们得到了相同的答案。但由于某些原因,稳健回归结果并不一致

以下是Stata的结果:

以下是Statsmodels的结果:


只是想知道这个问题的原因是什么?有办法解决吗?我还在Statsmodels中尝试了不同的方法(HuberT、RamsayE等),但没有一种方法的结果与Stata的结果相同。非常感谢您的帮助。

相当于斯塔塔的帮助

回归…,稳健

在STATSIS模型中

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

鲁棒三明治协方差矩阵的选项在这里,但使用是通过拟合关键字

对于Stata和statsmodels之间稳健标准误差的差异,有一个不完整的常见问题解答

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

这是statsmodels.robust的主页 以及RLM的文档

我可以评论你在斯塔塔做了什么<代码>回归,稳健仅在特定意义上稳健:标准错误是Huber White sandwich标准错误(还有其他名称)。否则,系数与OLS的结果完全相同,因为省略
robust
选项将向您显示。我没有使用Statsmodels的经验,但它甚至没有尝试做同样的事情。你不是第一个被“健壮”的含义缺乏一致性弄糊涂的人;同时,Stata文档对它正在做的事情进行了相当详细的描述。具有讽刺意味的是,这里的好消息是,您似乎并不真正需要任何花哨的稳健回归。即使是非常不同的Huber型鲁棒方法似乎也会得到类似的结果。(在这两个标题下出现Huber的名字是偶然的,不会使程序变得更相似。)一般来说,将屏幕截图作为图像发布并没有复制和粘贴文本到论坛软件中那么有用。@Nick Cox,我不是这个意思。M-估计量的参数协方差是三明治形式,这就是AFAIU,Huber进入Godambe/Eicker/Huber/White等人稳健协方差矩阵的地方。(然而,RLM三明治协方差在White,AFAIR方面不是异方差一致的。)离群值部分与此没有直接关系,它只是一个信息矩阵等式不成立的估计量。