Tutorials › Nonlinear Mixed-Effects Models (NLME) › Building an M3 Dataset and Likelihood

Below-Quantification-Limit Observations · Tutorial 293 of 797

Building an M3 Dataset and Likelihood

Build an auditable M3 analysis dataset and calculate its likelihood without treating a BQL result as an observed concentration.

Advanced 12 min read

What You'll Learn

  • Specify the record-level fields needed to distinguish quantified and BQL observations.
  • Route each record to an exact observation density or a probability below its LLOQ.
  • Assemble row contributions into a subject-level conditional likelihood.
  • Explain how integrating over random effects gives the marginal likelihood.
  • Check likelihood calculations and dataset structure for common implementation errors.

Why M3 Requires More Than a BQL Flag

An M3 analysis uses the information that a quantified measurement has a particular observed value, while a below-quantification-limit (BQL) record tells us only that the underlying result fell below a known limit. A dataset must preserve that distinction. If both record types are treated as ordinary numeric outcomes, the likelihood no longer represents what the assay reported.

The practical task is to connect each observation record to the right mathematical contribution. A quantified record contributes a density evaluated at its measured value. A BQL record contributes the probability of a result below its lower limit of quantification (LLOQ). The dataset therefore needs both a record status and the applicable limit, along with the information needed to calculate the model prediction.

Definition: In an M3 dataset, a quantified record provides an observed value \(y_{ij}\) and contributes its observation-model density. A BQL record reports the event \(Y_{ij}<L_{ij}\), where \(L_{ij}\) is the applicable LLOQ, and contributes the probability of that event. Here \(i\) indexes individuals and \(j\) indexes observation records within an individual.

The Model and the Record-Level Contribution

For clarity, consider an additive normal observation model on the original concentration scale. Conditional on an individual's random effects \(\eta_i\), let the model-predicted concentration at the record's time and covariates be \(\mu_{ij}=f(t_{ij},\text{dose}_i,\text{covariates}_i,\eta_i;\theta)\). The observation model is

$$ Y_{ij}\mid\eta_i \sim N(\mu_{ij},\sigma^2), $$

where \(\theta\) denotes the population model parameters and \(\sigma>0\) is the residual standard deviation, in concentration units. This example assumes the correct prediction and residual-error model are specified, the LLOQ for each record is known on the same scale as \(Y_{ij}\), and a BQL report means precisely that the latent assay result is below that limit. It also assumes observations are conditionally independent given the individual random effects and model covariates.

Let \(r_{ij}=1\) denote a quantified record and \(r_{ij}=0\) a BQL record. For a quantified record, the observed value \(y_{ij}\) contributes the normal density. For a BQL record, only the event \(Y_{ij}<L_{ij}\) is observed, so its contribution is the normal cumulative probability up to \(L_{ij}\).

$$ \ell_{ij}(\eta_i)= \begin{cases} \displaystyle \frac{1}{\sigma}\phi\!\left(\frac{y_{ij}-\mu_{ij}}{\sigma}\right), & r_{ij}=1,\\[1.2em] \displaystyle \Phi\!\left(\frac{L_{ij}-\mu_{ij}}{\sigma}\right), & r_{ij}=0, \end{cases} $$

Here \(\phi\) and \(\Phi\) are the standard normal density and cumulative distribution function. The quantified contribution is a density, not a probability of observing exactly one real-valued number. The BQL contribution is a probability and is dimensionless. They are different kinds of likelihood contributions, as required by the different information in the records.

Worked Example: Building a Minimal M3 Observation Table

Suppose one hypothetical individual has four samples, measured in ng/mL. The assay LLOQ is 0.20 ng/mL for all four samples. The model requires the individual identifier, sample time, dose or dosing history, record status, and LLOQ; a quantified record additionally needs its measured concentration. A compact observation table could be:

IDTime (h)StatusDV (ng/mL)LLOQ (ng/mL)
171Quantified2.400.20
174Quantified0.680.20
178BQLNot used as a response0.20
1712BQLNot used as a response0.20

The time and dosing information let the structural model calculate each \(\mu_{ij}\). The two quantified rows route to density calculations at 2.40 and 0.68 ng/mL. The two BQL rows route to probabilities below 0.20 ng/mL; neither is assigned an observed concentration for the likelihood. A production dataset may use a designated missing-value code for the response field on BQL rows, but the analysis must use the status and LLOQ to select the censored contribution.

