fit_copula_OrdOrd()
fits the ordinal-ordinal vine copula model. See
Details for more information about this model.
fit_copula_OrdOrd(
data,
copula_family,
K_S,
K_T,
start_copula,
method = "BFGS",
...
)
Returns an S3 object that can be used to perform the sensitivity
analysis with sensitivity_analysis_copula()
.
data frame with three columns in the following order: surrogate
endpoint, true endpoint, and treatment indicator (0/1 coding). Ordinal endpoints
should be integers starting from 1
.
One of the following parametric copula families:
"clayton"
, "frank"
, "gaussian"
, or "gumbel"
. The first element in
copula_family
corresponds to the control group, the second to the
experimental group.
Number of categories in the surrogate and true endpoints.
Starting value for the copula parameter.
Optimization algorithm for maximizing the objective function.
For all options, see ?maxLik::maxLik
. Defaults to "BFGS"
.
Extra argument to pass onto maxLik::maxLik
Florian Stijven
Following the Neyman-Rubin potential outcomes framework, we assume that each patient has four potential outcomes, two for each arm, represented by \(\boldsymbol{Y} = (T_0, S_0, S_1, T_1)'\). Here, \(\boldsymbol{Y_z} = (S_z, T_z)'\) are the potential surrogate and true endpoints under treatment \(Z = z\).
The latent variable notation and D-vine copula model for \(\boldsymbol{Y}\)
is a straightforward extension of the notation in
ordinal_continuous_loglik()
.
In practice, we only observe \((S_0, T_0)'\) or \((S_1, T_1)'\). Hence, to
estimate the (identifiable) parameters of the D-vine copula model, we need
to derive the observed-data likelihood. The observed-data loglikelihood for
\((S_z, T_z)'\) is as follows:
$$
f_{\boldsymbol{Y_z}}(s, t; \boldsymbol{\beta}) =
P \left( c^{S_z}_{s - 1} < \tilde{S}_z, c^{T_z}_{t - 1} < \tilde{T}_z \right) - P \left( c^{S_z}_{s} < \tilde{S}_z, c^{T_z}_{t - 1} < \tilde{T}_z \right)
- P \left( c^{S_z}_{s - 1} < \tilde{S}_z, c^{T_z}_{t} < \tilde{T}_z \right) + P \left( c^{S_z}_{s} < \tilde{S}_z, c^{T_z}_{t} < \tilde{T}_z \right).
$$
The above expression is used in ordinal_ordinal_loglik()
to compute the
loglikelihood for the observed values for \(Z = 0\) or \(Z = 1\).
sensitivity_analysis_copula()
, print.vine_copula_fit()
,
plot.vine_copula_fit()