Supplying gradient for the subset of parameters

2 vues (au cours des 30 derniers jours)
zym
zym le 11 Août 2022
Commenté : Bruno Luong le 11 Août 2022
Hi, I would like to ask if it is possible to supply analytical gradient for some parameters when optimising, using let's say fmincon. Support pages as well as documentation provide examples where user specifies analytical gradient for every parameter over which some function is optimised. In my problem, it is likely that analytical gradients are easy just for some parameters, therefore, I would like to help the optimisation by including this information and then rely on optimisation toolboxes to compute gradients for other parameters.
I may have a simple questions but I could not find the answer to.
Appreciate your help

Réponse acceptée

Alan Weiss
Alan Weiss le 11 Août 2022
The short answer is no: there is no provision to provide analytic gradients for a subset of the parameters. I cannot think of a workaround, either.
Alan Weiss
MATLAB mathematical toolbox documentation
  1 commentaire
zym
zym le 11 Août 2022
Modifié(e) : zym le 11 Août 2022
Thanks a lot for the prompt response. I happenned to get stuck on this problem for the maximum likelihood estimation.
For the MLE I am using kalman filter to obtain loglikelihood. The likelihood with Kalman filter tends to not have an easy expression for the gradient as disccused by Durbin and Koopman "Time series analysis by state space methods" p.180. Authors argue that using gradients approximated using numerical methods maybe more efficient for some parameters though not for all.

Connectez-vous pour commenter.

Plus de réponses (1)

Bruno Luong
Bruno Luong le 11 Août 2022
May be you could provide the gradient interface for all, but compute the subset derivative analytically and the complement by finite difference, providing you know ho to chose the step size (which might not be trivial).
  2 commentaires
zym
zym le 11 Août 2022
If I understand correctly, you are suggesting to compute the numerical gradient for parameters which do not have the analytical expression. Yes that is a sort of a solution. It would be just nice to call matlab's toolboxes for that. Thanks!
Bruno Luong
Bruno Luong le 11 Août 2022
Yes, that's the idea.

Connectez-vous pour commenter.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by