Tutorials › Pharmacokinetic-Pharmacodynamic (PK/PD) Modeling › Stable Parameterizations for Multi-Pool Turnover Models

Turnover and Precursor-Pool Models · Tutorial 172 of 598

Stable Parameterizations for Multi-Pool Turnover Models

Learn to parameterize and solve linked turnover systems so numerical error and invalid parameter values do not masquerade as pharmacological effects.

Advanced 12 min read

What You'll Learn

  • Scale each pool using a characteristic concentration and time scale.
  • Transform rate parameters to enforce positivity during estimation.
  • Distinguish state scaling from changes to the underlying turnover model.
  • Set solver tolerances with the magnitude of each pool in mind.
  • Diagnose negative states, unstable fits, and tolerance-sensitive predictions.
  • Compare direct and transformed parameterizations and explicit and implicit solvers.

Why Parameterization and Scaling Matter

A linked turnover model can be biologically sensible and still be numerically difficult to fit. A solver may struggle when one pool changes on a minutes-long timescale and another on a days-long timescale; an optimizer may propose a negative conversion rate; or a single absolute error tolerance may be appropriate for one concentration but too loose for another. These computational problems can alter fitted concentrations and parameter estimates even when the biological model itself has not changed.

The goal of a stable parameterization is not to make a model fit better by changing its meaning. It is to represent the same model in variables and coordinates that are better suited to numerical integration and optimization. The key choices are state scales, positive-rate parameterizations, and solver tolerances. Each should be checked against the model’s units, anticipated concentration ranges, and observed predictions.

Definition: A state scale \(S_i\) is a positive, fixed reference magnitude for state \(x_i\), used to define a dimensionless state \(z_i=x_i/S_i\). A positive-rate parameterization maps an unconstrained or suitably constrained optimization parameter to a rate that is strictly positive. A solver’s absolute tolerance sets an error scale that remains relevant when a state is near zero; its relative tolerance sets an error scale proportional to the state magnitude.

Scaling States Without Changing the Model

Consider \(m\) linked pool concentrations collected in \(x(t)\), where each \(x_i\) is measured in concentration units. A common model has an input vector \(u(t)\) and linear turnover and transfer terms:

$$ \frac{dx}{dt}=u(t)+A(k)x. $$

Here, entries of \(u(t)\) have units of concentration per time, entries of \(A(k)\) have units of inverse time, and \(k\) denotes the model’s rate parameters. For a compartment-style system, transfer terms between pools have nonnegative coefficients, while diagonal terms generally represent the negative total rate of loss from each pool. Scaling is exact: it changes coordinates, not the predictions, provided the equations and initial conditions are transformed consistently.

Choose a positive concentration scale \(S_i\) for each pool and a positive time scale \(T\). Define \(z_i=x_i/S_i\) and \(\tau=t/T\). In vector notation, let \(D\) be the diagonal matrix with entries \(S_i\). Then \(x=Dz\), and the transformed model is:

$$ \frac{dz}{d\tau}=T D^{-1}u(T\tau)+T D^{-1}A(k)D z. $$

Every term in this equation is dimensionless. In particular, a transfer coefficient from pool \(j\) to pool \(i\) is multiplied by \(T S_j/S_i\). This factor matters: scaling the states but forgetting the ratio \(S_j/S_i\) changes the model. Scales should be fixed reference values chosen to put typical states in a numerically useful range, not quantities that vary during integration.

Worked Example: Scaling a Two-Pool Turnover System

Consider the hypothetical system \(dx_1/dt=R-(k_{12}+k_{10})x_1+k_{21}x_2\) and \(dx_2/dt=k_{12}x_1-(k_{21}+k_{20})x_2\). Let \(R=20\) ng/mL/h, \(k_{12}=0.30\) h\(^{-1}\), \(k_{10}=0.20\) h\(^{-1}\), \(k_{21}=0.10\) h\(^{-1}\), and \(k_{20}=0.40\) h\(^{-1}\). Choose \(S_1=50\) ng/mL, \(S_2=30\) ng/mL, and \(T=2\) h.

