Previous Topic

Next Topic

Book Contents

Book Index

Kinetic Model Fitting

The main elements on the KM pane for model fitting are:

Fit current region

Starts the process which fits the model curve to the measurements of the selected regional TAC. For compartment models the fit is an iterative optimization, while for other models only a single calculation may be sufficient.

In case randomized fitting with a number n of trials is enabled, the button text is changed to Randomized fit current region[n].

Fit all regions

Performs fitting for all TACs of the study using the current regional model definitions.

In case randomized fitting with a number n of trials is enabled, the button text is changed to Randomized fit all regions.

Fit blood param

If this box it is checked, all parameters of the Input curves which have the fit box checked are also included into the set of fitted parameters. This feature has two uses:

  • Fitting the relative time delay between the tissue and the blood data simultaneously with the kinetic rate constants.
  • (Rarely) Fitting a shape parameter such as the half-time of a metabolite build-up together with the rate constants.

Fitting and Initial Parameter Values

Except for linear and multi-linear regression, minimization of the Chi square expression requires an iterative approach. The procedure starts with a set of initial parameter values, generates the corresponding model curve, calculates the Chi square criterion, and adjusts the model parameters such that Chi square is expected to be reduced. The cycle

is then repeated until a further reduction of Chi square is not any more possible. The final set of parameters upon termination is regarded as the best-fit result. It is not analytically exact and may depend on the initial parameters, on the optimization procedure, and on the termination criterion of the iterations. Fitting is started using the Fit current region button.

It is recommended to provide a set of reasonable parameter values at the start of the optimization procedure. If the initial parameters are too far from the optimal solution, there is a higher danger of getting stuck in a local minimum. When fitting complex models, it may be worthwhile to first start with a simpler model and derive initial values from those results.

Automatic Parameter Initialization and Randomized Fitting

The Extras pane contains some settings related to fitting.


This configuration is only related to the compartment models and determines which initial values are used for the iterative fitting:

  • Disabled: the user-defined parameters are used.
  • Enabled: an automatic procedure determines initial parameters wich should be reasonably close to the solution. This is done by the linear least squares method. Note that the initial values are not shown to the user. However, to see the values, please switch to the linear least squares method and fit.


This configuration is only related to the compartment models and determines the behavior if the user switches the model between different compartment models:

  • Disabled: the first time a model is selected, its default values are used, and thereafter most recent set of parameter values of that particular model. This behavior works on a per-region bases.
  • Enabled: Each time, the user switches between the models, the parameters are converted. If switching is between models with the same number of compartments, the conversion is exact. If the number of compartments is decreased, the lumped parameters of the reduced model are calculated. If the number of compartments is increased, the same values are used for corresponding parameters, and the additional parameters set to the default values.
    Note that when switching the model from 1-tissue to 2-tissue and then back, you will end up with differing K1 and k2 values due to this conversion process.


This configuration is only related to models which require iterative fitting:

  • Disabled: Only a single fit is performed and the result parameters returned.
  • Enabled: Multiple fits are performed, and the result parameters of the fit with minimal chi squared returned. The fits are started with randomized sets of initial parameters using a uniform distribution with 100% range.
    Note: If Parameters initialization is enabled, randomization uses the automatically determined parameters for the random number generation.

Note: The purpose of randomized fitting is to avoid local minima, but there is a chance that the returned solution may contain unphysiologic parameter combinations.


Selection of the numerical optimization method applied for iterative fitting:

  • Marquardt: Marquardt-Levenberg algorithm [59]. Usually works faster and has the additional advantage that it accumulates information about the covariance matrix. Therefore, an estimate of the standard error can be calculated for the fitted parameters. They are shown as %COV (coefficient of variation), ie. as a percentage of the parameter value.
  • Powell: Conjugate direction set method [59].

The iterative optimizations terminate, when no substantial improvement can be found any more, or when the Max iterations restriction is hit.

Note: Several models (linear and multi-linear regression) are not fitted iteratively because they have closed form solutions. In these cases the Fitting type settings are not relevant.


Maximal number of iterations which are allowed in the Marquardt and Powell fitting.

Potential Fitting Problems

In the case of a failed fit it is worthwhile to check the console output. For example, the output text reproduced below clearly indicates that the 4th fit parameter caused a problem.

Singular Matrix-2
covar[1][1] = 2.1652603147908747E-6
covar[1][2] = -5.120936302955895E-4
covar[1][3] = 2.862241687078937E-7
covar[1][4] = 0.0
covar[2][1] = -5.120936302955895E-4
covar[2][2] = 0.3918087002588389
covar[2][3] = -2.0406232308544742E-4
covar[2][4] = 0.0
covar[3][1] = 2.862241687078937E-7
covar[3][2] = -2.0406232308544742E-4
covar[3][3] = 1.4044964781403112E-7
covar[3][4] = 0.0
covar[4][1] = 0.0
covar[4][2] = 0.0
covar[4][3] = 0.0
covar[4][4] = 0.0

Such problems might be caused by initial values very close to parameter restrictions.