Determines identifiability for a given Fisher Information Matrix (FIM). To this end, principal directions are determined in the parameter space, and ordered by curvature. The least curved direction is the direction in which the Objective Function Value (OFV) increases the least with a unit change in parameters. A direction is considered non-identifiable if its curvature is not larger than a given threshold.

fimIdent(
  fim,
  curvature,
  thetaNorm = FALSE,
  omegaNorm = FALSE,
  sigmaNorm = FALSE,
  relChanges = FALSE,
  blockDiag = FALSE,
  checkPosDefSymm = FALSE,
  checkPos = TRUE,
  ci = NULL,
  nsubj = 1
)

Arguments

fim

A matrix with row and column names containing the FIM, as produced by calcFimFromMatrix or calcFimFromModel.

curvature

Threshold curvature. Parameter directions with curvatures lower than this value are considered non-identifiable.

thetaNorm

Vector (not necessarily named) of booleans of the same dimension as the theta vector used to create the FIM (so not just the variable theta's). The value TRUE means the corresponding structural parameter should be normalized in the FIM, FALSE means not. Instead of a vector, may also provide a single boolean, where TRUE stands for a vector of all TRUE, and FALSE (default) for a vector of all FALSE.

omegaNorm

Vector (not necessarily named) of booleans of the same dimension as the omega matrix used to create the FIM (so not just the variable omega's). The value TRUE means the corresponding individual parameter should be normalized in the FIM, FALSE means not. Instead of a vector, may also provide a single boolean, where TRUE stands for a vector of all TRUE, and FALSE (default) for a vector of all FALSE.

sigmaNorm

Vector (not necessarily named) of booleans of the same dimension as the sigma matrix used to create the FIM (so not just the variable sigma's). The value TRUE means the corresponding residual parameter should be normalized in the FIM, FALSE means not. Instead of a vector, may also provide a single boolean, where TRUE stands for a vector of all TRUE, and FALSE (default) for a vector of all FALSE.

relChanges

If FALSE (default), the "directions" output contains absolute parameter changes. If TRUE, it contains parameter changes relative to the parameter values, as percentage, i.e., computed as 100 * (absolute change) / (parameter value). This option should not be combined with normalization, and a warning is printed if it is.

blockDiag

If FALSE (default), use the full FIM. If TRUE, use the block-diagonal FIM where mixed derivatives with respect to one structural and one random parameter are set to 0.

checkPosDefSymm

If TRUE, it is checked that the FIM is positive semidefinite and symmetric. If FALSE (default), this is not checked.

checkPos

If TRUE (default), it is checked that the parameters to be normalized in the FIM are strictly positive. If FALSE, this is not checked.

ci

Confidence level. If NULL (default), the returned principal directions are vectors of length 1. If not NULL, they provide the parameter change corresponding to the given confidence level, see details.

nsubj

Number of subjects (default 1, should be > 0) used in the calculation of the curvature and the parameter change corresponding to the given confidence level.

Value

NULL if there were errors. In this case an error message will be printed. Otherwise, a list of seven elements, named "identifiable", "nDirections", "directions", "curvatures", "jump", "se", "rse", in that order. The first is TRUE in case the parameters are identifiable, and FALSE otherwise. The second contains the number of non-identifiable directions. The third contains the principal directions (eigenvectors of the FIM), in order of increasing curvature. This includes identifiable and non-identifiable directions. The direction vectors contain absolute or relative changes (depending on normalization and relChanges) in parameter space. The fourth contains their curvatures (eigenvalues of the FIM), in the same order. The fifth contains the index of the curvature where the curvature increases by the largest factor. I.e. if the curvatures are c_1, ..., c_n, then it is the index i where c_i+1/c_i is the largest. If there are negative or zero curvatures, then it is set to the index of the last non-positive curvature. This could serve as a cutoff point between the unidentifiable (up to and including index "jump") and identifiable (higher than "jump") directions. The sixth contains the standard errors and the seventh the relative standard errors, as a percentage. If they cannot be computed (because the FIM cannot be inverted), then they are set to NA.

Details

Optionally, the FIM is normalized with respect to certain parameters. Effectively this means that derivatives with respect to these parameters are taken relative to their size, i.e., they are taken with respect to the logarithms of these parameters. This should be used for those parameters for which relative changes are relevant, rather than absolute changes. For example, one could normalize those parameters that have a unit, but not the ones that have a natural scale (such as a parameter that models a fraction or an exponent). Normalization is accomplished by left and right multiplication of the given FIM by a diagonal matrix of normalizing factors. The normalizing factors are the values of the corresponding parameters, and are also given as input.

The principal directions are the eigenvectors of the FIM, and their curvature is the corresponding eigenvalue. The eigenvector of a zero eigenvalue is a non-identifiable direction in parameter space, while positive eigenvalues correspond to identifiable directions. Small positive values would then be 'close to non-identifiable'.

Normalization of the FIM can be used for parameters for which relative changes in value are the relevant quantity, rather than absolute changes, e.g., clearances, rates, volumes, and additive errors. Absolute changes in such parameters are not relevant because they depend on the chosen units. Relative changes do not suffer from this problem. It should typically also be used for parameters that already have a relative size, such as IIV variances (in case of multiplicative IIV effects, i.e., as exp(eta) factors), proportional errors, powers ("gamma"), Imax, etc. The reason is that these parameters may also be scaled by arbitrary multiplication factors (e.g., a proportional error can be modelled as a fraction or as a percentage). See normalizeFim for further details. Block-diagonalization is applied after normalization (not that it matters, the outcome is the same).

The confidence interval and number of subjects are used to determine the amount by which the OFV can increase, assuming that it is chi-squared distributed with one degree of freedom. For each principal direction, this increase is achieved for a vector in this direction of a particular size. This vector is returned as principal vector. The only exception is when the curvature in a principal direction is zero or negative. Then the principal vector would have infinite length, and instead a vector of norm 1 is returned and a warning is given (if combined with relChanges = TRUE then the vector has norm 100%). The calculation assumes that each of the subjects contributes equally to the OFV. If this is not the case, then a separate FIM should be created for each subject, the sum of these FIMs should be provided as the parameter fim, and the number of subjects nsubj should be set to 1.

Standard errors and relative standard errors are calculated from the diagonal of the inverse FIM (after applying normalization and block-diagonalization, if required), taking into account the number of subjects.

Author

Martijn van Noort