| IPWE_Mopt {quantoptr} | R Documentation |
Estimate the Mean-optimal Treatment Regime
Description
IPWE_Mopt aims at estimating the treatment regime which
maximizes the marginal mean of the potential outcomes.
Usage
IPWE_Mopt(data, regimeClass, moPropen = "BinaryRandom", max = TRUE,
s.tol = 1e-04, cl.setup = 1, p_level = 1, it.num = 10,
hard_limit = FALSE, 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 |
max |
logical. If |
s.tol |
This is the tolerance level used by |
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.) |
it.num |
integer > 1. This argument will be used in |
hard_limit |
logical. When it is true the maximum number of generations
in |
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 functions returns the estimated parameters indexing the mean-optimal treatment regime under two scales.
The returned coefficients is the set of parameters when covariates are
all standardized to be in the interval [0, 1] by subtracting the smallest observed
value and divided by the difference between the largest and the smallest value.
While the returned 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)= I\{\hat{\beta}_0 + \hat{\beta}_1 x_1 + ... + \hat{\beta}_k x_k > 0\}.
The estimated \bm{\hat{\beta}} is returned as coef.orgn.scale.
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.
coefficientsthe parameters indexing the estimated mean-optimal treatment regime for standardized covariates.
coef.orgn.scalethe parameter indexing the estimated mean-optimal treatment regime for the original input covariates.
hatMthe estimated marginal mean when a treatment regime indexed by
coef.orgn.scaleis applied on everyone. See the 'details' for connection betweencoef.orgn.scaleandcoefficient.callthe user's call.
moPropenthe user specified propensity score model
regimeClassthe user specified class of treatment regimes
Author(s)
Yu Zhou, zhou0269@umn.edu, with substantial contribution from Ben Sherwood.
References
Zhang B, Tsiatis AA, Laber EB and Davidian M (2012). “A robust method for estimating optimal treatment regimes.” Biometrics, 68(4), pp. 1010–1018.
Examples
GenerateData.test.IPWE_Mopt <- function(n)
{
x1 <- runif(n)
x2 <- runif(n)
tp <- exp(-1+1*(x1+x2))/(1+exp(-1+1*(x1+x2)))
error <- rnorm(length(x1), sd=0.5)
a <- rbinom(n = n, size = 1, prob=tp)
y <- 1+x1+x2 + a*(3 - 2.5*x1 - 2.5*x2) +
(0.5 + a*(1+x1+x2)) * error
return(data.frame(x1=x1,x2=x2,a=a,y=y))
}
n <- 500
testData <- GenerateData.test.IPWE_Mopt(n)
fit <- IPWE_Mopt(data=testData, regimeClass = a~x1+x2,
moPropen=a~x1+x2,
pop.size=1000)
fit