Comments (6)
👍 Agree.
from estimagic.
I like the idea of the named tuple. This would allow us to very flexibly return everything possibly interesting in the "internal" optimization output - no matter which optimizer library was used. Especially if info
is a dictionary and we come up with a good set of keys that unifies the outputs from the different libraries. We could also easily tag on additional information collected outside the optimizer library (e.g. for the purpose of debugging).
Regarding serializability
- I wonder if it's really necessary to stick to
params
as a DataFrame. I cannot think of a case at the moment whereparams.to_dict()
would cause us to lose any information. Of course, that would mean converting it back in many cases (such as the comparison plot) but that might be worth it. - In case we decide to return
params
as a dictionary: Named tuples are not easily serializable so given that there are only two entries in the tuple we might want to skip the naming step.
Moving to the (named) tuple should also allow us to get rid of the duplication now present in what the optimization returns. Right now both res_dict
and params
contains the final parameter vector.
from estimagic.
Regarding 1: No loss of information, but you can't do anything with such a dictionary. Also, I really want to convince people that there is nothing better than a DataFrame to represent and manipulate parameter vectors.
Yes, it is true that we can get rid of the duplication. Good observation!
from estimagic.
The returned result should also contain the constraints.
from estimagic.
#102 implements a results
dictionary which contains harmonized fields which are the same across optimizers and other fields.
We thought about implementing a nice __repr__
method which turns the dictionary into a beautiful screen output, but it is delayed for now.
from estimagic.
Done in estimagic 0.1.
from estimagic.
Related Issues (20)
- Error in multistart with `ls` optimizers HOT 2
- Use modern pre-commit hooks and implement own
- Improve handling of notebooks in documentation
- Styling of yaml files HOT 4
- Logging fails with SQLAlchemy 2.0 HOT 1
- Continue running `check_constraints_are_satisfied` beyond first failure HOT 1
- Equality constraints involving params values not always caught correctly HOT 11
- Analyze code coverage of numba-jitted functions
- Estimation table: reconsider visualization of integers
- update `siunitx_warning` for estimation_table HOT 2
- logging for estimate_msm not working HOT 7
- Improve error messages for empty log files
- Replace `DateFrame.applymap` with `DataFrame.map` (in estimation_table) HOT 1
- `get_moments_cov` does not forward `bootstrap_kwargs` to `bootstrap`
- Nested pd.Series (and more) dont get unraveled properly some calls (i think it is numerical jacobeans) HOT 1
- Bug in `get_moments_cov` HOT 1
- Bootstrap with survey weights HOT 1
- DOCS: Some improvements
- full optimization results not saved in estimation HOT 1
- Multistart Parallelization with Jit Compatible Code HOT 7
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from estimagic.