ate.nreg {RCAL}R Documentation

Model-assisted inference for average treatment effects without regularization

Description

This function implements model-assisted inference for average treatment effects, using non-regularized calibrated estimation.

Usage

ate.nreg(y, tr, x, ploss = "cal", yloss = "gaus", off = NULL)

Arguments

y

An n x 1 vector of observed outcomes.

tr

An n x 1 vector of treatment indicators (=1 if treated or 0 if untreated).

x

An n x p matix of covariates, used in both propensity score and outcome regression models.

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 2 x 1 vector of offset values (e.g., the true values in simulations) used to calculate the z-statistics from augmented IPW estimation.

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.nreg.

Value

ps

A list containing the results from fitting the propensity score model by glm.nreg.

mfp

An n x 2 matrix of fitted propensity scores for untreated (first column) and treated (second column).

or

A list containing the results from fitting the outcome regression model by glm.nreg.

mfo

An n x 2 matrix of fitted values from outcome regression, for untreated (first column) and treated (second column).

est

A list containing the results from augmented IPW estimation by ate.aipw.

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)

# include only 10 covariates
x2 <- x[,1:10]

ate.cal <- ate.nreg(y, tr, x2, ploss="cal", yloss="gaus")
matrix(unlist(ate.cal$est), ncol=2, byrow=TRUE,
dimnames=list(c("one", "ipw", "or", "est", "var", "ze", 
"diff.est", "diff.var", "diff.ze"), c("untreated", "treated")))


[Package RCAL version 2.0 Index]