# Calibrate

Calibrating models to data, or finding parameters which make a model a sufficiently close fit to data, is part of the core functionality of Pumas-QSP. The `calibrate`

function is designed as an automated mechanism for performing such model calibration in an accurate and efficient manner. It uses alternative cost functions such as multiple shooting and collocations to improve the stability of the training process, along with mixing in techniques for sampling initial conditions, to ensure that an accurate fit can be generate with little to no effort.

Note:

`calibrate`

is designed for finding a single best fitting parameter set for a model. For a set of potential fits to characterize fitting uncertainty, see the documentation on the`vpop`

virtual population functionality

## The `calibrate`

Function

`JuliaSimModelOptimizer.calibrate`

— Function`calibrate(prob, alg; adtype = Optimization.AutoForwardDiff())`

Find the best parameters to solve the inverse problem `prob`

using the calibration algorithm given by `alg`

.

**Arguments**

`prob`

: the`InverseProblem`

to solve`alg`

: the calibration algorithm used for building the loss function

**Keyword Arguments**

`adtype`

: Automatic differentiation choice, see the

Optimization.jl docs for details. Defaults to `AutoForwardDiff()`

.

## Utility functions

`JuliaSimModelOptimizer.get_model`

— Function`function get_model(res::CalibrateResult)`

This function retrieves the model associated with a `CalibrateResult`

.