Tutorials › Physiologically-Based Pharmacokinetics (PBPK) › Common Errors in PBPK Sensitivity Analysis

Sensitivity Analysis and Parameter Reduction · Tutorial 744 of 799

Common Errors in PBPK Sensitivity Analysis

Learn to detect and correct common errors so that PBPK sensitivity results are numerically stable and interpreted for the stated endpoint and context.

Advanced 10 min read

What You'll Learn

  • Distinguish raw derivatives from dimensionless, normalized sensitivities.
  • Check whether perturbation sizes and ranges match the question being asked.
  • Diagnose finite-difference estimates contaminated by solver error.
  • Compare rankings across endpoints, doses, and physiological scenarios.
  • Interpret sensitivity rankings as conditional results rather than universal parameter importance.

Why Sensitivity Results Can Mislead

A sensitivity analysis can be computed correctly and still support a misleading conclusion. A raw derivative depends on the units used for a parameter; a finite difference depends on the perturbation; and a ranking applies only to its specified model output, time, dose, scenario, and parameter ranges. In PBPK work, these distinctions matter because parameters may have different units and scales, and the same parameter can affect exposure endpoints differently.

The earlier material on local and global sensitivity analysis provides tools for measuring model response. Here the focus is on checking whether those tools have been applied and interpreted appropriately. In every case, first identify the model output \(y=f(\boldsymbol{\theta})\), the parameter values or ranges, and the conditions under which the result is intended to apply. Here \(\boldsymbol{\theta}\) is the vector of model parameters; the output might be a concentration at a specified time, AUC, or Cmax.

Definition: A local sensitivity describes how a model output changes near a specified parameter vector and scenario. The raw local sensitivity to parameter \(\theta_i\) is the derivative \(\partial y/\partial\theta_i\). When \(y\ne 0\) and \(\theta_i\ne 0\), the dimensionless normalized sensitivity, also called an elasticity, is
$$ S_i=\frac{\theta_i}{y}\frac{\partial y}{\partial\theta_i}. $$
For small changes, \(\Delta y/y\approx S_i(\Delta\theta_i/\theta_i)\). Thus the sign of \(S_i\) describes the direction of the fractional output change for a fractional parameter change. It does not, without additional conditions, state whether increasing the parameter increases the output.

Unscaled Parameters: Comparing Unlike Quantities

The raw derivative has units of output divided by parameter. A large derivative can reflect a small parameter unit rather than a large relative effect. Changing a parameter's unit—for example, expressing a flow in L/h rather than mL/min—changes its numerical derivative, although it does not change the model's underlying predictions. Ranking raw derivatives across parameters with different units is therefore generally not meaningful.

Normalized sensitivities address this particular scaling problem by expressing a local response in fractional units. They are useful when parameters and outputs are nonzero and when fractional changes are the relevant comparison. They are not a universal solution: a normalized sensitivity can be undefined at zero, can be unstable when the output is near zero, and does not describe the response far from the evaluated parameter values.

Worked Example: Raw Derivatives and Fractional Effects

Consider a hypothetical PBPK model output \(y\), measured in mg/L, with local behaviour described by \(y=2a+100b\). At \(a=10\) L/h and \(b=0.5\) (dimensionless), the output is \(y=70\) mg/L. The coefficients carry the units needed for each term to have units of mg/L.

The raw derivatives are \(\partial y/\partial a=2\) (mg/L)/(L/h) and \(\partial y/\partial b=100\) mg/L. The second derivative is numerically much larger, but the units differ, so that comparison alone does not establish that \(b\) is more influential.

The normalized sensitivities are

$$ S_a=\frac{10}{70}(2)=0.2857,\qquad S_b=\frac{0.5}{70}(100)=0.7143. $$

For a 10% increase in \(a\), the model's local approximation gives a 2.857% increase in \(y\); for a 10% increase in \(b\), it gives a 7.143% increase. Both parameters and the output are positive here, so the positive sensitivities also indicate that increasing either parameter locally increases the output. These are local comparisons at the stated parameter values, not universal rankings.

Perturbation Size and Range

Finite differences approximate derivatives using model runs at perturbed parameter values. A central difference is

$$ \frac{\partial y}{\partial\theta_i} \approx \frac{f(\theta_i+h)-f(\theta_i-h)}{2h}, $$

with other parameters held fixed. This is a local approximation when \(f\) is sufficiently smooth near the evaluation point and \(h\) is small enough for the local slope to be relevant. If \(h\) is too large, curvature makes the result an average over a wider interval rather than the derivative at the centre. If \(h\) is too small, numerical error can dominate the difference. Perturbations must also remain within the model's meaningful parameter domain.

