Learn R Programming

PopED (version 0.1.1)

mf5: The reduced Fisher Information Matrix (FIM) for one individual, using the SD of RUV as a parameter.

Description

Compute the reduced FIM for one individual using the standard deviation of the residual unexplained variability (RUV) terms as a parameter, given specific model(s), parameters, design and methods. This computation assumes that there is no correlation in the FIM between the fixed and random effects, and set these elements in the FIM to zero. In addition all derivatives in the computation are made with respect to the standard deviation of the RUV terms (sqrt(SIGMA) in NONMEM). This matches what is done in PFIM, and assumes that the standard deviation of the residual unexplained variation is the estimated parameter (NOTE: NONMEM estimates the variance of the resudual unexplained variation by default).

Usage

mf5(model_switch, xt, x, a, bpop, d, sigma, docc, poped.db)

Arguments

model_switch
A vector that is the same size as xt, specifying which model each sample belongs to.
xt
A vector of sample times.
x
A vector for the discrete design variables.
a
A vector of covariates.
bpop
The fixed effects parameter values. Supplied as a vector.
d
A between subject variability matrix (OMEGA in NONMEM).
sigma
A residual unexplained variability matrix (SIGMA in NONMEM).
docc
A between occasion variability matrix.
poped.db
A PopED database.

Value

  • As a list:
  • retThe FIM for one individual
  • poped.dbA PopED database

See Also

Used by mftot4.

Other FIM: LinMatrixH; LinMatrixLH; LinMatrixL_occ; calc_ofv_and_fim; ed_laplace_ofv; ed_mftot; evaluate.e.ofv.fim; evaluate.fim; gradf_eps; mf3; mf6; mf7; mf8; mftot0; mftot1; mftot2; mftot3; mftot4; mftot5; mftot6; mftot7; mftot; mf; ofv_criterion; ofv_fim

Examples

Run this code
## Warfarin example from software comparison in:
## Nyberg et al., "Methods and software tools for design evaluation 
##   for population pharmacokinetics-pharmacodynamics studies", 
##   Br. J. Clin. Pharm., 2014. 

library(PopED)

## find the parameters that are needed to define from the structural model
ff.PK.1.comp.oral.sd.CL

## -- parameter definition function 
## -- names match parameters in function ff
sfg <- function(x,a,bpop,b,bocc){
  parameters=c(CL=bpop[1]*exp(b[1]),
               V=bpop[2]*exp(b[2]),
               KA=bpop[3]*exp(b[3]),
               Favail=bpop[4],
               DOSE=a[1])
  return(parameters) 
}

## -- Define initial design  and design space
poped.db <- create.poped.database(ff_file="ff.PK.1.comp.oral.sd.CL",
                                  fg_file="sfg",
                                  fError_file="feps.prop",
                                  bpop=c(CL=0.15, V=8, KA=1.0, Favail=1), 
                                  notfixed_bpop=c(1,1,1,0),
                                  d=c(CL=0.07, V=0.02, KA=0.6), 
                                  sigma=0.01,
                                  groupsize=32,
                                  xt=c( 0.5,1,2,6,24,36,72,120),
                                  minxt=0,
                                  maxxt=120,
                                  a=70)
# warfarin optimization model

#for the FO approximation
ind=1

# no occasion defined in this example, so result is zero
output <- mf5(model_switch=t(poped.db$global_model_switch[ind,,drop=FALSE]),
   xt=t(poped.db$gxt[ind,,drop=FALSE]),
   x=zeros(0,1),
   a=t(poped.db$ga[ind,,drop=FALSE]),
   bpop=poped.db$gbpop[,2,drop=FALSE],
   d=poped.db$param.pt.val$d,
   sigma=poped.db$sigma,
   docc=poped.db$param.pt.val$docc,
   poped.db)

# in this simple case the full FIM is just the sum of the individual FIMs
# and all the individual FIMs are the same
det(output$ret*32) == det(evaluate.fim(poped.db,fim.calc.type=4))

Run the code above in your browser using DataLab