EST_ATE {AteMeVs}R Documentation

Estimation of the average treatment effect with the measurement error effects corrected and informative confounders accommodated

Description

This function is used to estimate the average treatment effect by implementing the simulation and extrapolation (SIMEX) method with informative and error-eliminated confounders accommodated.

Usage

EST_ATE(data, PS="logistic", Psi=seq(0,1,length=10), K=200, gamma,p_x=p,
extrapolate="quadratic", Sigma_e, replicate = "FALSE",
RM = 0, bootstrap = 100)

Arguments

data

an n \times (p+2) matrix recording the data. The first column records the observed outcome, the second column displays the values for the binary treatment, and the remaining columns store the observed measurements for the confounders.

PS

the specification of a link function in the treatment model. logistic refers to the logistic regression function, probit reflects the probit model, and cloglog gives the complementary log-log regression model.

Psi

a user-specified sequence of non-negative values taken from an interval. The default is set as Psi=seq(0,1,length=10).

p_x

the dimension of the error-prone confounders

K

a user-specified positive integer. The default is 200.

gamma

a vector of estimators for the treatment model, which is derived by using VSE_PS.

extrapolate

the extrapolation function in Step 3. quadratic reflects the quadratic polynomial function, linear gives the linear polynomial function, RL is the rational linear function, and cubic refers to the cubic polynomial function.

Sigma_e

the covariance matrix for the measurement error model

replicate

the indicator for the availability of repeated measurements in the confounders. replicate = "FALSE" refers no repeated measurements and replicate = "TRUE" indicates that repeated measurements exist in the dataset. The default is set as replicate = "FALSE".

RM

a p_x-dimensional user-specified vector with entries being the number of repetitions for each confounder. For example, RM = c(2,2,3) indicates that three confounders in X have repeated measurements, where the first and second confounders have two repetitions and the third one has three repetitions. The default of RM is set as the p_x-dimensional zero vector, i.e., RM = rep(0,p_x).

bootstrap

a user-specified positive integer representing the number of generated bootstrap samples to be applied with the estimation procedure

Details

This function is used to implement the simulation and extrapolation (SIMEX) method with informative confounders accommodated to to estimate the average treatment effect.

Value

estimate

a point estimate of the average treatment effect

variance

a variance estimate associated with the estimate of the average treatment effect

p-value

the resulting p-value of the average treatment effect

Author(s)

Chen, L.-P. and Yi, G. Y.

References

Yi, G. Y. and Chen, L.-P. (2023). Estimation of the average treatment effect with variable selection and measurement error simultaneously addressed for potential confounders. Statistical Methods in Medical Research, 32, 691-711.

See Also

SIMEX_EST, VSE_PS

Examples


library(MASS)
n = 800
p_x = 10      # dimension of parameters
p_z = 10
p = p_x + p_z
gamma_X = c(rep(1,2),rep(0,p_x-2))
gamma_Z = c(rep(1,2),rep(0,p_z-2))
gamma = c(gamma_X, gamma_Z)

mu_X = rep(0,p_x)
mu_Z = rep(0,p_z)

Sigma_X = diag(1,p_x,p_x)
Sigma_Z = diag(1,p_z,p_z)
Sigma_e = diag(0.2,p_x)
X = mvrnorm(n, mu_X, Sigma_X, tol = 1e-6, empirical = FALSE, EISPACK = FALSE)
Z = mvrnorm(n, mu_Z, Sigma_Z, tol = 1e-6, empirical = FALSE, EISPACK = FALSE)
data = DG(X,Z,gamma_X,gamma_Z,Sigma_e,outcome="continuous")


y = as.vector(SIMEX_EST(data,PS="logistic",Psi = seq(0,2,length=10),p_x=length(gamma_X),K=5,
    Sigma_e=diag(0.2,p_x)))
V = diag(1,length(y),length(y))

est_lasso_cv = VSE_PS(V,y,method="lasso",cv="TRUE")
EST_ATE(data, Psi = seq(0,2,length=10),p_x=length(gamma_X),K=5, gamma=est_lasso_cv,
        Sigma_e=diag(0.2,p_x),bootstrap = 10)

est_scad_cv = VSE_PS(V,y,method="scad",cv="TRUE")
EST_ATE(data, Psi = seq(0,2,length=10),p_x=length(gamma_X),K=5, gamma=est_scad_cv,
        Sigma_e=diag(0.2,p_x),bootstrap = 10)

est_mcp_cv = VSE_PS(V,y,method="mcp",cv="TRUE")
EST_ATE(data, Psi = seq(0,2,length=10),p_x=length(gamma_X),K=5, gamma=est_mcp_cv,
        Sigma_e=diag(0.2,p_x),bootstrap = 10)

[Package AteMeVs version 0.1.0 Index]