Bookmark and Share

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]

Re: st: GMM speed


From   "Brian P. Poi" <[email protected]>
To   [email protected]
Subject   Re: st: GMM speed
Date   Sat, 21 May 2011 22:09:55 -0400

On 05/21/2011 09:17 PM, Li, Wei wrote:
Dear Statalist Members,

I tried to run the following simple nonlinear GMM specification with over 2 million observations. It took more than 10 hours to do iteration 0. I had to cancel the procedure and rerun the estimation using a 1% sample of the data to test the specification. I guess I could get a workstation with more than one processors and stata/MP... But that would be expensive...

I also tried to include the derivatives in the stata statement. Doing that increased speed quite a bit using the 1% sample. It is still taking a very long time (it is almost 16 hours and I am still waiting).

Any suggestions?


gmm (y-{a=0.4}*L.y-ln({b=0.1}*x1+{c=4}*x2+x3)+{a}*ln({a}*L.x1+{b}*L.x2+L.x3)-{c=0}),xtinstruments(y x1 x2 x3, lags(2/4)) instruments(L.x1) winitial(xt D) wmat(hac nw 2) vce(unadjusted)


Is the nonlinear specification essential? Could you instead fit a linear model and interpret it as a first-order series expansion of your nonlinear model? If that is the case, then you could use -xtabond-, -xtdpd-, -xtdpdsys-, or David Roodman's -xtabond2- (available on SSC and described in volume 9, issue 1 of the Stata Journal)?

Those estimators can build up the entire instrument matrix all at once, and since they are linear estimators, are much quicker.

-gmm- provides much more flexibility, but that comes at a cost. -gmm- builds up the panel-style instrument matrix for each panel individually when computing the GMM criterion function, and it does not save those matrices from one function evaluation to the next because with large datasets with many panels and many time periods, the storage requirements could be enormous. Moreover, since -gmm- uses nonlinear optimization methods, it must evaluate the function many times. As a result, -gmm- with panel-style instruments and 2,000,000 observations will be slow.

   -- Brian Poi
   -- [email protected]
*
*   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/


© Copyright 1996–2018 StataCorp LLC   |   Terms of use   |   Privacy   |   Contact us   |   Site index