2017-10-21 501 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