ICA.BinBin {Surrogate} | R Documentation |
Assess surrogacy in the causal-inference single-trial setting in the binary-binary case
Description
The function ICA.BinBin
quantifies surrogacy in the single-trial causal-inference framework (individual causal association and causal concordance) when both the surrogate and the true endpoints are binary outcomes. See Details below.
Usage
ICA.BinBin(pi1_1_, pi1_0_, pi_1_1, pi_1_0, pi0_1_, pi_0_1,
Monotonicity=c("General"), Sum_Pi_f = seq(from=0.01, to=0.99, by=.01),
M=10000, Volume.Perc=0, Seed=sample(1:100000, size=1))
Arguments
pi1_1_ |
A scalar or vector that contains values for |
pi1_0_ |
A scalar or vector that contains values for |
pi_1_1 |
A scalar or vector that contains values for |
pi_1_0 |
A scalar or vector that contains values for |
pi0_1_ |
A scalar or vector that contains values for |
pi_0_1 |
A scalar or vector that contains values for |
Monotonicity |
Specifies which assumptions regarding monotonicity should be made: |
Sum_Pi_f |
A scalar or vector that specifies the grid of values |
M |
The number of runs that are conducted for a given value of |
Volume.Perc |
Note that the marginals that are observable in the data set a number of restrictions on the unidentified correlations. For example, under montonicity for |
Seed |
The seed to be used to generate |
Details
In the continuous normal setting, surroagacy can be assessed by studying the association between the individual causal effects on and
(see
ICA.ContCont
). In that setting, the Pearson correlation is the obvious measure of association.
When and
are binary endpoints, multiple alternatives exist. Alonso et al. (2014) proposed the individual causal association (ICA;
), which captures the association between the individual causal effects of the treatment on
(
) and
(
) using information-theoretic principles.
The function ICA.BinBin
computes based on plausible values of the potential outcomes. Denote by
the vector of potential outcomes. The vector
can take 16 values and the set of parameters
(with
) fully characterizes its distribution.
However, the parameters in are not all functionally independent, e.g.,
. When no assumptions regarding monotonicity are made, the data impose a total of
restrictions, and thus only
proabilities in
are allowed to vary freely (for details, see Alonso et al., 2014). Based on the data and assuming SUTVA, the marginal probabilites
,
,
,
,
, and
can be computed (by hand or using the function
MarginalProbs
). Define the vector
and is a contrast matrix such that the identified restrictions can be written as a system of linear equation
The matrix has rank
and can be partitioned as
, and similarly the vector
can be partitioned as
(where
refers to the submatrix/vector given by the
last columns/components of
). Using these partitions the previous system of linear equations can be rewritten as
The following algorithm is used to generate plausible distributions for . First, select a value of the specified grid of values (specified using
Sum_Pi_f
in the function call). For to
(specified using
M
in the function call), generate a vector that contains
components that are uniformly sampled from hyperplane subject to the restriction that the sum of the generated components equals
Sum_Pi_f
(the function RandVec
, which uses the randfixedsum
algorithm written by Roger Stafford, is used to obtain these components). Next, is computed and the
vectors where all components are in the
range are retained. This procedure is repeated for each of the
Sum_Pi_f
values. Based on these results, is estimated. The obtained values can be used to conduct a sensitivity analysis during the validation exercise.
The previous developments hold when no monotonicity is assumed. When monotonicity for ,
, or for
and
is assumed, some of the probabilities of
are zero. For example, when montonicity is assumed for
, then
, or equivantly,
. When monotonicity is assumed, the procedure described above is modified accordingly (for details, see Alonso et al., 2014). When a general analysis is requested (using
Monotonicity=c("General")
in the function call), all settings are considered (no monotonicity, monotonicity for alone, for
alone, and for both for
and
.)
To account for the uncertainty in the estimation of the marginal probabilities, a vector of values can be specified from which a random draw is made in each run (see Examples below).
Value
An object of class ICA.BinBin
with components,
Pi.Vectors |
An object of class |
R2_H |
The vector of the |
Theta_T |
The vector of odds ratios for |
Theta_S |
The vector of odds ratios for |
H_Delta_T |
The vector of the entropies of |
Monotonicity |
The assumption regarding monotonicity that was made. |
Volume.No |
The 'volume' of the parameter space when monotonicity is not assumed. Is only provided when the argument |
Volume.T |
The 'volume' of the parameter space when monotonicity for |
Volume.S |
The 'volume' of the parameter space when monotonicity for |
Volume.ST |
The 'volume' of the parameter space when monotonicity for |
Author(s)
Wim Van der Elst, Paul Meyvisch, Ariel Alonso & Geert Molenberghs
References
Alonso, A., Van der Elst, W., & Molenberghs, G. (2015). Validation of surrogate endpoints: the binary-binary setting from a causal inference perspective.
See Also
Examples
## Not run: # Time consuming code part
# Compute R2_H given the marginals specified as the pi's, making no
# assumptions regarding monotonicity (general case)
ICA <- ICA.BinBin(pi1_1_=0.2619048, pi1_0_=0.2857143, pi_1_1=0.6372549,
pi_1_0=0.07843137, pi0_1_=0.1349206, pi_0_1=0.127451, Seed=1,
Monotonicity=c("General"), Sum_Pi_f = seq(from=0.01, to=.99, by=.01), M=10000)
# obtain plot of the results
plot(ICA, R2_H=TRUE)
# Example 2 where the uncertainty in the estimation
# of the marginals is taken into account
ICA_BINBIN2 <- ICA.BinBin(pi1_1_=runif(10000, 0.2573, 0.4252),
pi1_0_=runif(10000, 0.1769, 0.3310),
pi_1_1=runif(10000, 0.5947, 0.7779),
pi_1_0=runif(10000, 0.0322, 0.1442),
pi0_1_=runif(10000, 0.0617, 0.1764),
pi_0_1=runif(10000, 0.0254, 0.1315),
Monotonicity=c("General"),
Sum_Pi_f = seq(from=0.01, to=0.99, by=.01),
M=50000, Seed=1)
# Plot results
plot(ICA_BINBIN2)
## End(Not run)