Notice: On April 23, 2014, Statalist moved from an email list to a forum, based at statalist.org.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

From |
László Sándor <sandorl@gmail.com> |

To |
statalist@hsphsun2.harvard.edu |

Subject |
Re: st: a new robust variance-covariance estimator conditional on covariates |

Date |
Sun, 30 Oct 2011 13:11:57 -0400 |

Hi Tirthankar, This sounds great. So I can use it for -regress-. On the quote from Tukey (and on Friday, Cam McIntosh made a similar to point on my similar but hasty email), we might start a meaningful discussion. I think the -robust- or the similar -cluster- options (of many estimation commands) with Huber-White covariance is basically the default option for applied researchers, certainly for those with an econometrics background. Abadie, Imbens and Zhen improve on that. But yes, it's simply "robust." Would you propose that we should go for using a properly modeled and estimated variance-covariance structure and an efficient estimator? I think that is by many orders of magnitude less appealing to (and widespread among) applied researchers. Maybe the title of the Abadie-Imbens-Zheng paper projects a different message. Their live talk definitely did not seem to do anything less kosher than Huber-White. Any thoughts? Thanks for the code! Laszlo On Sun, Oct 30, 2011 at 10:17 AM, Tirthankar Chakravarty <tirthankar.chakravarty@gmail.com> wrote: > > Laszlo, > > Based on a very quick look, the standard errors they propose (based on > their (2.8)) are not hard to compute at all - code is below. I have > handled ties arbitrarily, but you can easily change this to your > liking. However, as Tukey, "Far better an approximate answer to the > right question, than the exact answer to the wrong question, which can > always be made precise...." > > T > > ************************************************************** > // Compute and compare the Abadie-Imbens-Zheng > // covariance estimator > sysuse auto, clear > g ones = 1 > g nmiss = !missing(mpg, weight, c.weight#c.weight, foreign) > > mata > mata clear > > // a function to find the column index of the row minima > real colvector function minindexmat(real matrix mA) { > real colvector vReturn > vReturn = J(rows(mA), 1, .) > for(i = 1; i<= rows(mA); i++) { > minindex(mA[i,.], 1, j=., w=.) > if (!allof(w[,2], 1)) { > /* uniqueness assumption false; arbitrarily pick one */ > vReturn[i, 1] = j[1, 1] > } > else vReturn[i,1] = j > } > return(vReturn) > } > // regression > mX = st_data( ., "ones weight c.weight#c.weight foreign", "nmiss") > vY = st_data(., "mpg", "nmiss") > vBeta = lusolve(mX'*mX, mX'*vY) > > // standard variance-covariance matrix > vEps = vY - mX*vBeta > dSigmaSqHat = colsum(vEps:^2)/(rows(mX) - cols(mX)) > vSE = diagonal(sqrt(dSigmaSqHat*cholinv((mX'*mX)))) > vT = vBeta:/vSE // t-statistics > > // White's variance-covariance matrix > vSE2 = diagonal(sqrt(cholinv((mX'*mX))*mX'* > diag((vEps):^2)*mX*cholinv((mX'*mX)))) > vT2 = vBeta:/ vSE2 // t-statistics > > // Abadie-Imbens-Zheng variance-covariance matrix > mA = J(rows(mX), 1, 1)#mX' > mB = vec(mX')#J(1, rows(mX), 1) > mC = ((mA - mB):^2)'*I(rows(mX))#J(cols(mX), 1, 1) > _editvalue(mC, 0, .) > vL = minindexmat(mC) > > vEpsL = vEps[vL, 1] > mEpsL = vEpsL#J(1, cols(mX), 1) > mXL = mX[vL, .] > mXEpsL = mXL:*mEpsL > mEps = vEps#J(1, cols(mX), 1) > mXEps = mX:*mEps > mDXEps = mXEps - mXEpsL > vSE3 = diagonal(sqrt(0.5*cholinv(mX'*mX)* > (mDXEps'*mDXEps)*cholinv(mX'*mX))) > vT3 = vBeta:/vSE3 // t-statistics > > (vT, vT2, vT3) // standard, White, AIZ > end > ************************************************************** > > 2011/10/30 László Sándor <sandorl@gmail.com>: > > Hi, > > > > I would like to get back to using the Abadie-Imbens-Zheng estimator. > > (I did not do a great job with the exposition two days ago.) I would > > be happy with an implementation under Stata 12 on unix (or any > > previous version). > > > > Though David Card advised Guido to relabel the paper "Lower Your > > Standard Errors by 10%!", the paper does make a convincing point that > > a sample does not need to be treated as having random covariates in > > many cases, e.g. when we have the full population (where "errors" or > > noise can come from an imaginary superpopulation, but the covariates, > > like which are the states of the US or the proportion of male in the > > population, are arguably given) or when the subsample is not a random > > subsample of the population anyway ("convenience samples"). These > > arguments are more more common in the program evaluation literature, > > where people often discuss the different estimands of population > > treatment effects or only on the treated etc. > > http://www.nber.org/papers/w17442 > > > > So irrespective of the claims of many "modern" graduate econometrics > > textbooks, in some cases the usual Huber-White sandwich/robust > > standard errors are excessively conservative (the immediate response > > to White [1980] did see the point, like Chow [1984].). Abadie, Imbens > > and Zheng suggest an improvement. > > > > I wonder what is a good approach to implement a new VCE in Stata and > > how it is possible to use it across multiple commands. Or I need to > > hack one ado file at a time, and use those? > > > > Any thoughts on this will be greatly appreciated. > > > > Thanks, > > > > Laszlo > > > > > > László Sándor > > PhD candidate in Economics > > Harvard University > > > > * > > * For searches and help try: > > * http://www.stata.com/help.cgi?search > > * http://www.stata.com/support/statalist/faq > > * http://www.ats.ucla.edu/stat/stata/ > > > > > > -- > Tirthankar Chakravarty > tchakravarty@ucsd.edu > tirthankar.chakravarty@gmail.com > > * > * For searches and help try: > * http://www.stata.com/help.cgi?search > * http://www.stata.com/support/statalist/faq > * http://www.ats.ucla.edu/stat/stata/ * * For searches and help try: * http://www.stata.com/help.cgi?search * http://www.stata.com/support/statalist/faq * http://www.ats.ucla.edu/stat/stata/

**References**:**st: a new robust variance-covariance estimator conditional on covariates***From:*László Sándor <sandorl@gmail.com>

**Re: st: a new robust variance-covariance estimator conditional on covariates***From:*Tirthankar Chakravarty <tirthankar.chakravarty@gmail.com>

- Prev by Date:
**Re: st: RE: replacing var if it meets criteria** - Next by Date:
**Re: st: estout - add row of notes for each model ?** - Previous by thread:
**Re: st: a new robust variance-covariance estimator conditional on covariates** - Next by thread:
**st: For each loop** - Index(es):