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/