Skip to contents

NlmeEngineExtraParams : Defines all engine parameters for NLME models Wrapped up by engineParams function.

Slots

isPopulation

logical; TRUE if the model is a population model, FALSE for an individual model.

sort

character; String to pass sorting options to the NLME engine. Typically " -sort " to enable sorting or "" to disable it.

csv

character; String to control CSV input options. Typically " -csv " to strict the input data to comma-separated-values. Use "" to disable it (NLME will try to guess the input format).

method

numeric; Integer code specifying the estimation method.

  • 1: QRPEM

  • 2: IT2S-EM

  • 3: FOCE-LB

  • 4: FO

  • 5: FOCE-ELS/LAPLACIAN (see below for choice between FOCE-ELS and LAPLACIAN)

  • 6: NAIVE-POOLED

The choice between FOCE-ELS and LAPLACIAN (when method is 5) depends on the xfocehess slot: xfocehess = 1 selects FOCE-ELS, and xfocehess = 0 selects LAPLACIAN.

numIterations

numeric; The maximum number of iterations allowed for the estimation algorithm. Values must be non-negative integers.

odeToUse

numeric; Integer code specifying the ODE solver to be used. Possible values are:

  • 1: LSODE with numerical Jacobian

  • 2: LSODE with analytical Jacobian

  • 3: Runge-Kutta

  • 4: LSODA with numerical Jacobian

  • 5: LSODA with analytical Jacobian

  • 6: Matrix Exponent

  • 7: DOPRI5

rtol

numeric; Specifies the relative tolerance for the ODE solver.

atol

numeric; Specifies the absolute tolerance for the ODE solver.

nmxstep

numeric; Specifies the maximum number of steps allowed for the ODE solver.

anagrad

numeric; Flag controlling the differentiation method used during the optimization of random effects (etas). 0 uses a finite difference approach, and 1 uses automatic differentiation where possible.

xnp

numeric; Controls the use of non-parametric (NP) optimization.

  • 0: No NP optimization.

  • 1: NONMEM-style NP optimization using posthoc estimates as support points.

  • >1: Evolutionary NP algorithm with xnp generations.

xnorderagq

numeric; Specifies the number of quadrature points per dimension for Adaptive Gaussian Quadrature (AGQ). Only applicable when method is FOCE-ELS or LAPLACIAN.

  • 1: Standard FOCE-ELS/LAPLACIAN computation (no AGQ).

  • >1: AGQ is performed. The total number of quadrature points used is (number of ETAs)^xnorderagq.

xfocehess

numeric; Determines the method for calculating the Hessian matrix when using FOCE methods.

  • 0: Use numerical second derivatives.

  • 1: Use the FOCE approximation.

Applicable only when method is FOCE-ELS or LAPLACIAN.

xstderr

numeric; Specifies the method for standard error estimation.

  • 0: No standard error estimation.

  • 1: Central difference method.

  • 2: Forward difference method.

sand

character; String to request sandwich standard error calculation. Typically " -sand " or "".

fisher

character; String to request Fisher score standard error calculation. Typically " -fscore " or "".

autodetect

character; String to request auto-detection of standard error method. Typically " -AutoSE " or "".

xlandig

numeric; Specifies the optimization accuracy (NDIGIT) for the outer loop (thetas and sigmas) when using FOCE-ELS or LAPLACIAN methods.

xlatol

numeric; Specifies the relative step size used for numerical computation of the Hessian matrix (second derivatives) during standard error calculation.

xblndig

numeric; Specifies the optimization accuracy (NDIGIT) for the inner loop (optimization of etas). Also applies to the single optimization loop in the NAIVE-POOLED method.

xbltol

numeric; Specifies the relative step size for numerical differentiation during model linearization.

gradTolOuter

Numeric maximum gradient tolerance in the outer (Theta/Omega/Sigma) optimization loop. Applicable to FOCE-ELS and LAPLACIAN methods.

stepTolOuter

Numeric maximum step tolerance in the outer (Theta/Omega/Sigma) optimization loop. Applicable to FOCE-ELS and LAPLACIAN methods.

gradTolInner

Numeric maximum gradient tolerance in the inner (Eta) optimization loop. Applicable to FOCE-ELS and LAPLACIAN methods.

stepTolInner

