Learn R Programming

PopED (version 0.1.1)

ed_mftot: Evaluate the expectation of the Fisher Information Matrix (FIM) and the expectation of the OFV(FIM).

Description

Compute the expectation of the FIM given the model, parameters, distributions of parameter uncertainty, design and methods defined in the PopED database.

Usage

ed_mftot(model_switch, groupsize, ni, xtoptn, xoptn, aoptn, bpopdescr, ddescr,
  covd, sigma, docc, poped.db)

Arguments

xtoptn
The xtoptn value
xoptn
The xoptn
aoptn
The aoptn value
model_switch
A matrix that is the same size as xt, specifying which model each sample belongs to.
groupsize
A vector of the numer of individuals in each group.
ni
A vector of the number of samples in each group.
poped.db
A PopED database.
bpopdescr
Matrix defining the fixed effects, per row (row number = parameter_number) we should have:
  • column 1 the type of the distribution for E-family designs (0 = Fixed, 1 = Normal, 2 = Uniform, 3 = User Defined Distribution, 4 = lognormal and 5 = trunca
ddescr
Matrix defining the diagnonals of the IIV (same logic as for the bpopdescr).
covd
Matrix defining the covariances of the IIV variances. Set to zero if not defined.
sigma
Matrix defining the variances can covariances of the residual variability terms of the model. can also just supply the diagnonal parameter values (variances) as a c().
docc
Matrix defining the IOV, the IOV variances and the IOV distribution

Value

  • A list containing the E(FIM) and E(OFV(FIM)) and the a poped.db.

See Also

Other E-family: calc_ofv_and_fim; ed_laplace_ofv; evaluate.e.ofv.fim

Other FIM: LinMatrixH; LinMatrixLH; LinMatrixL_occ; calc_ofv_and_fim; ed_laplace_ofv; evaluate.e.ofv.fim; evaluate.fim; gradf_eps; mf3; mf5; 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. 

## Optimization using an additive + proportional reidual error to 
##   avoid sample times at very low concentrations (time 0 or very late samoples).
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) 
}

# Adding 10\% log-normal Uncertainty to fixed effects (not Favail)
bpop_vals <- c(CL=0.15, V=8, KA=1.0, Favail=1)
bpop_vals_ed_ln <- cbind(ones(length(bpop_vals),1)*4, # log-normal distribution
                         bpop_vals,
                         ones(length(bpop_vals),1)*(bpop_vals*0.1)^2) # 10\% of bpop value
bpop_vals_ed_ln["Favail",]  <- c(0,1,0)
bpop_vals_ed_ln

## -- 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.add.prop",
                                  bpop=bpop_vals_ed_ln, 
                                  notfixed_bpop=c(1,1,1,0),
                                  d=c(CL=0.07, V=0.02, KA=0.6), 
                                  sigma=c(0.01,0.25),
                                  groupsize=32,
                                  xt=c( 0.5,1,2,6,24,36,72,120),
                                  minxt=0,
                                  maxxt=120,
                                  a=70,
                                  mina=0,
                                  maxa=100)
# warfarin ed model

# very few samples
poped.db$ED_samp_size=10
ed_mftot(model_switch=poped.db$global_model_switch,
         groupsize=poped.db$groupsize,
         ni=poped.db$gni,
         xtoptn=poped.db$gxt,
         xoptn=poped.db$gx,
         aoptn=poped.db$ga,
         bpopdescr=poped.db$gbpop,
         ddescr=poped.db$gd,
         covd=poped.db$covd,
         sigma=poped.db$sigma,
         docc=poped.db$docc, 
         poped.db)["ED_ofv"]

Run the code above in your browser using DataLab