How can I change the convergence criterion

Question

I'm having some problems getting convergence of models. LogL does not change for the last 1000 (!) iterations and there are (apparently) no changes in variance component estimates either (% change are all 0), but yet the model does not converge. I suppose this is due to a very flat likelihood profile so that the model can't find a optimum that satisfies a change in the REML LogL of 0.002*current iteration number and for the individual variance parameter estimates to change less than 1%.

Would it make sense to change these criteria to obtain convergence and how would one code asreml to change these (i.e. one or both the LogL and the var comp change)?

Answer

I make several observations.

First, the convergence criterion in is ASReml is just a rule it uses to say whan to stop. You are free to choose another rule. It is not uncommon to accept a result when the ASReml criterion has not been fully met. You cannot formally change the rule within ASReml but you can look at the sequence of LogL values and parameter values and apply your own rule.

Second, there will be something that is stopping ASReml from deciding the model has converged if you have done 1000 iterations and the last 990 all have the same likelihood. Maybe two parameters are oscillating (likelihood is flat). Otherwise, the residual variance might be trying to go negative. In Luan Shengs query, fitting the model '!r sire animal', the convergence 'failed' but the sequence was
  47 LogL= 557.211     S2= 0.40566E-03   1292 df    :   2 components restrained
  48 LogL= 557.215     S2= 0.25724E-04   1292 df    :   2 components restrained
  49 LogL= 557.211     S2= 0.40566E-03   1292 df    :   2 components restrained
  50 LogL= 557.215     S2= 0.25724E-04   1292 df    :   2 components restrained
 Final parameter values                        292.46     692.01     1.0000
from the .res file
 Iteration    1         42         43         44         45         46
 LogL    460.122    557.215    557.211    557.215    557.211    557.215
 Change %    64          0          0          0          0          0
 Adjusted     0          2          2          2          2          2
 StepSz     0.141      0.500      0.500      0.500      0.500      0.500
   9 G       0.10    4624.20     292.46    4624.20     292.46    4624.20 1481.1
  10 G       0.10   10941.70     692.01   10941.70     692.01   10941.70 1481.1
ASReml keeps deciding the parameters are trying to change too much and restrains them in a way that leads to oscillating between two solutions near the boundary of the parameter space. I suspect this is happening for you as well.

1 November 2008

See Also