New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Questions about the function "causal_survival_forest" #1099
Comments
Hi @ChenXinaha ,
The revised paper + new CRAN release will ideally be easier to read and use. |
In the function "causal_survival_forest", "D" represets the event type (0: censored, 1: failure) ,so if a patient was censored at Y.max + k (k>0) then he must have been alive at Y.max and D=0? |
No, the effective non-censoring indicator D is 1 in that case |
|
Only samples observed past Y.max are relabeled |
Thank you very much!I have been very confused about tau(x) in the function "causal_survival_forest", I think that tau(X) = E[Y(1) - Y(0) | X = x] ,where Y is the survival time up to a fixed maximum follow-up time. Y(1) and Y(0) are potential outcomes corresponding to the two possible treatment states. Could I think that the larger tau(X) means larger benefits from treat (1) than the control (0). So, I was confused about the association between tau(X) /ITE(individual treatment effect) estimated by causal survival forest and the effect of treatment estimated using Cox model. And how I understand "The event time (may be negative)" in the arguments. I hope you can answer my questions. Thanks very much! |
Can you post the R code you are using in the above paragraph? I'm not sure I understand what you are doing, it's fine the data is not available, just show the commands |
library(grf) ITE <- CSF.function(X = data [, c(8:ncol(data))], ITE$subject_id <- data$subject_id data.ITE <- merge(ITE, data, by = "subject_id") temp1 <- data.ITE[data.ITE$ITE <= quantile(data.ITE$ITE, 1/2), ] coxph(Surv(time, Event)~ as.factor(Arm), data = data) coxph(Surv(time, Event)~ as.factor(Arm), data = temp1) coxph(Surv(time, Event)~ as.factor(Arm), data = temp2) Could you explain the meaning of tau(X) = E[Y(1) - Y(0) | X = x] in this function. |
tau(x) estimates the (truncated*) mean difference in is survival time conditional on X. *the truncation currently needs to be done manually, have you already done that with
|
how should I choose the (truncated*) |
Y.max should be at most around 19 (the time of the last green bar) from that plot. You need to the the truncation "relabeling" on the data before calling causal_survival_forest (the next release will make this easier). |
I will have a try, thanks very much! |
How should I understand the associations between ITE and the results of Cox model. |
Is this after you ran CSF with truncated Y? |
Yes. |
There is no general relation between CSF and Cox. a) CSF is non-parametric, Cox is parametric (and can thus be mis-specified). b) they measure different things, CSF measures a difference in conditional (restricted) mean, Cox measures HR, they need not coincide |
The latest CSF is on CRAN now (version 2.1.0) so closing this for now, please feel free to ask more questions if anything is unclear |
Hello,
I am trying to use the Causal survival forest prediction function. I have some questions about the "causal_survival_forest" function as follows:
"'D[Y >= Y.max] <- 0' and 'Y[Y >= Y.max] <- Y.max'."
Details
An important assumption for identifying the conditional average treatment effect tau(X) is that there exists a fixed positive constant M such that the probability of observing an event time past the maximum follow-up time Y.max is at least M. This may be an issue with data where most endpoint observations are censored. The suggested resolution is to re-define the estimand as the treatment effect up to some suitable maximum follow-up time Y.max. One can do this in practice by thresholding Y before running causal_survival_forest: 'D[Y >= Y.max] <- 1' and 'Y[Y >= Y.max] <- Y.max'. For details see Cui et al. (2020). The computational complexity of this estimator scales with the cardinality of the event times Y. If the number of samples is large and the Y grid dense, consider rounding the event times (or supply a coarser grid with the 'failure.times' argument).
of this analysis was tau(X) = E[Y(1) - Y(0) | X = x] < 0 contrary to what I thought, which were very unreasonable.
Could you give me an answer.
Thanks very much!
Xin
The text was updated successfully, but these errors were encountered: