IPWE_MADopt {quantoptr} | R Documentation |
Estimation of the Optimal Treatment Regime defined as Minimizing Gini's Mean Differences
Description
IPWE_MADopt
seeks to estimated the treatment regime which minimizes
the Gini's Mean difference defined below.
Besides mean and quantile criterion, in some applications
people seek minimization of dispersion in the outcome, which, for example, can
be described by Gini's mean difference. Formally, it is defined as the absolute
differences of two random variables Y_1
and Y_2
drawn independently
from the same distribution:
MAD:= E(|Y_1-Y_2|).
Given a treatment regime d
, define the potential outcome of a subject
following the treatment recommended by d
as
Y^{*}(d)
. When d
is followed by everyone in the target population,
the Gini's mean absolute difference is
MAD(d):= E(| Y_1^{*}(d)-Y_2^{*}(d) |).
Usage
IPWE_MADopt(data, regimeClass, moPropen = "BinaryRandom", s.tol, it.num = 8,
hard_limit = FALSE, cl.setup = 1, p_level = 1, pop.size = 3000)
Arguments
data |
a data frame, containing variables in the |
regimeClass |
a formula specifying the class of treatment regimes to search,
e.g. if
Polynomial arguments are also supported. See also 'Details'. |
moPropen |
The propensity score model for the probability of receiving
treatment level 1.
When |
s.tol |
This is the tolerance level used by |
it.num |
integer > 1. This argument will be used in |
hard_limit |
logical. When it is true the maximum number of generations
in |
cl.setup |
the number of nodes. >1 indicates choosing parallel computing option in
|
p_level |
choose between 0,1,2,3 to indicate different levels of output from the genetic function. Specifically, 0 (minimal printing), 1 (normal), 2 (detailed), and 3 (debug.) |
pop.size |
an integer with the default set to be 3000. This is the population number for the first generation
in the genetic algorithm ( |
Details
Note that all estimation functions in this package use the same type of standardization on covariates. Doing so would allow us to provide a bounded domain of parameters for searching in the genetic algorithm.
This estimated parameters indexing the MAD-optimal treatment regime are returned in two scales:
The returned
coefficients
is the set of parameters after covariatesX
are standardized to be in the interval [0, 1]. To be exact, every covariate is subtracted by the smallest observed value and divided by the difference between the largest and the smallest value. Next, we carried out the algorithm in Wang et al. 2017 to get the estimated regime parameters,coefficients
, based on the standardized data. For the identifiability issue, we force the Euclidean norm ofcoefficients
to be 1.In contrast,
coef.orgn.scale
corresponds to the original covariates, so the associated decision rule can be applied directly to novel observations. In other words, let\beta
denote the estimated parameter in the original scale, then the estimated treatment regime is:d(x;\bm{\hat{\beta}})= I\{\hat{\beta}_0 + \hat{\beta}_1 x_1 + ... + \hat{\beta}_k x_k > 0\}.
The estimated
\bm{\hat{\beta}}
is returned ascoef.orgn.scale
. The same ascoefficients
, we force the Euclidean norm ofcoef.orgn.scale
to be 1.
If, for every input covariate, the smallest observed value is exactly 0 and the range
(i.e. the largest number minus the smallest number) is exactly 1, then the estimated
coefficients
and coef.orgn.scale
will render identical.
Value
This function returns an object with 6 objects. Both coefficients
and coef.orgn.scale
were normalized to have unit euclidean norm.
coefficients
the parameters indexing the estimated MAD-optimal treatment regime for standardized covariates.
coef.orgn.scale
the parameter indexing the estimated MAD-optimal treatment regime for the original input covariates.
hat_MAD
the estimated MAD when a treatment regime indexed by
coef.orgn.scale
is applied on everyone. See the 'details' for connection betweencoef.orgn.scale
andcoefficient
.call
the user's call.
moPropen
the user specified propensity score model
regimeClass
the user specified class of treatment regimes
References
Wang L, Zhou Y, Song R and Sherwood B (2017). “Quantile-Optimal Treatment Regimes.” Journal of the American Statistical Association.
Examples
GenerateData.MAD <- function(n)
{
x1 <- runif(n)
x2 <- runif(n)
tp <- exp(-1+1*(x1+x2))/(1+exp(-1+1*(x1+x2)))
a<-rbinom(n = n, size = 1, prob=tp)
error <- rnorm(length(x1))
y <- (1 + a*0.6*(-1+x1+x2<0) + a*-0.6*(-1+x1+x2>0)) * error
return(data.frame(x1=x1,x2=x2,a=a,y=y))
}
# The true MAD optimal treatment regime for this generative model
# can be deduced trivially, and it is: c( -0.5773503, 0.5773503, 0.5773503).
# With correctly specified propensity model ####
n <- 400
testData <- GenerateData.MAD(n)
fit1 <- IPWE_MADopt(data = testData, regimeClass = a~x1+x2,
moPropen=a~x1+x2, cl.setup=2)
fit1
# With incorrectly specified propensity model ####
fit2 <- IPWE_MADopt(data = testData, regimeClass = a~x1+x2,
moPropen="BinaryRandom", cl.setup=2)
fit2