IPWE_Qopt_DepCen_trt function

Estimate the Quantile-opt Treatment Regime under the assumption that the censoring time's distribution only depends on treatment level

Estimate the Quantile-opt Treatment Regime under the assumption that the censoring time's distribution only depends on treatment level

Here we assume the censoring variable is independent of covariates and potential outcomes given the treatment assignment. For example, if evidence shows that patients at certain treatment level are prone to experience censoring earlier.

IPWE_Qopt_DepCen_trt(data, regimeClass, tau, moPropen = "BinaryRandom", cluster = FALSE, p_level = 1, s.tol = 1e-04, it.num = 8, pop.size = 6000)

Arguments

  • data: raw data.frame
  • regimeClass: a formula specifying the class of treatment regimes to search, e.g. if regimeClass = a~x1+x2, and then this function will search the class of treatment regimes of the form
d(x)=I(β0+β1x1+β2x2>0).d(x)=I(β0+β1x1+β2x2>0). d(x) = I \left(\beta_0 +\beta_1 x_1 + \beta_2 x_2 > 0\right).d(x)=I(\beta_0 +\beta_1 * x1 + \beta_2 * x2 > 0).
Polynomial arguments are also supported.
  • tau: the quantile of interest

  • moPropen: The propensity score model for the probability of receiving treatment level 1. When moPropen equals the string "BinaryRandom", the proportion of observations receiving treatment level 1 in the sample will be plugged in as an estimate of the propensity. Otherwise, this argument should be a formula/string, based on which this function will fit a logistic regression on the treatment level. e.g. a1~x1.

  • cluster: default is FALSE, meaning do not use parallel computing for the genetic algorithm(GA).

  • 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).

  • s.tol: tolerance level for the GA algorithm. This is input for parameter solution.tolerance

    in function rgenoud::genoud.

  • it.num: the maximum GA iteration number

  • pop.size: an integer with the default set to be 3000. This is roughly the number individuals for the first generation in the genetic algorithm (rgenoud::genoud).

Details

data is a dataframe that contains: a(observed treatment assignment), censor_y, and delta

Examples

GenerateData_DepCen_trt <- function(n) { x1 <- runif(n, min=-0.5,max=0.5) x2 <- runif(n, min=-0.5,max=0.5) error <- rnorm(n, sd= 1) ph <- exp(-0.5+1*(x1+x2))/(1+exp(-0.5 + 1*(x1+x2))) a <- rbinom(n = n, size = 1, prob=ph) c <- 1 + 1*a + runif(n = n, min=0, max=2) # distribution of `c' depends on treatment level `a' cmplt_y <- pmin(2+x1+x2 + a*(1 - x1 - x2) + (0.2 + a*(1+x1+x2)) * error, 4.4) censor_y <- pmin(cmplt_y, c) delta <- as.numeric(c > cmplt_y) return(data.frame(x1=x1,x2=x2,a=a, censor_y = censor_y, delta=delta)) } n <- 400 data <- GenerateData_DepCen_trt(n) fit1 <- IPWE_Qopt_DepCen_trt(data = data, regimeClass = a~x1+x2, moPropen = a~x1+x2, tau = 0.2)
  • Maintainer: Yu Zhou
  • License: GPL (>= 2)
  • Last published: 2019-06-04

Useful links