From Row Contributions to the NLME Likelihood

Conditional on a given \(\eta_i\), the row contributions multiply under the conditional-independence assumption. Thus the individual conditional likelihood is the product of its quantified densities and BQL probabilities. In a mixed-effects model, the random effects are unobserved and have a population distribution \(g(\eta_i\mid\Omega)\), often parameterized by a covariance matrix \(\Omega\). The likelihood for the observed records of individual \(i\) integrates the conditional likelihood over this distribution. Assume also that individuals' random effects and observation processes are independent across individuals; then the joint likelihood factors into the product of the individual marginal likelihood contributions shown below.

$$ L_i(\eta_i)=\prod_j \ell_{ij}(\eta_i), \qquad L_i(\theta,\Omega,\sigma)= \int L_i(\eta_i)\,g(\eta_i\mid\Omega)\,d\eta_i, \qquad L(\theta,\Omega,\sigma)=\prod_i L_i(\theta,\Omega,\sigma). $$

The first expression is conditional on the individual's random effects; the second is the marginal likelihood contribution after accounting for their distribution. In computation, the integral is generally evaluated by an estimation method appropriate to the model. The essential M3 data task precedes that numerical work: each row must supply the correct contribution as a function of \(\eta_i\).

Why the Censored Contribution Is a Cumulative Probability

A quantified value carries information about where the observation landed, so its likelihood is determined by the density at that value. A BQL report does not say that the result equaled zero, half the LLOQ, or the LLOQ. It states an interval event. The probability of that event is found by summing the observation density over all values compatible with the report, namely values below \(L_{ij}\).

$$ P(Y_{ij}<L_{ij}\mid\eta_i) =\int_{-\infty}^{L_{ij}}\frac{1}{\sigma} \phi\!\left(\frac{y-\mu_{ij}}{\sigma}\right)\,dy =\Phi\!\left(\frac{L_{ij}-\mu_{ij}}{\sigma}\right). $$

The last equality follows by the change of variable \(z=(y-\mu_{ij})/\sigma\), which converts the upper integration limit to \((L_{ij}-\mu_{ij})/\sigma\). This also shows why the LLOQ must be retained on the appropriate scale and paired with the correct record: changing the threshold changes the probability contribution.

Worked Example: One Quantified Density and One BQL Probability

For two hypothetical records from the same individual, suppose the conditional model predicts \(\mu=1.00\) ng/mL at each time, with \(\sigma=0.20\) ng/mL. The first record is quantified at \(y=0.80\) ng/mL. Its standardized residual is

$$ z=\frac{0.80-1.00}{0.20}=-1.00. $$

The density contribution is therefore

$$ \frac{1}{0.20}\phi(-1.00) =\frac{0.2419707}{0.20} =1.2098535\;(\text{ng/mL})^{-1}. $$

For the second record, suppose the result is BQL with \(L=0.70\) ng/mL. Its standardized limit is \((0.70-1.00)/0.20=-1.50\), so the BQL contribution is

$$ \Phi(-1.50)=0.0668072. $$

Under conditional independence, the two-record conditional likelihood contribution is the product

$$ 1.2098535\times 0.0668072 \approx 0.08083\;(\text{ng/mL})^{-1}. $$

This product is a likelihood contribution, not a probability that both records took exactly their reported quantified values. The quantified density has inverse-concentration units, while the BQL probability is dimensionless.

Worked Example: Different LLOQs Must Route to Different Probabilities

Consider two hypothetical BQL records with the same conditional prediction \(\mu=0.60\) ng/mL and residual standard deviation \(\sigma=0.15\) ng/mL, but with different assay limits. The first has \(L_1=0.30\) ng/mL; the second has \(L_2=0.50\) ng/mL. For the first record,

$$ z_1=\frac{0.30-0.60}{0.15}=-2.00, \qquad P(Y_1<L_1\mid\eta)=\Phi(-2.00)=0.0227501. $$

For the second record,

$$ z_2=\frac{0.50-0.60}{0.15}=-0.6667, \qquad P(Y_2<L_2\mid\eta)=\Phi(-0.6667)\approx 0.2525. $$

If the two records are conditionally independent, their joint conditional contribution is approximately \(0.0227501\times0.2525=0.005744\). Applying one common limit to both rows would instead calculate a different likelihood and would discard the recorded assay information.

