Handling non-convergence with various METHOD's

Use this forum to post questions about syntax problems or general programming issues. Questions on implementing a particular aspect of econometrics should go in "Econometrics Issues" below.
Post Reply
ac_1
Posts: 495
Joined: Thu Apr 15, 2010 6:30 am

Handling non-convergence with various METHOD's

Post by ac_1 »

Hi Tom,


I tried to use a similar technique to handle non-convergence in BOXJENK as in GARCH

Code: Select all

if (%converged == 0); garch(p=1,q=1,resids=u,hseries=h,noprint,nomean,METHOD=BHHH,INITIAL=%BETA) tstart+i tend+i y
etc
if (%converged == 0); garch(p=1,q=1,resids=u,hseries=h,noprint,nomean,METHOD=GA,INITIAL=%BETA) tstart+i tend+i y
if (%converged == 0); garch(p=1,q=1,resids=u,hseries=h,noprint,nomean,METHOD=EVALUATE,INITIAL=%BETA) tstart+i tend+i y
which works and estimates the next GARCH if non-convergence.


But with BOXJENK e.g

Code: Select all

boxjenk(print,const=%%autoconst,ar=%%autop,diffs=%%autod,ma=%%autoq,$
         define=eq_D,METHOD=GAUSS) y start begin resids
disp %converged


if %converged==0 {
boxjenk(print,const=%%autoconst,ar=%%autop,diffs=%%autod,ma=%%autoq,$
         define=eq_D,derivs=dd,MAXL,METHOD=BFGS) y start begin resids
}

etc

if %converged==0 {
boxjenk(print,const=%%autoconst,ar=%%autop,diffs=%%autod,ma=%%autoq,$
         define=eq_D,derivs=dd,MAXL,METHOD=GA) y start begin resids
}
there's a print from the first BOXJENK and 0 for convergence, the second BOXJENK doesn't print and the program stops. Why is that?

IMHO there should be a METHOD=ALL or EVERY, so I do not have to specify the IF statement, and METHOD sequentially uses the default, then the next and so on as listed or requested from the user.


Amarjit
TomDoan
Posts: 7814
Joined: Wed Nov 01, 2006 4:36 pm

Re: Handling non-convergence with various METHOD's

Post by TomDoan »

In general, that works fine, so that would have to be something specific to the particular data and model that you're trying to estimate. Note that you're switching from non-MAXL to MAXL between the two, which is probably the wrong direction to go. (MAXL tends to be fussier).

We have the PMETHOD and METHOD options to allow for sequential use of estimation methods. The problem with your suggestion is that it's never really clear whether a convergence problem is because of a failure of the particular method (such as BHHH having the curvature wrong, where a change in method picking up where the last left off might fix things) or a failure of the model, which might have multiple modes which may require restarting from initial guesses. In your examples with GARCH, feeding %BETA back in as INITIAL is probably a bad idea---if there is a convergence problem, it may be because %BETA has hit a bad spot. GARCHBACKTEST feeds in as initial guesses the full sample estimates which should provide at least a firm basis for the subsamples. (If you can't get the model to converge at the full sample, you need to pick a better model).
Post Reply