1. Reference Population Model
A Gaussian copula model is fitted to a reference dataset (Janssen 2012 crosswalk
study,
n
= 3,806). This captures the joint distribution
of EQ-5D health state profiles in a general population. The model has three components:
-
Empirical marginals:
The CDF \(F_d\) for each ordinal dimension (5 levels), capturing the
frequency distribution of each dimension independently.
-
Polychoric/polyserial correlations:
The copula correlation matrix \(\Sigma\) is estimated via
polycor::hetcor()
— polychoric correlations for ordinal×ordinal pairs and polyserial
correlations for ordinal×continuous (VAS). This estimates the latent Gaussian
correlations appropriate for ordinal data (~0.6 sec, vs ~24 sec for pseudo-likelihood).
-
Grid probabilities:
3,125 state probabilities computed via Sobol quasi-random sampling
(
N
= 250,000 points via
randtoolbox::sobol
). Sobol points are transformed through
the inverse-normal CDF, correlated via \(\text{chol}(\Sigma)\), mapped back
through the normal CDF, and binned into discrete cells via
findInterval()
.
The Gaussian copula takes the form:
$$\mathcal{C}_{\Sigma}(u_1,\ldots,u_5) =
\Phi_5\!\left(\Phi^{-1}(u_1),\ldots,\Phi^{-1}(u_5);\,\Sigma\right)$$
where \(u_d = F_d(x_d)\) is the empirical CDF of dimension \(d\),
\(\Phi^{-1}\) is the standard normal quantile, and \(\Sigma\) is the
\(5 \times 5\) copula correlation matrix estimated via polychoric correlations.
2. Kernel Re-weighting
Transport works by re-weighting the reference population so that its weighted
mean utility matches the reported target mean. Each profile \(i\) receives a
kernel weight based on an
anchor variable
\(A_i\) (a value-set-neutral severity measure):
$$w_i \propto P(\mathbf{x}_i) \cdot K(A_i;\, \boldsymbol{\theta})$$
The default anchor is the
mean dimension level
\(\bar{d}_i = (\text{MO}_i + \text{SC}_i + \text{UA}_i + \text{PD}_i
+ \text{AD}_i) / 5\), which is entirely independent of any value set.
This achieved the lowest mean absolute error (MAE = 0.009) in validation.
3. Kernel Functions
1-parameter mode (mean only):
When only a mean is reported, a lognormal kernel is used with a fixed
population-calibrated shape (\(\sigma_{\log} = 1.136\)):
$$K(\bar{d}_i;\, \mu) = f_{\text{LN}}(\bar{d}_i - 0.9;\, \mu, 1.136)$$
The location parameter \(\mu\) is optimised to match the reported mean.
2-parameter mode (mean + SD):
When a SD is also available, both location and shape are jointly optimised
(L-BFGS-B with multi-start) to match both reported moments.
If the lognormal kernel cannot achieve the target SD (ceiling ≈ 0.27),
the system automatically switches to a
Beta kernel
:
$$K(\bar{d}_i;\, \alpha, \beta) = f_{\text{Beta}}\!\left(
\frac{\bar{d}_i - 1}{4};\, \alpha, \beta\right)$$
The Beta kernel supports U-shaped weight functions (\(\alpha < 1, \beta < 1\))
that push mass to the extremes, reaching SD values up to ≈ 0.45.
4. Optimisation
Mean-only:
Brent's method on a scalar objective:
$$\hat{\mu} = \arg\min_\mu \left(
\bar{m} - \sum_i w_i(\mu)\, U_{\text{src},i}\right)^2$$
Mean + SD:
L-BFGS-B minimises the combined squared deviation:
$$\min_{\boldsymbol{\theta}} \left[
\left(\bar{m} - \sum_i w_i\, U_{\text{src},i}\right)^2 +
\left(s - \text{wSD}(U_{\text{src}}, \mathbf{w})\right)^2\right]$$
where \(\text{wSD}\) uses exact population variance via
\(\sqrt{\mathrm{E}[U^2] - (\mathrm{E}[U])^2}\).
5. Transport
Once optimal weights are found, the transported mean for any target value set
\(T\) is simply the weighted mean:
$$\hat{\mu}_T = \sum_i w_i^* \, U_{T,i}$$
Because all 3,125 profiles are pre-scored under every value set, transporting
to multiple targets is instant once the weights are determined.