# 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