Introduction
NONMEM (NONlinear Mixed Effects Model) is a software for fitting nonlinear regression models using the mixed-effects framework. Designed for pharmacokinetic and pharmacodynamic applications, NONMEM takes account of the variability between subjects (random effects) and within the subjects, as well as the influence of measured covariates (fixed effects), while incorporating the nonlinear nature of the biochemical and physiological processes. It can handle situations such as each subject has only a few measurements, and when sampling times differ between subjects. The underlying method of NONMEM is general and can be applied to many problems beyond pharmacometrics.
Data records
NONMEM mainly uses longitudinal tabular data for analysis: each row of the data set identifies an event. There are two types of events:
observation and nonobservation. Observation records identifiy
events when dependent values are observed and stored in the reserved DV
(dependent variable) field; Nonobservation
records can represent a variety of events, such as dosing and change
of covariates. NONMEM data set can also incorporate missing data,
identified by MDV (Missing Dependent Variable) field: the record is
not an observation if MDV = 1. NONMEM expects that
different data records, ordered in time, are associated with
different events.
Population data are organized into individual records, a group of contiguous data records having the same identification (ID) data item, associated with the same individual. In this case the time ordering refers to data records within an individual record.
A typical NONMEM analysis data set looks like this:
|
|
It contains two individuals' records, with the following data items.
- ID: subject identification;
- TIME: time data;
- C1, C2, …, CN: concomitant variable data items such as covariates.
- DV: dependent value;
- MDV: missing dependent value;
Note that blank data items are treated as nulls in NONMEM. They are read as zeros and appear as zeros in tables and scatterplots.
We discuss event record in detail in Chapter 5.
Example
Below is a simple NONMEM model's control stream.
|
|
- NONMEM models consist of control records. Each control record starts with a "$" symbol followed by a reserved name. Control record $PROB on line 1 specifies string "PHENOBARB" as problem's name. The rest of the line is ignored as ";" indicates comments.
- Line 2 says that the data file column 1-4 contain subject ID, observation time (TIME), dosing amount (AMT), and dependent value (DV), respectively.
- Line 3 says the data is contained in file "PHENO".
- Line 4 says we use a built-in one-compartment model called
ADVAN1. Later in this document you will see that this specifies the one-compartment model without first-order absorption. - Line 5-11: the
$PKrecord specifies the parameters of theADVAN1model. In this case, there is only one parameter: the elimination rate constatntK. It is shown thatKis calulated from ClearanceCLand Volume of DistributionV. Some reserved NONMEM parameters (THETAandETA) are used to obtainCLandV. There is also a scale parameterS1based onV. - Line 12-13 says that we model observation
Yas the sum of the predictionF(from the one-compartment model) and an error termERR(1). - Line 14-16 give initial estimate of the parameters
THETA,OMEGA, andSIGMA. - Line 17-19 request NONMEM to fit the model (ESTIMATE the model parameters), print some variables in a TABLE, and calculate the COVARANCE of the estimation.
As we go through this guide we will provide details of each record and symbol in the above model.
Notations
In this document we use the following notations to describe functions, arguments, and options.
- Any or all arguments in
[ ]are optional, e.g.[foo bar], and equivalently[foo] [bar], meansfooandbarare both optional. - Options delimited by
|cannot be used together, e.g.option=a|bmeans one must choose to specifyoption=aoroption=b. ...indicates reaptable arguments, e.g.filename ...means one can supply multiple files, and[label|value]...meanslabel1 value2 value3 label4is allowed.- A keyword with "(NONMEM version)" appended indicates the record/option as introduced in that version. For example "$DEFAULT (NM74)" means the record was introduced in NONMEM v7.4.
- Starting in v7.2 NONMEM is no longer case-sensitive to reserved keywords, reserved variables, or user-defined variables.