Sometimes when one is trying to fit a GARCH model may happen that in the estimation summary (whatever software is) there is written "failure to achieve convergence after n iteration" or similar things.

  1. Is it a considerable problem for the goodness of model? Must it be corrected or isn't it so important?

  2. Why despite this wording, coefficients estimation is anyway generated?

  3. And eventually, what to do to correct it?

Thank you

  1. This is a very serious problem. In general these results should not be used as they usually suffer from very low robustness and display butterfly effect. In other words, the parameters can change very quickly as new data flows into the model and the confidence intervals of the parameters may be so huge as to show that they are statistically insignificant.
  2. Coefficients are generated because numerical methods are often used in these context to find a Maximum likelihood parameter set or other numerical methods which are iterative such as EM Algorithm. This means that there is an initial guess at the values for the parameters and the numerical method iterates from there. Thus, at any iteration number, there is a value for the parameters, it just may be very poor.
  3. Quite often if the problem is fairly unconstrained, this is a sign of a bug in the code or model mis-specification, or both. Try using data visualization throughout the process to see if the model that you are trying to fit makes any sense logically. You may be trying to fit a line through a circle which will never fit well or converge for example.

Hope this helps, good luck

  • $\begingroup$ Thank you very much. Is the number of iterations useful to achieve the convergence not very important, or is it? Has a convergence achieved after 100 iterations the same value as a convergence achieved after, for example, 20 iterations? $\endgroup$
    – LeoAn
    Sep 4 '18 at 17:35
  • $\begingroup$ Convergence to a given "precision" or "tolerance" is equivalent regardless of how many iterations are done. Check out this code to see some simple numerical methods examples $\endgroup$
    – user25064
    Sep 4 '18 at 19:09

I agree with much of @user25064's answer but thought I'd add some more. To answer your questions:

1. Is it a considerable problem for the goodness of model? Must it be corrected or isn't it so important?

It's a big problem.

If the convergence criteria is not satisfied, then you haven't find a local optium to your optimization problem (within numerical precision) and there's no guarantee of how far you might be away.

Without more info, you don't know if where it stopped is a useful estimate or total junk!

It may not be easy (or a good use of time) for you to manually check, but in theory, you can compute the log likelihood function yourself, the gradient etc... and gather more info in how close the answer might be to an optimum.

2. Why despite this wording, coefficients estimation is anyway generated?

Even if an optimization algorithm doesn't reach convergence, it can be useful for diagnostics to know where it got so far. The search party hasn't reached the top of a peak yet, but where did they get to so far?

Let's assume your optimization problem is: $$ \mbox{minimize (over $x$)} \quad f(x)$$

Optimization algorithms typically work iteratively. Let's say you start with some initial guess $x_0$. The algorithm then examines the objective function $f$ at $x_0$ (eg. compute the gradient and/or the Hessian) then the algorithm uses that information to compute a new guess $x_1$. This process repeats until either (a) it finds some $x$ that satisfies the algorithm's convergence criteria (eg. the gradient is numerically close enough to zero) or (b) a maximum of $n$ iterations occurs.

3. eventually, what to do to correct it?

Some ideas:

  • Easiest thing to try is to increase $n$. You might be close and the algorithm just needs to run a bit longer.
  • Start with a better (or at least different) initial guess $x_0$. If you feed your algorithm a good initial guess, it will take fewer iterations to get to the solution.
  • Does your problem have some structure that's making it tough to solve? Is your model highly complicated? Do you have extreme small and large numbers (that can lead to problems like this)? Is it somehow ill posed?
  • @RichardHardy has some other suggestions to a highly similar question here.
  • Learn more about optimization! The more you know about what's happening under the hood, the more effective your tinkering from the outside will be at getting things moving again.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.