Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add documentation on convergence report, how to retrieve info when optimisation failed #406

Open
hmgaudecker opened this issue Nov 14, 2022 · 0 comments
Assignees
Labels
docs Documentation improvements

Comments

@hmgaudecker
Copy link
Member

Related to #405: While that particular issue is somewhat fides-specific, the broader point relates to interpreting the convergence report produced by estimagic:

Maximize with 95 free parameters terminated unsuccessfully after 2802 iterations.

The value of criterion improved from -1184865.5053305852 to -1029883.7752618275.

Independent of the convergence criteria used by fides, the strength of convergence
can be assessed by the following criteria:

                             one_step     five_steps 
relative_criterion_change  1.066e-10**   8.185e-08*  
relative_params_change     6.457e-08*    1.441e-07*  
absolute_criterion_change  0.0001098       0.08429   
absolute_params_change     2.969e-08*    5.068e-08*  

(***: change <= 1e-10, **: change <= 1e-8, *: change <= 1e-5. Change refers to a 
change between accepted steps. The first column only considers the last step.
The second column considers the last five steps.)

In particular, it would be good to have a page in the docs containing:

  • why these statistics are shown
  • pointers to literature
  • link to API docs of OptimizeResult.

While looking the API of OptimizeResult: I think I would find it helpful if it also contained any flags / defaults used like max_iterations. While flags set by users should be easy to retrieve usually it is also trivial to store them there. Not sure about defaults, the cost of extracting them is likely higher but so is the return (e.g., I set stopping_max_iterations myself but I would have no idea about how to extract the maximum number of function evaluations).

@hmgaudecker hmgaudecker added the docs Documentation improvements label Nov 14, 2022
@janosg janosg self-assigned this Nov 15, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
docs Documentation improvements
Projects
None yet
Development

No branches or pull requests

2 participants