Implementation Checks and Common Failure Modes

A robust M3 dataset should make it possible to trace every likelihood term back to a row. At minimum, retain the individual identifier, observation time, relevant dosing and covariate data, record status, and the LLOQ applicable to that record. Retain the measured value for quantified observations. The model inputs must also identify the response scale and residual-error specification so that values, limits, predictions, and residual variability are in compatible units.

1
Validate the record.
Confirm that each observation is classified as quantified or BQL and that each record has a valid time, individual, and applicable LLOQ.
2
Calculate the prediction.
For the current parameter and random-effect values, calculate \(\mu_{ij}\) using the row's time, dosing history, and covariates.
3
Route the row.
Use the observed value in the density for quantified records; use the record-specific LLOQ in the CDF for BQL records.
4
Aggregate and inspect.
Combine row contributions conditionally, then account for the random-effects distribution. Check that no row was omitted or assigned both contributions.

Common implementation errors include using the LLOQ as if it were a measured value, substituting a fixed fraction of the LLOQ, or using the density at the limit for a BQL record. Each replaces the observed event with information the assay did not provide. Another error is evaluating a quantified density without its \(1/\sigma\) scaling factor; the density must be on the response scale and has inverse-response units. A useful numerical check is to verify that \(\phi(z)\) is evaluated at the calculated standardized residual, not at zero by default.

Before fitting, inspect records by status and assay: verify that quantified values and LLOQs use the same units, that the correct threshold is attached to every BQL row, and that the number of rows routed to each contribution matches the raw-data summary. During fitting, investigate non-finite likelihoods, unexpectedly extreme BQL probabilities, or abrupt changes when assay limits are changed. Such behavior can indicate incorrect units, an incorrect threshold, a wrong standardization, or a mismatch between status and response fields. These checks do not establish that the structural or residual model is adequate; they establish that the implementation matches the intended likelihood.

How M3 Differs From Substitution Approaches

M3 retains the distinction between an observed concentration and a below-limit event. In contrast, deletion discards the BQL record's event information, while substitution methods place an artificial numeric response at a chosen value. The earlier material on M1–M4 compares those strategies and their behavior. For dataset construction, the decisive distinction is straightforward: M3 preserves the BQL status and threshold so the likelihood uses a probability, rather than pretending a concentration was measured.

M3 is not automatically reliable under every condition. It depends on a correctly specified observation model and residual scale, correct LLOQs, appropriate handling of dependence through the individual effects, and accurate record classification. If the model predicts very low probabilities for many BQL records, or if most observations are censored, the likelihood may provide limited or challenging information about some parameters. The method also does not by itself correct assay errors, missing records, or a misspecified structural model. Its advantage is a coherent likelihood for the information actually observed, conditional on those modeling assumptions.

Key takeaway: For every M3 row, preserve the record status and the applicable LLOQ. A quantified record contributes its observation density; a BQL record contributes \(P(Y_{ij}<L_{ij}\mid\eta_i)\). The conditional row contributions form the individual likelihood, which is integrated over random effects for the marginal NLME likelihood.

Check Your Understanding

Answer each question, then compare with the brief solutions.

  1. A quantified record has \(y=1.20\) ng/mL, \(\mu=1.00\) ng/mL, and \(\sigma=0.10\) ng/mL. What standardized residual is used in its density?
  2. A BQL record has \(L=0.40\) ng/mL, \(\mu=0.50\) ng/mL, and \(\sigma=0.10\) ng/mL. Write its likelihood contribution.
  3. Why does a BQL record not contribute the density evaluated at the LLOQ?
  4. Two independent conditional BQL records have probabilities 0.10 and 0.30. What is their joint conditional contribution?
  5. Which dataset fields are essential to route a record to the correct M3 contribution?

Solutions. (1) \(z=(1.20-1.00)/0.10=2.00\). (2) \(\Phi((0.40-0.50)/0.10)=\Phi(-1.00)\approx0.1587\). (3) The record reports the event \(Y<L\), not a measurement equal to \(L\), so its contribution is the probability integrated below the limit. (4) \(0.10\times0.30=0.030\). (5) At minimum, the individual and observation identifiers or row structure, record status, applicable LLOQ for BQL rows, and measured response for quantified rows; time and model covariates are needed to calculate the prediction.