Handling non-convergence with various METHOD's
Posted: Wed Sep 20, 2023 6:16 am
Hi Tom,
I tried to use a similar technique to handle non-convergence in BOXJENK as in GARCH
which works and estimates the next GARCH if non-convergence.
But with BOXJENK e.g
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
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 yBut 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
}
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