Stata中ivregress 2SLS与reg的默认方差估计量为何差异显著?
ivregress 2SLS differ significantly from reg in Stata? Great question—this boils down to how Stata handles finite-sample corrections and test statistics differently between the two commands by default. Let's break it down by scenario:
Classic (homoskedastic) standard errors
By default,ivregress 2SLSskips the finite-sample correction factor (N/(N-k)) and uses a Z-test. In contrast,regautomatically applies this correction and uses a t-test out of the box. To makeivregress 2SLSmatchreg's default behavior here, just add thesmalloption—it will apply the finite-sample correction and switch to a t-test.Robust standard errors
When using robust SEs (via therobustoption),ivregress 2SLSdefaults to HC0 standard errors paired with a Z-test. Butreguses HC1 SEs (which include the finite-sample correction) and a t-test by default. Again, specifying thesmalloption will makeivregress 2SLSswitch to HC1 SEs and t-tests, aligning it withreg's default setup.Clustered standard errors
The same logic applies to clustered SEs (withcluster(varname)).ivregress 2SLSdoesn't apply finite-sample corrections and uses Z-tests by default. Add thesmalloption to enable the relevant corrections and switch to t-tests, matching howregbehaves with clustered SEs out of the box.
内容的提问来源于stack exchange,提问作者luke.sonnet

