You are not logged in. You can browse but not post. Login or Register by clicking 'Login or Register' at the top-right of this page. For more information on Statalist, see the FAQ.
hc3 is the standard in R and rightly so. See the post by http://datacolada.org/99. Stata corp should help users and use as "robust" the most likely correct method.
The option robust has not been documented for at least a decade. Stata's dedication to backward compatibility is the only reason it is still allowed. Having no intentions of going into a pointless debate about how great some software is - regarding one specific aspect -, I do not see how you can even talk about a "standard" in R; you need to load a dedicated package (who knows how many there are) to get robust standard errors in the first place.
StataCorp won't help anyone by changing a default for robust like that.
Cue endless questions, many more clueless than others:
Which version of Stata did you use for your modelling with robust standard errors?
Didn't you know the default changed?
Why do my results differ from what I got previously? from my colleague's results? from my reviewer's results?
And so on and so forth.
I have no expertise on whether the default should be changed. I suspect the issues are immensely more nuanced than is conveyed by what is cited here.
When all the leading textbooks say "You should use this method, and not another", StataCorp may need to follow suit but by syntax that makes it obvious to all users what has been done. In fact, it already does...
If anything, the option vce(robust) should be removed (i.e. removed from the documentation) and users should be required to make an explicit choice about the type of standard errors they want. Users need to be encouraged thinking about what they are doing instead of just pressing a button (or typing an option) that claims something is robust (to what?), without knowing what it actually is they are doing.
Since we are always concerned about backward compatibility, perhaps it would be better to just create a new command, say -regress2- (either official or user written) which explicitly requires you to select a particular SE estimator.
That way, everything from the past remains active (and documented), and future users simply use a new option.
Of course, that also implies we start encouraging people to use the new command
F
As stated in my initial post, robust has been undocumented for more than a decade now and it is still frequently used and taught. There is no reason to assume a different outcome when vce(robust) goes undocumented.
More substantively, merely undocumenting vce(robust) is not sufficient; we need a new name for this estimator, then. What it does is already well documented, e.g., in [R] vce_option and [U] 20.22 Obtaining robust variance estimates. Researchers might still want this estimator; regress is not the only estimation command.
Thanks for this post. Even as a long time Stata user I was not aware that I was using an inferior version of robust SEs (apparently the differences to hc3 are smaller when sample sizes increase so I guess my research is not affected badly...). Another suggestion that keeps backwards compatibility but alerts users: a warning message when using "vce(robust)" that is displayed with the regression results. I also wonder if there is any scenario where hc1 is superior to hc3?
I’m also troubled by the different standard errors that are obtained by the vce(robust) option. Sometimes it’s just for heteroskedasticity, sometimes for misspecification of the entire distribution, and sometimes for both heteroskedasticity and serial correlation. And there are other meanings, too. It puts a burden on beginning users.
Comment