Surrogate (version 1.7)

MaxEntSPFBinBin: Use the maximum-entropy approach to compute SPF (surrogate predictive function) in the binary-binary setting

Description

In a surrogate evaluation setting where both \(S\) and \(T\) are binary endpoints, a sensitivity-based approach where multiple 'plausible values' for vector \(\pi\) (i.e., vectors \(\pi\) that are compatible with the observable data at hand) can be used (for details, see SPF.BinBin). Alternatively, the maximum entropy distribution for vector \(\pi\) can be considered (Alonso et al., 2015). The use of the distribution that maximizes the entropy can be justified based on the fact that any other distribution would necessarily (i) assume information that we do not have, or (ii) contradict information that we do have. The function MaxEntSPFBinBin implements the latter approach.

Based on vector \(\pi\), the surrogate predictive function (SPF) is computed, i.e., \(r(i,j)=P(\Delta T=i|\Delta S=j)\). For example, \(r(-1,1)\) quantifies the probability that the treatment has a negative effect on the true endpoint (\(\Delta T=-1\)) given that it has a positive effect on the surrogate (\(\Delta S=1\)).

Usage

MaxEntSPFBinBin(pi1_1_, pi1_0_, pi_1_1,
pi_1_0, pi0_1_, pi_0_1, Method="BFGS", 
Fitted.ICA=NULL)

Arguments

pi1_1_

A scalar that contains the estimated value for \(P(T=1,S=1|Z=0)\), i.e., the probability that \(S=T=1\) when under treatment \(Z=0\).

pi1_0_

A scalar that contains the estimated value for \(P(T=1,S=0|Z=0)\).

pi_1_1

A scalar that contains the estimated value for \(P(T=1,S=1|Z=1)\).

pi_1_0

A scalar that contains the estimated value for \(P(T=1,S=0|Z=1)\).

pi0_1_

A scalar that contains the estimated value for \(P(T=0,S=1|Z=0)\).

pi_0_1

A scalar that contains the estimated value for \(P(T=0,S=1|Z=1)\).

Method

The maximum entropy frequency vector \(p^{*}\) is calculated based on the optimal solution to an unconstrained dual convex programming problem (for details, see Alonso et al., 2015). Two different optimization methods can be specified, i.e., Method="BFGS" and Method="CG", which implement the quasi-Newton BFGS (Broyden, Fletcher, Goldfarb, and Shanno) and the conjugent gradient (CG) methods (for details on these methods, see the help files of the optim() function and the references theirin). Alternatively, the \(\pi\) vector (obtained when the functions ICA.BinBin, ICA.BinBin.Grid.Full, or ICA.BinBin.Grid.Sample are executed) that is 'closest' to the vector \(\pi\) can be retained. Here, the 'closest' vector is defined as the vector where the sum of the squared differences between the components in the vectors \(\pi\) and \(\pi\) is smallest. The latter 'Minimum Difference' method can re requested by specifying the argument Method="MD" in the function call. Default Method="BFGS".

Fitted.ICA

A fitted object of class ICA.BinBin, ICA.BinBin.Grid.Full, or ICA.BinBin.Grid.Sample. Only required when Method="MD" is used.

Value

Vector_p

The maximum entropy frequency vector \(p^{*}\)

r_1_1

The vector of values for \(r(1, 1)\), i.e., \(P(\Delta T=1|\Delta S=1\)).

r_min1_1

The vector of values for \(r(-1, 1)\).

r_0_1

The vector of values for \(r(0, 1)\).

r_1_0

The vector of values for \(r(1, 0)\).

r_min1_0

The vector of values for \(r(-1, 0)\).

r_0_0

The vector of values for \(r(0, 0)\).

r_1_min1

The vector of values for \(r(1, -1)\).

r_min1_min1

The vector of values for \(r(-1, -1)\).

r_0_min1

The vector of values for \(r(0, -1)\).

References

Alonso, A., & Van der Elst, W. (2015). A maximum-entropy approach for the evluation of surrogate endpoints based on causal inference.

See Also

ICA.BinBin, ICA.BinBin.Grid.Sample, ICA.BinBin.Grid.Full, plot MaxEntSPF BinBin

Examples

Run this code
# NOT RUN {
# Sensitivity-based ICA results using ICA.BinBin.Grid.Sample
ICA <- ICA.BinBin.Grid.Sample(pi1_1_=0.341, pi0_1_=0.119, pi1_0_=0.254,
pi_1_1=0.686, pi_1_0=0.088, pi_0_1=0.078, Seed=1, 
Monotonicity=c("No"), M=5000)

# Sensitivity-based SPF
SPFSens <- SPF.BinBin(ICA)

# Maximum-entropy based SPF
SPFMaxEnt <- MaxEntSPFBinBin(pi1_1_=0.341, pi0_1_=0.119, pi1_0_=0.254,
pi_1_1=0.686, pi_1_0=0.088, pi_0_1=0.078)

# Explore maximum-entropy results
summary(SPFMaxEnt)

# Plot results
plot(x=SPFMaxEnt, SPF.Fit=SPFSens)
# }

Run the code above in your browser using DataLab