Set \(z_1=x_1/S_1\), \(z_2=x_2/S_2\), and \(\tau=t/T\). The scaled input to the first pool is \(TR/S_1=(2\ \text{h})(20\ \text{ng/mL/h})/(50\ \text{ng/mL})=0.800\). The scaled loss coefficient for \(z_1\) is \(T(k_{12}+k_{10})=(2)(0.50)=1.00\), and the scaled coefficient on \(z_2\) in the first equation is \(Tk_{21}S_2/S_1=(2)(0.10)(30/50)=0.120\). For the second equation, the coefficient on \(z_1\) is \(Tk_{12}S_1/S_2=(2)(0.30)(50/30)=1.00\), and the loss coefficient is \(T(k_{21}+k_{20})=(2)(0.50)=1.00\).

$$ \frac{dz_1}{d\tau}=0.800-z_1+0.120z_2,\qquad \frac{dz_2}{d\tau}=z_1-z_2. $$

The scale choices put both steady states near one. To check this, setting both derivatives to zero gives \(z_2=z_1\) and \(0.800-0.880z_1=0\), so \(z_1=z_2=0.9091\). In original units, these correspond to \(x_1=50(0.9091)=45.46\) ng/mL and \(x_2=30(0.9091)=27.27\) ng/mL. The transformed equations reproduce the same equilibrium concentrations.

Enforcing Positive Rates

Turnover, formation, conversion, and degradation rates are ordinarily nonnegative, and a rate that is assumed strictly positive should not become negative merely because an optimizer takes a step outside the feasible region. One simple approach is to estimate a real-valued parameter \(\eta\) and define \(k=k_{\mathrm{ref}}\exp(\eta)\), where \(k_{\mathrm{ref}}>0\) is a rate with the same units as \(k\). This guarantees \(k>0\) for any finite \(\eta\). Its derivative is \(dk/d\eta=k\), so changes in \(\eta\) act on a relative rather than additive rate scale.

When several outgoing pathways share a total loss rate, a useful alternative is to parameterize the total rate and the fractions assigned to each pathway. For positive total rate \(K\), define pathway fractions using a softmax transform:

$$ \pi_j=\frac{\exp(\gamma_j)}{\sum_{\ell=1}^{q}\exp(\gamma_\ell)},\qquad k_j=K\pi_j. $$

Each fraction is positive and the fractions sum to one, so the pathway rates are positive and sum to \(K\). This can be convenient when the data are more informative about total loss than about its decomposition. It does not, however, create information that the data do not contain: weak identification of individual pathways remains a scientific and statistical limitation.

A log transform and a softmax transform are not interchangeable in every model. Use a log transform for a rate that is independently positive. Use a total-rate-and-fractions representation when the rates genuinely partition one total. If a parameter can equal zero under the scientific model, a strictly positive exponential transform excludes that boundary; the parameterization must reflect the intended model rather than impose positivity automatically.

Worked Example: Positive Pathway Rates From a Total Rate

Suppose a hypothetical pool has total first-order loss rate \(K=0.60\) h\(^{-1}\), divided among conversion, degradation, and another loss pathway. Let their optimizer parameters be \(\gamma=(\ln 2,\,0,\,\ln 0.5)\). The exponentiated values are \(2,1,0.5\), so their sum is \(3.5\).

The fractions are \(2/3.5=0.5714\), \(1/3.5=0.2857\), and \(0.5/3.5=0.1429\). The corresponding rates are \(0.60(0.5714)=0.3429\) h\(^{-1}\), \(0.60(0.2857)=0.1714\) h\(^{-1}\), and \(0.60(0.1429)=0.08571\) h\(^{-1}\). Their sum is \(0.6000\) h\(^{-1}\), and none is negative.

