= (rep_matrix(thetaHat, nId) + diag_pre_multiply(omega, L_corr * z))';
matrix[nId, nRandom] theta vector<lower = 0>[nId] CL = exp(theta[,1]),
Q = exp(theta[,2]),
V2 = exp(theta[,3]),
V3 = exp(theta[,4]),
ka = exp(theta[,5]);
Overview
This Expo demonstrates an iterative population pharmacokinetic (popPK) model development process consisting of a sequence of four models. All of the models share the following properties:
- linear two compartment model with first order absorption,
- absorption rate constant constrained to avoid “flip-flop” at the population level,
- multivariate, lognormal interindividual variation (IIV) in \(CL\), \(Q\), \(V_2\), \(V_3\) and \(k_a\), and
- lognormal residual variation.
The sequence of four models is as follows:
- ppkexpo1
- no individual-specific covariates
- centered random effect parameterization
- ppkexpo2
- no individual-specific covariates
- non-centered random effect parameterization
- ppkexpo3
- allometric scaling of clearance and volume parameters with fixed exponents on body weight
- non-centered random effect parameterization
- ppkexpo4
- allometric scaling of clearance and volume parameters with fixed exponents on body weight
- additional covariates on clearance (\(\widehat{CL/F}\)): eGFR, age, albumin
- non-centered random effect parameterization
Model ppkexpo1
The base model ppkexpo1 may be expressed mathematically as:
\[\begin{eqnarray*} \left(c_{ij}\right) &\sim& \text{lognormal}\left(\log\left(\hat{c}_{ij}\right), \sigma\right) \\ \hat{c}_{ij} &=& f_{2cpt}\left(t_{ij}, D_j, \tau_j, CL_j, Q_j, V_{2j}, V_{3j}, k_{aj}\right) \\ \log\left(CL_j, Q_j, V_{2j}, V_{3j}, k_{aj}\right) &\sim& N\left(\log\left(\widehat{CL}, \widehat{Q}, \widehat{V}_2, \widehat{V}_3, \widehat{k}_a\right),\Omega\right) \end{eqnarray*}\]
where \(f_{2cpt}\) is the function for calculating the central compartment concentration as a function of time. It is an analytic solution of the system of ordinary differential equations (ODEs) describing the linear two compartment model with first order absorption.
Since this is a Bayesian (Bayes) analysis, we also need to specify prior distributions for the model parameters. We use the following weakly to moderately informative priors.
\[\begin{eqnarray*} \widehat{CL} &\sim& \text{half-}N\left(0, 10\right) \\ \widehat{Q} &\sim& \text{half-}N\left(0, 10\right) \\ \widehat{V}_2 &\sim& \text{half-}N\left(0, 50\right) \\ \widehat{V}_3 &\sim& \text{half-}N\left(0, 100\right) \\ \widehat{k}_a &\sim& \text{half-}N\left(0, 3\right) \\ \sigma &\sim& \text{half-}N\left(0, 0.5\right) \\ \Omega &=& \text{diag}\left(\omega\right) P\ \text{diag}\left(\omega\right) \\ \omega_i &\sim& \text{half-}N\left(0, 0.5\right), i \in \{1, 5\} \\ P &\sim& \text{LKJCorr}\left(2\right) \end{eqnarray*}\]
Model ppkexpo2
Model ppkexpo2 is a reparameterization of model ppkexpo1. The random effects parameterization of model ppkexpo1 is called a centered parameterization (CP). Model ppkexpo2 uses a noncentered parameterization (NCP) in an attempt to improve Markov Chain Monte Carlo (MCMC) sampling performance. With NCP, the individual PK parameters are not sampled directly from a multivariate normal distribution. Instead, we construct them from independent standard, normal random variables (\(z_{ij} \sim N(0, 1)\)).
If \(L = \text{Chol}\left(P\right)\) where \(\text{Chol}\left(P\right)\) is the Cholesky factorization of the correlation matrix \(P\), then
\[\eta = \text{diag}\left(\omega\right) L z \sim N\left(0, \Omega\right)\] We can then construct the individual PK parameters from that. For model ppkexpo2 that has no covariates,
\[\begin{eqnarray} \log(CL_j) &=& \log(\widehat{CL}) + \eta_{1j} \\ \log(Q_j) &=& \log(\widehat{Q}) + \eta_{2j} \\ \log(V_{2j}) &=& \log(\widehat{V}_2) + \eta_{3j} \\ \log(V_{3j}) &=& \log(\widehat{V}_3) + \eta_{4j} \\ \log(k_{aj}) &=& \log(\widehat{k}_a) + \eta_{5j} \end{eqnarray}\]
Using Stan language matrix functions, this may be written:
Model ppkexpo3
Model ppkexpo3 adds allometric scaling of the clearance and volume parameters.
\[\begin{eqnarray} CL &=& CL_\text{norm}\left(\frac{BW}{70}\right)^{0.75} \\ Q &=& Q_\text{norm}\left(\frac{BW}{70}\right)^{0.75} \\ V_2 &=& V_{2\text{norm}}\left(\frac{BW}{70}\right) \\ V_3 &=& V_{3\text{norm}}\left(\frac{BW}{70}\right) \end{eqnarray}\]
where the subscript “norm” indicates the parameter value for a 70 kg individual.
Model ppkexpo4
The effects of renal function (eGFR), age, and albumin on clearance are added. \[ CL = CL_\text{norm}\left(\frac{BW}{70}\right)^{0.75} \left(\frac{\text{eGFR}}{90}\right)^{\beta_\text{eGFR}} \left(\frac{\text{age}}{35}\right)^{\beta_\text{age}} \left(\frac{\text{albumin}}{90}\right)^{\beta_\text{albumin}} \]
:::