A different question is asked by a global analysis over parameter ranges: how does output variation over the chosen ranges depend on the inputs? Such a result is conditional on those ranges and, for variance-based indices, on the specified input distributions and dependence assumptions. A range that excludes an influential region, or includes implausible values, can produce a ranking that is irrelevant to the intended use. This is not fixed by simply choosing a larger range.

Worked Example: A Perturbation That Is Too Large for a Local Slope

Suppose a hypothetical model output is \(y=f(\theta)=\theta/(1+\theta)\), with positive parameter \(\theta\), and evaluate sensitivity at \(\theta=1\). The output is \(y=0.5\). Differentiation gives \(\partial y/\partial\theta=1/(1+\theta)^2\), so the exact local derivative is \(0.25\), and the normalized local sensitivity is \(S=(1/0.5)(0.25)=0.5\).

With a central difference using \(h=0.1\),

$$ \frac{f(1.1)-f(0.9)}{0.2} = \frac{1.1/2.1-0.9/1.9}{0.2} = \frac{0.52381-0.47368}{0.2} =0.2506. $$

The corresponding normalized estimate is \((1/0.5)(0.2506)=0.5013\), close to the local value. With \(h=0.9\), the perturbations are still positive, but the estimate becomes

$$ \frac{f(1.9)-f(0.1)}{1.8} = \frac{0.65517-0.09091}{1.8} =0.3135, \qquad \widehat S=\frac{1}{0.5}(0.3135)=0.6270. $$

The larger perturbation does not estimate the same local slope as accurately because the function is curved. The calculation does not show that the true local sensitivity changed; it shows that the finite-difference estimate is sensitive to the chosen step. Checking several decreasing step sizes, while also monitoring solver accuracy, helps distinguish this effect from numerical noise.

Solver Noise and Endpoint Mismatch

PBPK outputs are often obtained by numerically solving differential equations. Solver tolerances, interpolation, event handling, or insufficient resolution can introduce small numerical differences between runs. A finite difference subtracts two outputs, so even small errors in those outputs can become large relative to their difference. In the central-difference formula, if each computed output has absolute error no greater than \(\varepsilon\), the error contributed to the derivative estimate can be as large as \(\varepsilon/h\). Reducing \(h\) therefore does not always improve the estimate.

A second error is to report a ranking without specifying the endpoint. Concentration at a particular time, Cmax, and AUC are different functions of the model trajectory. A parameter may strongly affect one and weakly affect another, or have effects of opposite sign. A ranking for one endpoint should not be presented as a general ranking for the compound or model.

Worked Example: Solver Error Amplified by a Small Step

Suppose a hypothetical model has exact output \(y=10\theta\). Its exact derivative is 10. At \(\theta=1\), take a central-difference step \(h=0.001\). The exact outputs are 10.01 and 9.99. Suppose numerical solver error adds \(+0.02\) to the upper run and \(-0.02\) to the lower run, giving computed outputs 10.03 and 9.97.

The estimated derivative is

$$ \frac{10.03-9.97}{2(0.001)} = \frac{0.06}{0.002} =30. $$

The estimate is three times the exact derivative because the solver errors contribute \(0.04/0.002=20\) to the result. With \(h=0.1\), suppose the same-sized errors have the same opposing signs: the computed outputs are 11.02 and 8.98, and the estimate is \((11.02-8.98)/0.2=10.2\). This is closer to 10, though the larger step may introduce truncation error in a nonlinear model. A practical check is to compare estimates across step sizes and tighter solver tolerances; a stable value across both checks is more credible than a single estimate.

Worked Example: Rankings Reverse Across Endpoints

Consider a hypothetical model evaluated at one dose and physiological scenario. Baseline Cmax is 10 mg/L and baseline AUC is 20 mg·h/L. Increasing a positive flow parameter by 10% changes Cmax to 9.2 mg/L and AUC to 19.8 mg·h/L. Increasing a positive enzyme parameter by 10% instead changes Cmax to 9.8 mg/L and AUC to 18.2 mg·h/L.

Using the one-sided fractional response divided by the 10% fractional parameter change gives approximate normalized sensitivities. For flow, these are

$$ \widehat S_{\mathrm{flow,Cmax}} = \frac{(9.2-10)/10}{0.10} =-0.8, \qquad \widehat S_{\mathrm{flow,AUC}} = \frac{(19.8-20)/20}{0.10} =-0.1. $$

For the enzyme parameter, they are

$$ \widehat S_{\mathrm{enzyme,Cmax}} = \frac{(9.8-10)/10}{0.10} =-0.2, \qquad \widehat S_{\mathrm{enzyme,AUC}} = \frac{(18.2-20)/20}{0.10} =-0.9. $$