If instead the three rates were estimated independently as \(k_j=k_{\mathrm{ref},j}\exp(\eta_j)\), positivity would also be guaranteed, but their sum would not be constrained to a separately estimated total \(K\). The choice depends on how the model is defined and which quantities are to be interpreted.

Choosing Solver Tolerances and Checking Numerical Behavior

A numerical solver approximates the solution to the differential equations. In a common error-control convention, a step is judged against a scale of the form \(\mathrm{atol}_i+\mathrm{rtol}|x_i|\), where \(\mathrm{atol}_i\) is an absolute tolerance for state \(i\) and \(\mathrm{rtol}\) is a relative tolerance. The precise implementation varies by solver, and this expression is an error-control scale, not a guarantee that the actual error is always smaller at every reported time.

If states are scaled, the tolerances must be interpreted on the scaled scale. For \(z_i=x_i/S_i\), a dimensionless absolute tolerance \(\mathrm{atol}_{z,i}\) corresponds to a concentration-scale tolerance \(S_i\mathrm{atol}_{z,i}\) in \(x_i\). Thus a shared absolute tolerance for all dimensionless states can be appropriate when their scales were chosen sensibly. With unscaled states, a single absolute tolerance may be much too loose for a small pool or needlessly strict for a large one.

Worked Example: A Shared Absolute Tolerance Can Hide Error in a Small Pool

Suppose two hypothetical unscaled concentrations are typically \(x_1=50\) ng/mL and \(x_2=0.002\) ng/mL. With \(\mathrm{rtol}=10^{-6}\) and a shared \(\mathrm{atol}=10^{-6}\) ng/mL, the error-control scale for \(x_1\) is \(10^{-6}+10^{-6}(50)=5.1\times10^{-5}\) ng/mL. For \(x_2\), it is \(10^{-6}+10^{-6}(0.002)=1.002\times10^{-6}\) ng/mL.

Relative to the typical \(x_2\), the latter scale is \(1.002\times10^{-6}/0.002=0.000501\), or about \(0.0501\%\). If that pool were instead around \(0.00001\) ng/mL, the same absolute tolerance would be about \(10\%\) of its magnitude. The effect is not that the solver must make an error of that size; rather, the shared tolerance does not demand much better accuracy at such a small concentration.

A practical response is to choose state scales that reflect expected magnitudes, transform to \(z_i=x_i/S_i\), and select tolerances on that dimensionless scale. For example, if \(S_1=50\) ng/mL and \(S_2=0.002\) ng/mL, a dimensionless absolute tolerance of \(10^{-8}\) corresponds to \(5\times10^{-7}\) ng/mL for pool 1 and \(2\times10^{-11}\) ng/mL for pool 2. These are different concentration tolerances despite being the same dimensionless tolerance. Whether they are computationally adequate must be checked by tightening tolerances and comparing predictions that matter to the analysis.

Justification: Scaling Preserves Predictions

The coordinate transformation preserves the model because it is invertible for positive scales. Let \(D\) be diagonal with positive entries \(S_i\), and set \(x=Dz\), \(\tau=t/T\). By the chain rule, \(dx/dt=(D/T)(dz/d\tau)\). Substitution into \(dx/dt=u(t)+A(k)x\) gives:

$$ \frac{D}{T}\frac{dz}{d\tau}=u(T\tau)+A(k)Dz, \qquad \frac{dz}{d\tau}=TD^{-1}u(T\tau)+TD^{-1}A(k)Dz. $$

Recovering \(x=Dz\) therefore returns the original differential equation, including its initial condition \(z(0)=D^{-1}x(0)\). The same transformation applies to an observation equation, for example \(y=c^\mathsf{T}x=c^\mathsf{T}Dz\). A fit can nevertheless change numerically because optimization and integration use finite precision and stopping criteria. A changed fit after scaling is a reason to check implementation and numerical convergence, not evidence that scaling changed the biology.

Diagnostics, Alternatives, and Limitations

