Supplying gradient for the subset of parameters

1 visualizzazione (ultimi 30 giorni)
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

Risposta accettata

Alan Weiss
Alan Weiss il 11 Ago 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 Commento
zym
zym il 11 Ago 2022
Modificato: zym il 11 Ago 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.

Accedi per commentare.

Più risposte (1)

Bruno Luong
Bruno Luong il 11 Ago 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 Commenti
zym
zym il 11 Ago 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!

Accedi per commentare.

Community Treasure Hunt

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

Start Hunting!

Translated by