Skip to contents

Estimates the inverse probability of censoring weights by fitting a cox-propotinal hazards model in a landmark cohort of individuals. Primarily used internally, this function has been exported to allow users to reproduce results in the vignette when estimating confidence intervals using bootstrapping manually.

Usage

calc_weights(
  data_ms,
  data_raw,
  covs = NULL,
  t,
  s,
  landmark_type = "state",
  j = NULL,
  max_weight = 10,
  stabilised = FALSE,
  max_follow = NULL
)

Arguments

data_ms

Validation data in msdata format

data_raw

Validation data in data.frame (one row per individual)

covs

Character vector of variable names to adjust for when calculating inverse probability of censoring weights

t

Follow up time at which to calculate weights

s

Landmark time at which predictions were made

landmark_type

Whether weights are estimated in all individuals uncensored at time s ('all') or only in individuals uncensored and in state j at time s ('state')

j

Landmark state at which predictions were made (only required in landmark_type = 'state')

max_weight

Maximum bound for weights

stabilised

Indicates whether weights should be stabilised or not

max_follow

Maximum follow up for model calculating inverse probability of censoring weights. Reducing this to t + 1 may aid in the proportional hazards assumption being met in this model.

Value

A data frame with two columns. id corresponds to the patient ids from data_raw. ipcw contains the inverse probability of censoring weights (specifically the inverse of the probability of being uncesored). If stabilised = TRUE was specified, a third variable ipcw_stab will be returned, which is the stabilised inverse probability of censoring weights.

Details

Estimates inverse probability of censoring weights (Hernan M, Robins J, 2020). Fits a cox proportional hazards model to individuals in a landmark cohort, predicting the probability of being censored at time t. This landmark cohort may either be all individuals uncensored at time s, or those uncensored and in state j at time s. All predictors in w_covs are assumed to have a linear effect on the hazard. Weights are estimated for all individuals in data_raw, even if they will not be used in the analysis as they do not meet the landmarking requirements. If an individual enters an absorbing state prior to t, we estimate the probability of being censored before the time of entry into the absorbing state, rather than at t. Details on all the above this are provided in vignette overview.

References

Hernan M, Robins J (2020). “12.2 Estimating IP weights via modeling.” In Causal Inference: What If, chapter 12.2. Chapman Hall/CRC, Boca Raton.

Examples

# Estimate inverse probability of censoring weights for individual in cohort ebmtcal.
# Specifically the probability of being uncensored at t = 1826 days.
# Weights are estimated using a model fitted in all individuals uncensored at time s = 0.
weights_manual <-
calc_weights(data_ms = msebmtcal,
  data_raw = ebmtcal,
  covs = c("year", "agecl", "proph", "match"),
  t = 1826,
  s = 0,
  landmark_type = "state",
  j = 1)

 str(weights_manual)
#> 'data.frame':	2279 obs. of  2 variables:
#>  $ id  : int  1 2 3 4 5 6 7 8 9 10 ...
#>  $ ipcw: num  NA 1.14 NA 1.01 1.03 ...