Supplying gradient for the subset of parameters

4 views (last 30 days)
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

Accepted Answer

Alan Weiss
Alan Weiss on 11 Aug 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 Comment
zym
zym on 11 Aug 2022
Edited: zym on 11 Aug 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.

Sign in to comment.

More Answers (1)

Bruno Luong
Bruno Luong on 11 Aug 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 Comments

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!

Translated by