ruspy icon indicating copy to clipboard operation
ruspy copied to clipboard

Seperate Model and estimation

Open MaxBlesch opened this issue 4 years ago • 0 comments

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 estimate function has to be rewritten to a get_criterion_function function, which returns for NFXP and MPEC the corresponding criterion function and its derivative together with their arguments besides params. (Maybe even just return the criterion and derivative, as partial functions with params as single input).
  • [ ] Rewrite interface, such that the init_dict only contains model specifications and fixed point algorithm details (alg_details in code).
  • [ ] Rewrite code, such that params is 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.

MaxBlesch avatar Aug 16 '21 10:08 MaxBlesch