Estimagic overview#
Learning Objectives#
After working through this topic, you should be able to:
Explain how estimagic makes numerical optimization more user friendly for non-experts
List several diagnostic features of estimagic
Explain why representing parameters as flat vectors is not a good idea in complex applications
Materials#
The following is an estimagic presentation from the euro-scipy conference. You don’t have to understand all details. Just try to get an overview of the main estimagic features.
from epp_topics.quiz_utilities import display_quiz
content = {
"What are features of estimagic": {
"It has diagostic tools to help you find the right optimizer": True,
"It is written in Fortran so it is really fast": False,
"It re-implements optimizers to make them more user-friendly": False,
"It wraps optimizers from other packages and makes them more user-friendly": (
True
),
},
"Why data structures can you use for the parameters to optimize in estimagic?": {
"numpy arrays": True,
"pandas Series": True,
"pandas DataFrames": True,
"lists": True,
"dictionaries": True,
"NamedTuples": True,
"Nested combinations of all of the above": True,
},
"Which data structures can you use for the parameters in most other packages?": {
"1d numpy arrays": True,
"pandas Series": False,
"pandas DataFrames": False,
"lists": False,
"dictionaries": False,
"NamedTuples": False,
"Nested combinations of all of the above": False,
},
}
display_quiz(content)