# Overcome survivorship bias in liver transplant patients

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

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

• 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. Commented Oct 22, 2021 at 18:01
• @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. Commented Oct 22, 2021 at 18:07
• 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). Commented Oct 22, 2021 at 18:33
• Structural equation models or some similar approaches might be worth looking into here. Commented Oct 22, 2021 at 18:33
• @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! Commented Oct 22, 2021 at 20:02