By absolute sensitivity, flow ranks above enzyme for Cmax (\(0.8>0.2\)), while enzyme ranks above flow for AUC (\(0.9>0.1\)). In this example, increasing either positive parameter decreases both outputs locally over the tested perturbation. The ranking reversal is not a contradiction: the endpoints summarize different features of the concentration-time profile.

Checking an Analysis Before Interpreting It

A defensible sensitivity result needs its context alongside its number. State the model version, output definition and units, time or summary endpoint, dose, physiological scenario, parameter values or ranges, and sensitivity method. For a local analysis, also report the perturbation rule and evidence that numerical settings and step sizes do not materially change the estimates. For global methods, describe the ranges or distributions and any assumptions about dependence among inputs.

1
Check the quantity being ranked.
Confirm that every parameter's effect refers to the same stated output, time or summary endpoint, dose, and physiological scenario.
2
Check scaling and perturbations.
Use raw derivatives only when their units and scales make comparison meaningful. Otherwise consider normalized sensitivities where defined, and verify that perturbations are feasible and suitably local.
3
Check numerical stability.
Compare finite-difference estimates across step sizes and solver tolerances. Large changes suggest truncation error, solver noise, or both; investigate before reporting a ranking.
4
Limit the conclusion to its scope.
State which model, endpoint, parameter region, and scenario the result describes. Compare doses, times, endpoints, or physiological scenarios when broader conclusions are needed.

These checks complement, rather than replace, the analysis method. Local derivatives and normalized sensitivities describe behaviour near a specified point. Screening methods such as Morris analysis explore broader changes efficiently but depend on the explored parameter ranges. Sobol indices summarize variance contributions under specified input distributions and assumptions. Grouped sensitivities can describe process-level changes, but the grouping must match the scientific question. None yields a context-free measure of a parameter's importance.

Common Pitfalls and Limits

  • Ranking raw derivatives with different units. A larger numerical slope does not necessarily indicate a larger relative effect. Compare quantities with interpretable common scaling, or report derivatives with their units and avoid an unsupported cross-parameter ranking.
  • Calling a finite-difference estimate “the sensitivity” without its step. Curvature and solver noise can make the estimate step-dependent. Report the perturbation and check stability rather than selecting one convenient result.
  • Using an arbitrary global range. A ranking over ranges that are scientifically implausible or too narrow for the question may not answer the intended question. State the range and explain its relevance.
  • Transferring a ranking between endpoints or scenarios. Rankings may change with time, dose, physiology, or endpoint. Earlier material on sensitivity across doses and time-dependent rankings addresses these context changes; results should still be labelled with the conditions used.
  • Treating sensitivity as universal importance or causation. A sensitivity quantifies model response under specified conditions. It does not by itself establish which parameter is known precisely, which parameter should be measured next, or whether a model is correct.

Sensitivity analysis has important limits even when carefully checked. Results depend on the model structure and parameterization, and local measures can miss nonlinear behaviour away from the evaluation point. Global measures depend on chosen input ranges and distributions. Numerical stability does not establish biological validity. Interpret rankings as evidence about the model's response under stated conditions, not as unconditional properties of biological parameters.

Key takeaway: A sensitivity value is interpretable only with its scale, method, numerical checks, endpoint, and evaluation context. A ranking can be useful without being universal.

Check Your Understanding

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

  1. A raw derivative is 8 mg/L per L/h for one parameter and 3 mg/L per h for another. Can the values alone establish which parameter has the larger sensitivity? Why?
  2. For positive \(y\) and positive \(\theta_i\), a normalized sensitivity is \(-0.6\). What does this say about a small positive fractional change in the parameter?
  3. A finite-difference estimate grows rapidly as the step is made smaller, while tighter solver tolerances reduce that growth. What is a likely explanation?
  4. A parameter ranks first for Cmax but fifth for AUC. Is this necessarily inconsistent? Name two details that should accompany both rankings.

Solutions. (1) No. The derivatives have different units, and their numerical magnitudes cannot be compared directly as relative effects. (2) Since \(\Delta y/y\approx -0.6(\Delta\theta_i/\theta_i)\), a small positive fractional parameter change corresponds locally to an approximately 0.6-times-as-large fractional decrease in the output. The negative sign describes the fractional response; the positive parameter and output also make it a local decrease for an increase in the parameter. (3) Solver error is likely being amplified as the step shrinks; the tolerance dependence supports this diagnosis, though truncation error should also be checked. Compare steps and tolerances before interpreting the derivative. (4) No. The endpoints summarize different features of the model response. Report, at minimum, the endpoint definition and the dose or physiological scenario; also state the sensitivity method and parameter range or evaluation point.