ate.regu.cv {RCAL} | R Documentation |
Model-assisted inference for average treatment effects based on cross validation
Description
This function implements model-assisted inference for average treatment effects, using regularized calibrated estimation based on cross validation.
Usage
ate.regu.cv(fold, nrho = NULL, rho.seq = NULL, y, tr, x, ploss = "cal",
yloss = "gaus", off = NULL, ...)
Arguments
fold |
A vector of length 2 giving the fold numbers for cross validation in propensity score estimation and outcome regression respectively. |
nrho |
A vector of length 2 giving the numbers of tuning parameters searched in cross validation. |
rho.seq |
A list of two vectors giving the tuning parameters in propensity score estimation (first vector) and outcome regression (second vector). |
y |
An |
tr |
An |
x |
An |
ploss |
A loss function used in propensity score estimation (either "ml" or "cal"). |
yloss |
A loss function used in outcome regression (either "gaus" for continuous outcomes or "ml" for binary outcomes). |
off |
A |
... |
Additional arguments to |
Details
For calibrated estimation, two sets of propensity scores are separately estimated for the untreated and treated as discussed in Tan (2020a, 2020b).
See also Details for mn.regu.cv
.
Value
ps |
A list containing the results from fitting the propensity score model by |
mfp |
An |
or |
A list containing the results from fitting the outcome regression model by |
mfo |
An |
est |
A list containing the results from augmented IPW estimation by |
References
Tan, Z. (2020a) Regularized calibrated estimation of propensity scores with model misspecification and high-dimensional data, Biometrika, 107, 137–158.
Tan, Z. (2020b) Model-assisted inference for treatment effects using regularized calibrated estimation with high-dimensional data, Annals of Statistics, 48, 811–837.
Examples
data(simu.data)
n <- dim(simu.data)[1]
p <- dim(simu.data)[2]-2
y <- simu.data[,1]
tr <- simu.data[,2]
x <- simu.data[,2+1:p]
x <- scale(x)
ate.cv.rcal <- ate.regu.cv(fold=5*c(1,1), nrho=(1+10)*c(1,1), rho.seq=NULL, y, tr, x,
ploss="cal", yloss="gaus")
matrix(unlist(ate.cv.rcal$est), ncol=2, byrow=TRUE,
dimnames=list(c("one", "ipw", "or", "est", "var", "ze",
"diff.est", "diff.var", "diff.ze"), c("untreated", "treated")))