Supported Methods for Parameter Estimation in SimBiology
SimBiology® supports a variety of optimization methods for least-squares and mixed-effects estimation problems. Depending on the optimization method, you can specify parameter bounds for estimated parameters as well as response-specific error models, that is, an error model for each response variable. The following table summarizes the supported optimization methods in SimBiology, fitting options, and the corresponding toolboxes that are required in addition to MATLAB® and SimBiology.
Method | Additional Toolbox Required | Supports Parameter Bounds | Uses Parameter Sensitivities† | Response-specific Error Models | Fixed or Mixed Effects | Supports Stochastic EM Algorithm | SimBiology Function to Use |
---|---|---|---|---|---|---|---|
fminsearch | — | Yes* | No | Yes | Fixed | No | sbiofit or fitproblem |
scattersearch | — | Yes | Depends on the selected local solver. | Depends on the selected local solver. | Fixed | No | |
nlinfit (Statistics and Machine Learning Toolbox) | Statistics and Machine Learning Toolbox™ | Yes* | No | No | Fixed | No | |
fminunc (Optimization Toolbox) | Optimization Toolbox™ | Yes* | Yes | Yes | Fixed | No | |
fmincon (Optimization Toolbox) | Optimization Toolbox | Yes | Yes | Yes | Fixed | No | |
lsqcurvefit (Optimization Toolbox) | Optimization Toolbox | Yes | Yes | Yes | Fixed | No | |
lsqnonlin (Optimization Toolbox) | Optimization Toolbox | Yes | Yes | Yes | Fixed | No | |
patternsearch (Global Optimization Toolbox) | Global Optimization Toolbox | Yes | No | Yes | Fixed | No | |
ga (Global Optimization Toolbox) | Global Optimization Toolbox | Yes | No | Yes | Fixed | No | |
particleswarm (Global Optimization Toolbox) | Global Optimization Toolbox | Yes | No | Yes | Fixed | No | |
nlmefit (Statistics and Machine Learning Toolbox) | Statistics and Machine Learning Toolbox | No | No | No | Mixed | No | sbiofitmixed or
fitproblem |
nlmefitsa (Statistics and Machine Learning Toolbox) | Statistics and Machine Learning Toolbox | No | No | No | Mixed | Yes |
† This column indicates whether the algorithm allows using parameter sensitivities to determine gradients of the objective function.
* When using fminsearch
, nlinfit
, or
fminunc
with bounds, the objective function returns
Inf
if bounds are exceeded. When you turn on options such as
FunValCheck
, the optimization may error if bounds are exceeded
during estimation. If using nlinfit
, it may report warnings about the
Jacobian being ill-conditioned or not being able to estimate if the final result is too
close to the bounds.