ruspy
ruspy copied to clipboard
Seperate Model and estimation
We want to separate model and estimation code, to make ruspy more adaptive to different estimation packages. This means we want to eliminate all calls of optimize functions like estimagic.minimize for the NFXP and ipopt and nlopt for the MPEC in the estimation code.
ToDo:
- [ ] The
estimatefunction has to be rewritten to aget_criterion_functionfunction, which returns for NFXP and MPEC the corresponding criterion function and its derivative together with their arguments besidesparams. (Maybe even just return the criterion and derivative, as partial functions withparamsas single input). - [ ] Rewrite interface, such that the
init_dictonly contains model specifications and fixed point algorithm details (alg_detailsin code). - [ ] Rewrite code, such that
paramsis a numpy array. - [ ] Rewrite tests, such that they only test the criterion function. The optimization of it will not be tested, as it is not part of the package any more. However, the correct estimation is somehow tested by more advanced tutorials.
- [ ] Adapt documentation and tutorials.