Compute the full FIM for one individual given specific model(s), parameters, design and methods.
This computation parameterizes the FIM calculation using
A,B,C matrices (as in Retout et al.) but uses the derivative of variances.
Should give the same answer as mf
but computation times may be different.
mf6(model_switch, xt_ind, x, a, bpop, d, sigma, docc, poped.db)
A vector that is the same size as xt, specifying which model each sample belongs to.
A vector of sample times.
A vector for the discrete design variables.
A vector of covariates.
The fixed effects parameter values. Supplied as a vector.
A between subject variability matrix (OMEGA in NONMEM).
A residual unexplained variability matrix (SIGMA in NONMEM).
A between occasion variability matrix.
A PopED database.
As a list:
The FIM for one individual
A PopED database
S. Retout and F. Mentre, "Further developments of the Fisher Information Matrix in nonlinear mixed effects models with evaluation in population pharmacokinetics", J. of Biopharm. Stats., 13(2), 2003.
Used by mftot5
.
Other FIM: LinMatrixH
,
LinMatrixLH
, LinMatrixL_occ
,
calc_ofv_and_fim
,
ed_laplace_ofv
, ed_mftot
,
efficiency
,
evaluate.e.ofv.fim
,
evaluate.fim
, gradf_eps
,
mf3
, mf5
, mf7
,
mf8
, mftot0
,
mftot1
, mftot2
,
mftot3
, mftot4
,
mftot5
, mftot6
,
mftot7
, mftot
,
mf
, ofv_criterion
,
ofv_fim
# NOT RUN {
library(PopED)
############# START #################
## Create PopED database
## (warfarin example)
#####################################
## 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.
## 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)
############# END ###################
## Create PopED database
## (warfarin example)
#####################################
#for the FO approximation
ind=1
# no occasion defined in this example, so result is zero
output <- mf6(model_switch=t(poped.db$design$model_switch[ind,,drop=FALSE]),
xt=t(poped.db$design$xt[ind,,drop=FALSE]),
x=zeros(0,1),
a=t(poped.db$design$a[ind,,drop=FALSE]),
bpop=poped.db$parameters$bpop[,2,drop=FALSE],
d=poped.db$parameters$param.pt.val$d,
sigma=poped.db$parameters$sigma,
docc=poped.db$parameters$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=5))
# }
Run the code above in your browser using DataLab