5
$\begingroup$

I'm working on my master thesis in the field of ML and AI and I'm stuck with a problem related to survivorship bias.

I have ~2000 patients from the national waiting list for liver transplantation. Every patient has around 30 features (age, gender, pathologies, diagnosis, ...) and my job is to obtain the transplant benefit: how much the patient life was extended thanks to the transplant.

Example: given a patient, he was added to the waiting list in 2000. He will die in 2001 if he doesn't receive a transplant. He will die in 2004 if he receives a transplant. This means that the transplant benefit is 36 months or 3 years.

The first step is to build a model to regress how much a patient will survive without receiving a transplant. For example: given model M and patient p_i, I want that M(p_i) = y_i, where y_i is the amount of months p_i survives without getting the transplant.

The problem related to survivorship bias is the following: patients aren't from the same "population":

  • some patients weren't able to receive a transplant (e.g. discarded because incompatible): group A
  • other patients received a transplant and survived some more time: group B

enter image description here

At the moment, I'm forced to train my model M on group A patients because only they haven't received a transplant and they are died because of this. On the contrary group B patients have received a transplant, so cannot be used at this stage.

The issue arises when I want to compute the transplant benefit of transplanted patient p_j:

  1. check when p_j died after the transplant: months_t
  2. use model M to obtain survival without transplant: M(p_j) = months_w
  3. transplant benefit = months_t - months_w

Do you see the issue? M was trained only on group A patients, so it is highly inaccurate when applied to group B patients. It's a survivorship bias problem because the group that I can use for training doesn't represent the entire population but only a subset, that is, only patients discarded and incompatible.

Is there a way to overcome this problem? It's two days that I'm searching papers and articles on ways to solve this issue, but most of the "solutions" propose to use data I have no access to (e.g. train model M on group B patients, but I haven't their death date without transplant!)

TL;DR I have two groups of patients: A and B. Group B has missing labels so I train my model only on group A patients. But this creates huge problems because the different groups have very different populations and characteristics: group B contains patients that survived while group A patients were discarded (survivorship bias).

$\endgroup$
5
  • $\begingroup$ Do you in fact see differences in predictor features between group A and B? The bias will be a problem if there are differences, like if Group A is not healthy enough to get the transplant while Group B is - in that case, you'd expect Group B to live longer regardless of whether they actually get a transplant or not. But if Groups A and B are randomly selected by whether they match a donor or not, it may not be as big an issue. If A and B are randomly partitioned members of a common population, you won't have as much of a problem. If A and B are distinct populations, it's an issue. $\endgroup$ Oct 22, 2021 at 18:01
  • $\begingroup$ @NuclearHoagie Exactly what you wrote: Group A is not healthy enough to get the transplant while Group B is, or vice versa. Unluckily I haven't access to the exact policy that regulates the transplant selection process, but I'm sure the patients are not selected randomly. $\endgroup$
    – xdola
    Oct 22, 2021 at 18:07
  • $\begingroup$ It may be even worse: How were patients prioritized for transplants on your DB? Some countries have lists prioritized according to how urgently patients need transplants. So, if they get one they were doing worse than those that did not. You may have to model the assignment process over time, otherwise risk of serious biases. You should find out how this works for your DB & you may even have data on priority/risk score/place on the waiting list for patients over time. If you have the instead estimate that yourself, you may have an issue (esp. if some relevant data is not captured on the DB). $\endgroup$
    – Björn
    Oct 22, 2021 at 18:33
  • $\begingroup$ Structural equation models or some similar approaches might be worth looking into here. $\endgroup$
    – Björn
    Oct 22, 2021 at 18:33
  • $\begingroup$ @Björn I don't know how patients are prioritized (I would like to, but because of time constraints on my advisors we cannot ask directly a transplant medic about this) I could model the selection process (e.g. as a classification task), but then? I don't know how to solve the bias problem knowing (or modelling) the selection process. I will look into structural equation models thanks! $\endgroup$
    – xdola
    Oct 22, 2021 at 20:02

1 Answer 1

1
$\begingroup$

At the least you need to set this up as a combined competing-risk multi-state model for the various event types, to start trying to control for what you can. Liver transplants provide the example of a competing-risk model in Figure 1.1 of the main R survival vignette and appear frequently in the classic book on survival analysis by Therneau and Grambsch. In your situation, it seems that you would need to model not only the competing transitions from entry to withdrawal ("incompatible"), transplant, and death as in that Figure, but also the transitions from withdrawal to death and from transplant to death.

Provided that there is at least some overlap in covariate values among the groups you identify, you might be able to take advantage of the approaches to counterfactual modeling described by Hernán and Robins. Their book has entire chapters on confounding and selection bias, and 4 chapters in a section on "Causal inference from complex longitudinal data," which seems to describe your situation aptly. There's no way to summarize a book-length treatment here.

None of this, however, would seem to get around the issue of the transplant-assignment process over time noted by Björn unless you have data on the values of assignment-related covariates with time.

$\endgroup$
1
  • $\begingroup$ Thank you for the detailed answer. I will look into the sources you provided $\endgroup$
    – xdola
    Oct 28, 2021 at 10:29

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.