Non-linear mixed-effects modeling software

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search

Nonlinear mixed-effects models are a special case of regression analysis for which a range of different software solutions are available. The statistical properties of nonlinear mixed-effects models make direct estimation by a BLUE estimator impossible. Nonlinear mixed effects models are therefore estimated according to Maximum Likelihood principles.[1] Specific estimation methods are applied, such as linearization methods as first-order (FO), first-order conditional (FOCE) or the laplacian (LAPL), approximation methods such as iterative-two stage (ITS), importance sampling (IMP), stochastic approximation estimation (SAEM) or direct sampling. A special case is use of non-parametric approaches. Furthermore, estimation in limited or full Bayesian frameworks is performed using the Metropolis-Hastings or the NUTS algorithms.[2] Some software solutions focus on a single estimation method, others cover a range of estimation methods and/or with interfaces for specific use cases.

General-purpose software

[edit | edit source]

General (use case agnostic) nonlinear mixed effects estimation software can be covering multiple estimation methods or focus on a single.

Software with multiple estimation methods

[edit | edit source]
  • SAS is a package that is used in the wide statistical community and supports multiple estimation methods from PROC NLMIX.
  • Multiple estimation methods are available in the R open source software system, such as nlme.[3]
  • MATLAB provides multiple estimation methods in their nlmefit system.[4]

SPSS at the moment does not support non-linear mixed effects methods.[5]

Software dedicated to a single estimation method

[edit | edit source]
  • WinBUGS is an implementation of the Metropolis-Hastings method for Bayesian analysis.
  • Stan is open source software that implements the NUTS algorithm.

Software dedicated to pharmacometrics

[edit | edit source]

The field of pharmacometrics relies heavily on nonlinear mixed effects approaches and therefore uses specialized software approaches.[6] As with general-purpose software, implementations of both single or multiple estimation methods are available. This type of software relies heavily on ODE solvers.

Software with multiple estimation methods

[edit | edit source]
  • NONMEM is the most widely used software in the field of pharmacometics.[6]
  • Phoenix implements multiple estimation methods in a graphical user interface.[7]
  • Pumas implements multiple estimation methods in the julia language.[7]
  • nlmixr/nlmixr2 is a suite interfaced in R that implements FOCE and SAEM.[8]
  • ADAPT and S-ADAPT implement multiple estimation methods in a graphical or scripting interface, respectively.[7]

Software dedicated to a single estimation method

[edit | edit source]
  • Monolix is a powerful implementation of SAEM which also can parse NMTRAN.[7]
  • NPEM implements non-parametric mixed effects.[7]
[edit | edit source]
  • Efficiency of ODE solvers impacts quality of estimation. Popular solvers are Runge-Kutta based methods, various stiff solvers and switching solvers such as LSODA of the LAPACK suite.
  • A specialized form of pharmacokinetics modeling, physiology-based pharmacokinetic (PBPK) modeling can in some cases also be seen as a nonlinear mixed-effects implementation, see also the software section of that lemma.
  • Optimal design software such as PopED can be used in conjunction with estimation.[7]

References

[edit | edit source]
  1. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  2. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  3. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  4. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  5. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  6. ^ a b Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  7. ^ a b c d e f Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  8. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).