calcAliasingScoresFromModel.Rd
Calculate the normalized sensitivities and aliasing scores for a given model.
It first computes the variational matrix for the model and then applies calcAliasingScoresFromMatrix
.
calcAliasingScoresFromModel(
model,
parms,
init,
outputPred,
times,
vars = names(parms),
outNorm = FALSE,
symbolic = TRUE,
chkModel = TRUE,
...
)
Function(t, y, p) of time, state variables and parameters, specifying the differential equations. This function should return the numeric vector dy/dt.
Model parameter values, as named numeric vector.
Function(p) of parameters specifying the initial state of the model.
Function(y, p) of state variables and parameters specifying the model prediction, i.e., the output without residual. This function should return a numeric vector.
Numeric vector of times where variations are to be evaluated.
Vector of names of variables q to be included in aliasing analysis.
Should be a subset of names(parms)
.
By default equal to names(parms)
.
Variations d(output)/dq are calculated only for these parameters.
If specified as NULL
, it is set to names(parms)
.
TRUE
if variations should be output-normalized, FALSE
(default) if not.
TRUE
(default) if derivatives are to be computed symbolically, FALSE
if numerically.
See calcVariations
for notes on using symbolic derivation.
TRUE
(default) if it has to be checked whether model components (model
, p
, init
, output
)
are formatted correctly for symbolic manipulation, FALSE
if not.
Named arguments to be passed to lsoda
.
Can be used for example to pass events or error tolerances.
A list with two elements, named "normSens" and "aliasingScore".
The first contains a matrix with as named columns the time "t", output indicator index "i",
and normalized sensitivities of the parameters selected by vars
.
The second contains a matrix with the aliasing scores, one for each pair of parameters
from the selection in vars
.
Each score is a percentage between 0 and 100, where 100 indicates similarity between the parameters
and unidentifiability, and 0 means the parameters are not similar, indicating identifiability.
The matrix is symmetric and the diagonal elements are 100.
In case of errors, the return value is NULL
.
Output-normalization divides the vector dy_i/dp_j by y_i, and is recommended if the output is considered to be a multiplicative rather than an additive variable. (A multiplicative variable is a variable where differences between values are considered on the log scale. So if e.g. values 0.001 and 0.01 are considered different because they differ by a factor of 10, then the variable is multiplicative. If they are considered approximately equal because they are both close to 0, then the variable is additive. E.g. most PK outputs are multiplicative.)
Output-normalization is equivalent to considering the sensitivity matrix dlog(y)/dp rather than dy/dp.
Parameter-normalization would not change the outcome (as the sensitivities are normalized anyway),
and hence there is no input parameter parNorm
.
It is recommended to use symbolic derivation (symbolic==TRUE
) rather than numerical derivation,
as it is more accurate, especially for derivatives that are formally zero.
See calcVariations
for details.
calcAliasingScoresFromMatrix
for details on the calculation of the scores.
Other calculation functions:
calcAliasingScoresFromMatrix()
,
calcFimFromMatrix()
,
calcFimFromModel()
,
calcFirstVariations()
,
calcSensitivityFromMatrix()
,
calcSensitivityFromModel()
,
calcVariationsFim()
,
calcVariations()
,
fimIdent()