For a linear turnover system with nonnegative inputs and nonnegative initial concentrations, nonnegative transfer coefficients, and nonpositive diagonal loss terms, the exact solution should not produce negative concentrations. To see the role of the assumptions, the derivative of one pool at \(x_i=0\) is its nonnegative input plus nonnegative inflows from other pools; its outflow term is proportional to \(x_i\) and is then zero. The vector field therefore does not point out of the nonnegative region at a boundary. A small negative value from numerical integration can still occur, but a substantial or persistent negative prediction calls for investigation rather than silent clipping.

Diagnostics should assess the quantities used in the analysis, not just whether the solver reports success. Compare predictions at observed sampling times after tightening tolerances; inspect small and rapidly changing pools; check units and transformed initial conditions; and verify that predictions are stable under a reasonable change of solver or step controls. In parameter estimation, also check whether the fitted parameters or objective change materially when numerical accuracy is increased. Solver noise can be mistaken for a change in fit, particularly when local sensitivities are evaluated by small parameter perturbations.

ChoiceUseful whenImportant limitation
Unscaled states and direct positive boundsState magnitudes are comparable and the optimizer handles bounds reliably.A shared absolute tolerance can be inappropriate across pools; optimization steps can encounter boundaries.
Scaled states and log-rate parametersConcentrations span orders of magnitude and individual rates are strictly positive.Scales and reference rates must be implemented consistently; exact zero rates are excluded.
Total rate with softmax fractionsSeveral pathways are defined as a partition of one total loss rate.It enforces a structural constraint and cannot resolve weakly identified pathway fractions.
Explicit versus implicit integrationExplicit methods can suit nonstiff systems; implicit methods can be more efficient for stiff systems.No solver is universally best; predictions still require tolerance and convergence checks.

A system is numerically stiff when its dynamics include substantially different timescales, such that a method stable for the fastest component may need very small steps to follow slower behavior. Scaling state magnitudes can improve error control, but it does not remove stiffness in the underlying dynamics. An implicit solver may help with stiffness, while suitable state scales and tolerances address a different issue. Neither solver choice nor positive-rate transformations repair an incorrect pathway structure, poor identifiability, or misspecified observations.

Common warning signs include fitted concentrations that change materially when tolerances are tightened, negative states larger than negligible numerical noise, abrupt oscillations unsupported by the model, and optimizer estimates that depend strongly on initial values or solver settings. Do not automatically clip negative states to zero: clipping changes the numerical trajectory and can create artificial discontinuities. Instead, assess their size, investigate the solver and model implementation, and report any remaining numerical sensitivity that affects interpretation.

Key takeaway: State scaling, positive-rate transformations, and solver tolerances solve distinct numerical problems. Check each transformation algebraically, choose scales that reflect pool magnitudes, and confirm that fitted concentrations are stable when numerical accuracy is increased.

Check Your Understanding

Answer each question, then compare your reasoning with the solutions.

  1. A pool has scale \(S=8\) mg/L and uses dimensionless state \(z=x/S\). What concentration does \(z=0.75\) represent?
  2. If \(k_{\mathrm{ref}}=0.25\) h\(^{-1}\) and \(\eta=\ln 2\), calculate \(k=k_{\mathrm{ref}}\exp(\eta)\). Is the rate positive?
  3. Why can a shared absolute tolerance be unsuitable when one pool is much smaller than another?
  4. A scaled model is fitted but predictions differ from the unscaled implementation. Name two checks that can identify an implementation or numerical problem.

Solutions. (1) \(x=Sz=(8\ \text{mg/L})(0.75)=6\) mg/L. (2) \(k=(0.25)(2)=0.500\) h\(^{-1}\), which is positive. (3) Absolute tolerance contributes an error scale even near zero, so it can be a large fraction of a small pool while remaining negligible for a large pool. (4) Check that the transfer coefficients include the required state-scale ratios and that initial conditions and observation equations are transformed consistently; also tighten solver tolerances and compare predictions at the same times.

Clinical Biostats