Numeric maximum step tolerance in the inner (Eta) optimization loop. Applicable to FOCE-ELS and LAPLACIAN methods.

refDeltaLagl

Numeric LL Delta tolerance value used during Theta/Omega/Sigma optimization. Applicable to FOCE-ELS and LAPLACIAN methods.

isPCWRES

numeric; Flag indicating if Population Conditional Weighted Residuals (PCWRES) should be computed. A value of 1 indicates computation, while 0 indicates no computation. Only applicable to population models.

xpcwresnrep

numeric; Stores the number of simulation replicates used for PCWRES computation. Applicable only when isPCWRES is 1.

xisample

numeric; Specifies the number of sample points used in the QRPEM algorithm. Only applicable when method is QRPEM.

xmapassist

numeric; Controls the use of MAP assistance in the QRPEM algorithm.

  • 0: No MAP assistance.

  • >0: The inner ETAs optimization loop is used in the QRPEM outer optimization loop with a periodicity equal to the value of xmapassist.

Only applicable when method is QRPEM.

xmapnp

numeric; Specifies the number of iterations for a preliminary Naive-Pooled optimization run before the main estimation. Applicable when the method is not NAIVE-POOLED.

ximpsampdof

numeric; Controls the importance sampling distribution used in the QRPEM algorithm. Only applicable when method is QRPEM.

  • 0: Multivariate Normal distribution.

  • 1: Multivariate Double Exponential (Laplace) distribution.

  • 2: Direct sampling from the prior.

  • 3-30: Multivariate T distribution with degrees of freedom equal to the value of ximpsampdof.

  • -2: Mixture-2 distribution.

  • -3: Mixture-3 distribution.

xmcpem

numeric; Controls the sampling method used in the QRPEM algorithm.

  • 0: Quasi-Random sampling.

  • 1: Monte-Carlo sampling.

Only applicable when method is QRPEM.

xpemrunall

numeric; Set to 1 to execute all requested iterations specified in numIterations. Only applicable to population models with method = "QRPEM".

xsirsamp

numeric; Specifies the number of samples per eta per subject used in the Sampling Importance Resampling (SIR) algorithm within QRPEM. Only applicable when method is QRPEM.

xburnin

numeric; Specifies the number of burn-in iterations in the QRPEM algorithm. During burn-in, omegas can be frozen (see xnonomegaburn). Only applicable when method is QRPEM.

xnonomegaburn

numeric; Controls whether omegas are frozen during the burn-in phase of the QRPEM algorithm.

  • 0: burn-in with frozen omegas is off.

  • 1: burn-in with frozen omegas is on.

Only applicable when method is QRPEM. See also xburnin.

xaccratio

numeric; Specifies the acceptance ratio used in the QRPEM algorithm for scaling the covariance matrix. Only applicable when method is QRPEM. Only applicable to population models with method = "QRPEM".

xscramble

numeric; Specifies the scrambling method for quasi-random number generation in the QRPEM algorithm.

  • 0: No scrambling.

  • 1: Owen-type scrambling.

  • 2: Faure-Tezuka scrambling.

Only applicable when method is QRPEM.

emTolType

Numeric specifying QRPEM convergence check type:

0

Default (no rollout, LL & Thetas)

1

LL & Params with rollout

2

LL with rollout

3

Params with rollout

Only applicable when method is QRPEM.

emConvLen

Numeric specifying the number of iterations to check for convergence. Only applicable when method is QRPEM.

emConvCritVal

Numeric specifying the convergence critical value. Only applicable when method is QRPEM.

pardern

numeric; Specifies the number of time steps used for outputting partial derivatives of observed variables with respect to parameters. Only applicable to individual models.

parderd

numeric; Specifies the step size for numerical calculation of partial derivatives of observed variables with respect to parameters. Only applicable to individual models.

logtran

numeric; Engine flag controlling log-transformation behavior for single LogAdditive error model.

See also

[engineParams()]

Examples

param <- NlmeEngineExtraParams(
  method = 3,
  numIterations = 1000
)
param <- NlmeEngineExtraParams(
  method = 1,
  numIterations = 300
)
param <- NlmeEngineExtraParams(
  method = 1,
  numIterations = 300,
  isPopulation = TRUE,
  odeToUse = 2
)