Become an expert in R — Interactive courses, Cheat Sheets, certificates and more!
Get Started for Free

rwl

Residual Weighted Learning


Description

Residual Weighted Learning

Usage

rwl(
  ...,
  moPropen,
  moMain,
  data,
  reward,
  txName,
  regime,
  response,
  fSet = NULL,
  lambdas = 2,
  cvFolds = 0L,
  kernel = "linear",
  kparam = NULL,
  responseType = "continuous",
  verbose = 2L
)

Arguments

...

Used primarily to require named input. However, inputs for the optimization methods can be sent through the ellipsis. The optimization method is stats::optim().

moPropen

An object of class modelObj or modelObjSubset, which defines the model and R methods to be used to obtain parameter estimates and predictions for the propensity for treatment. See ?moPropen for details.

moMain

An object of class modelObj or modelObjSubset, which defines the model and R methods to be used to obtain parameter estimates and predictions for the main effects of the outcome. See ?modelObj for details.

data

A data frame of the covariates and tx histories

reward

The response vector

txName

A character object. The column header of data that corresponds to the tx covariate

regime

A formula object or a list of formula objects. The covariates to be included in classification. If a list is provided, this specifies that there is an underlying subset structure – fSet must then be defined.

response

A numeric vector. The reward. Allows for naming convention followed in most DynTxRegime methods.

fSet

A function or NULL defining subset structure

lambdas

A numeric object or a numeric vector object giving the penalty tuning parameter. If more than 1 is provided, the finite set of values to be considered in the cross-validation algorithm

cvFolds

If cross-validation is to be used to select the tuning parameters, the number of folds.

kernel

A character object. must be one of linear, poly, radial

kparam

A numeric object of NULL. If kernel = linear, kparam is ignored. If kernel = poly, kparam is the degree of the polynomial If kernel = radial, kparam is the inverse bandwidth of the kernel. If a vector of bandwidth parameters is given, cross-validation will be used to select the parameter

responseType

A character indicating if response is continuous, binary or count data.

verbose

An integer or logical. If 0, no screen prints are generated. If 1, screen prints are generated with the exception of optimization results obtained in iterative algorithm. If 2, all screen prints are generated.

Value

an RWL object

References

Xin Zhou, Nicole Mayer-Hamblett, Umer Khan, and Michael R Kosorok (2017) Residual weighted learning for estimating individualized treatment rules. Journal of the American Statistical Association, 112, 169–187.

See Also

Other statistical methods: bowl(), earl(), iqLearn, optimalClass(), optimalSeq(), owl(), qLearn()

Other weighted learning methods: bowl(), earl(), owl()

Other single decision point methods: earl(), optimalClass(), optimalSeq(), owl(), qLearn()

Examples

## Not run:  
# Load and process data set
data(bmiData)

# define the negative 12 month change in BMI from baseline
y12 <- -100*(bmiData[,6L] - bmiData[,4L])/bmiData[,4L]

# propensity model
moPropen <- buildModelObj(model = ~parentBMI+month4BMI,
                          solver.method = 'glm',
                          solver.args = list('family'='binomial'),
                          predict.method = 'predict.glm',
                          predict.args = list(type='response'))

# outcome model
moMain <- buildModelObj(model = ~parentBMI+month4BMI,
                        solver.method = 'lm')

fitRWL <- rwl(moPropen = moPropen, moMain = moMain,
              data = bmiData, reward = y12,  txName = 'A2', 
              regime = ~ parentBMI + month4BMI,
              kernel = 'radial', kparam = 1.5)

##Available methods

  # Coefficients of the regression objects
  coef(fitRWL)

  # Description of method used to obtain object
  DTRstep(fitRWL)

  # Estimated value of the optimal treatment regime for training set
  estimator(fitRWL)

  # Value object returned by regression methods
  fitObject(fitRWL)

  # Summary of optimization routine
  optimObj(fitRWL)

  # Estimated optimal treatment for training data
  optTx(fitRWL)

  # Estimated optimal treatment for new data
  optTx(fitRWL, bmiData)

  # Value object returned by outcome regression method
  outcome(fitRWL)

  # Plots if defined by regression methods
  dev.new()
  par(mfrow = c(2,4))

  plot(fitRWL)
  plot(fitRWL, suppress = TRUE)

  # Value object returned by propensity score regression method
  propen(fitRWL)

  # Parameter estimates for decision function
  regimeCoef(fitRWL)

  # Show main results of method
  show(fitRWL)

  # Show summary results of method
  summary(fitRWL)
 
## End(Not run)

DynTxRegime

Methods for Estimating Optimal Dynamic Treatment Regimes

v4.10
GPL-2
Authors
S. T. Holloway, E. B. Laber, K. A. Linn, B. Zhang, M. Davidian, and A. A. Tsiatis
Initial release
2022-06-05

We don't support your browser anymore

Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.