# Une comparaison des algorithmes d'apprentissage pour la survie avec données manquantes

Paul Dufossé, Sébastien Benzekry

<figure><img src="image_1.png" /></figure>

To cite this version:

Paul Dufossé, Sébastien Benzekry. Une comparaison des algorithmes d'apprentissage pour la survie avec données manquantes. JDS 2023 - 54e Journées de Statistique de la SFds, SFdS, Jul 2023, Bruxelles (BEL), Belgique. 10.48550/arXiv.2303.13590 . hal-04384220

HAL Id: hal-04384220

https://hal.science/hal-04384220v1

Submitted on 10 Jan 2024

HAL is a multi-disciplinary open access
archive for the deposit and dissemination of sci-
entific research documents, whether they are pub-
lished or not. The documents may come from
teaching and research institutions in France or
abroad, or from public or private research centers.

L'archive ouverte pluridisciplinaire HAL, est
destinée au dépôt et à la diffusion de documents
scientifiques de niveau recherche, publiés ou non,
émanant des établissements d'enseignement et de
recherche français ou étrangers, des laboratoires
publics ou privés.

<figure><img src="image_2.png" /></figure>

Distributed under a Creative Commons Attribution 4.0 International License
# UNE COMPARAISON DES ALGORITHMES D'APPRENTISSAGE POUR LA SURVIE AVEC DONNÉES MANQUANTES

Paul Dufossé ¹,² & Sébastien Benzekry ¹,³

¹ Équipe COMputational Pharmacology and clinical Oncology (COMPO), Inria-Inserm

² Aix-Marseille Université ³ Inria Sophia Antipolis - Méditerranée

**Résumé.** L'analyse de survie est un outil essentiel pour l'étude des données de santé. Une composante inhérente à ces données est la présence de valeurs manquantes. Ces dernières années, de nouveaux algorithmes d'apprentissage pour la survie, basés sur les réseaux de neurones, ont été conçus. L'objectif de ce travail est d'étudier la performance en prédiction de ces algorithmes couplés à différentes méthodes pour gérer les valeurs manquantes, sur des données simulées qui reflètent une situation rencontrée en pratique, c'est-à dire lorsque les individus peuvent être groupés selon leurs covariables. Différents schémas de données manquantes sont étudiés. Les résultats montrent que, sans l'ajout de variables supplémentaires, aucune méthode d'imputation n'est meilleure que les autres dans tous les cas. La méthodologie proposée peut être utilisée pour comparer d'autres modèles de survie. Le code en Python est accessible via le package `survivalsim`.

**Mots-clés.** Apprentissage machine, réseaux de neurones, données de survie, données simulées, données manquantes.

**Abstract.** Survival analysis is an essential tool for the study of health data. An inherent component of such data is the presence of missing values. In recent years, researchers proposed new learning algorithms for survival tasks based on neural networks. Here, we studied the predictive performance of such algorithms coupled with different methods for handling missing values on simulated data that reflect a realistic situation, i.e., when individuals belong to unobserved clusters. We investigated different patterns of missing data. The results show that, without further feature engineering, no single imputation method is better than the others in all cases. The proposed methodology can be used to compare other missing data patterns and/or survival models. The Python code is accessible via the package `survivalsim`.

**Keywords.** Machine learning, neural networks, survival data, simulated data, missing data.

## 1 Introduction

Ces dernières années, de nouveaux algorithmes prédictifs pour la survie, basés sur des réseaux de neurones (RN), ont émergé. Il a été montré que ceux-ci sont compétitifs, voire meilleurs que le modèle de Cox, pour la prédiction individuelle. Ces nouvelles méthodes sont encore peu utilisées en pratique. Une raison possible est qu'il est difficile de donner des garanties
sur leur comportement. Les simulations – ou expériences numériques – sont une manière empirique de valider ces méthodes, si l'on s'efforce de simuler des données selon des distributions réalistes [CL13].

Dans le même temps, la recherche contre le cancer du poumon a vu émerger de nouveaux traitements prometteurs en immunothérapie. Ces traitements permettent de soigner environ 20% de patients qui sont détectés à un stade avancé (c.-à-d. métastatique). Néanmoins, des progrès restent à faire pour identifier les patients pour lesquels l'immunothérapie est bénéfique. C'est l'enjeu de la recherche clinique basée sur la collecte et l'analyse prédictive des biomarqueurs [CBB20; Ben+21]. Les données collectées sont un cas typique de l'analyse de survie (ici : rechute ou décès) et l'outil d'analyse plébiscité est le modèle de Cox [Cox72], parce qu'il est facilement interprétable et vient avec des garanties théoriques. Celui-ci reste pourtant limité pour la reconnaissance de motifs complexes, et largement dépendant du travail de modélisation préalable (feature engineering).

Une autre caractéristique inhérente aux données de santé est la présence de données manquantes. Une information peut être manquante pour des raisons qui dépendent de l'individu (absence ou refus de se soumettre à un examen), de la nature de l'étude (certaines données sont collectées seulement sur une période donnée, et donc pas pour tous les patients inclus dans l'étude) ou de considérations techniques (échantillons inexploitables, pannes).

L'objectif de cette étude est de présenter une méthodologie pour simuler avec des composantes aléatoires des jeux de données proches d'une situation rencontrée en pratique puis comparer les algorithmes modernes d'apprentissage qui gèrent à la fois les données manquantes et la survie.

**Notations** Nous adoptons les notations suivantes : $X$ est une variable aléatoire et $x$ sa réalisation est un vecteur colonne dans $\mathbb{R}^d$. Sa transposée est $x'$. La norme $\| \cdot \|$ est la norme euclidienne pour un vecteur et la norme de Frobenius pour une matrice. En particulier, $I$ est la matrice identité. Nous utiliserons les lois de probabilité suivantes : $\mathcal{N}(\mu, \Sigma)$ est la loi normale multivariée de moyenne $\mu$ et matrice de variance-covariance $\Sigma$, $\mathcal{U}$ est la loi uniforme sur $[0, 1]$, $\mathcal{B}(p)$ est la loi de Bernoulli sur $\{0, 1\}$ telle que si $B \sim \mathcal{B}(p)$, alors $\mathbb{P}(B = 1) = p$, et $\mathcal{W}(\alpha)$ est la loi de Weibull de paramètre de forme $\alpha > 0$.

## 1.1 Cadre et modèles pour l'analyse de survie

Les $d$ covariables d'un individu $i$ sont modélisées par le vecteur aléatoire $X_i \in \mathbb{R}^d$, les temps de survie et de censure respectivement par les variables aléatoires $T_i$ et $C_i$. On observe $n$ individus comme la réalisation du triplet de variables aléatoires $\{X_i, Y_i, \delta_i\}$, $i = 1, \dots, n$, avec $Y_i = \min(T_i, C_i)$ et $\delta_i = 1 \{T_i < C_i\}$. Le modèle de Cox classique [Cox72] fait les hypothèses suivantes sur la distribution des données :

**Hypothèse HPL** (Hasards proportionnels log-linéaires). Soit une variable aléatoire $X \in \mathbb{R}^d$ et le temps $t \in \mathbb{R}_{\ge 0}$, alors la fonction de hasard $h(t|X = x)$ est de la forme $h_0(t) \exp(\beta'x)$ avec $\beta \in \mathbb{R}^d$.
Cette hypothèse est plus forte que l'hypothèse des hasards proportionnels, où $\beta'x$ est remplacé par une fonction $f(x)$ possiblement non-linéaire. Dans tous les cas, on suppose que les covariables $X$ impactent la survie de la même manière quel que soit le temps $t$. Une hypothèse sur la relation entre survie et censure est souvent faite afin de prévenir certains biais d'observation :

**Hypothèse CA (Censure aléatoire).** *Pour chaque individu le temps de censure est indépendant du temps de survie sachant les covariables, c'est-à-dire $T_i \perp C_i | X_i = x_i$.*

## 1.2 Réseaux de neurones pour la survie

Il existe un certain nombre de modèles pour la survie basés sur les réseaux de neurones (RN). Si la plupart de ceux-ci relâchent l'hypothèse des hasards proportionnels [KB19; Lee+18], ce n'est toutefois pas le cas de DeepSurv [Kat+18] qui se restreint au modèle $h_0(t)f(x)$, apprenant simplement la fonction $\log f(x)$ à l'aide d'un RN. Une autre différence majeure entre ces algorithmes est la modélisation des temps de survie, soit en temps continu, soit à l'aide d'une discrétisation [KB19].

Kvamme et al. [KBS19] fournissent, au travers de la librairie `pycox`<fnref n="1" /> les résultats les plus complets, comparant notamment DeepSurv, DeepHit, et RSF sur des jeux de données simulées et réelles de taille variable. La comparaison ne se fait toutefois que sur des jeux de données complets, et comportant pour la plupart un grand nombre d'échantillons. Notre objectif est d'étendre cette comparaison à une situation plus proche de la réalité médicale : un nombre modéré d'individus (c.-à-d. d'échantillons) et un certain nombre de données manquantes.

## 1.3 Données manquantes

On distingue 3 mécanismes de données manquantes dans un jeu de données réelles. : completely at random (MCAR), at random (MAR), not at random (MNAR). En pratique, une donnée manquante correspond à une entrée d'un type spécial NA (pour not available). La prise en compte des données manquantes passe souvent par *l'imputation* de celles-ci. Il existe de nombreuses techniques d'imputations, la plupart d'entre elles supposent MCAR ou MAR. Leur objectif est l'imputation elle-même ou *l'inférence statistique*, deux paradigmes différents de la *prédiction* dans le domaine de l'apprentissage statistique.

Le Morvan et al. [LM+21b] soulignent que, pour réaliser une bonne prédiction, il n'est pas nécessaire d'imputer les données manquantes, mais seulement de prendre en compte l'information apportée par ce manque. Dans cette logique, Le Morvan et al. [LM+21a] ont développé *NeuMiss*, un module (de réseau de neurones) qui gère directement les valeurs NA dans le vecteur d'entrée. L'architecture de *NeuMiss* se base sur une approximation du

<footnote n="1">¹Les modèles de RN proposés par Kvamme et al. [KBS19] optimisent une fonction de perte approximative qui dépend d'un hyperparamètre, le nombre d'individus inclus dans le terme de risque à un temps donné. Les auteurs montrent de façon empirique que la performance du modèle est peu affectée par ce paramètre.</footnote>
prédicteur de Bayes dont le coût calculatoire n'est pas prohibitif et montre de bons résultats dans divers scénarios simulés.

Enfin, si l'imputation multiple reste désirable, il demeure le choix de la technique à privilégier parmi l'arsenal disponible. Peu d'implémentations d'algorithmes pour la survie intègrent de manière native un mécanisme pour les données manquantes. Par exemple, si Craig et al. [CZT21] rapportent que la librairie scikit-survival [Pöl] gère les données manquantes, cela se fait seulement au travers du module de scikit-learn [Ped+]. À notre connaissance, il n'existe pas d'étude rapportant les performances conjuguées d'une technique d'imputation avec un algorithme d'apprentissage pour la survie, comme cela a été fait récemment pour la classification [Per+22].

# 2 Méthodes de notre étude

On décrit le modèle utilisé pour simuler les données ainsi que les paramètres choisis.

## 2.1 Données simulées

**Covariables** On fixe le nombre de covariables à $d = 5$. La population suit un modèle de mélange gaussien à 2 groupes, avec les paramètres statiques

$$X_i | G_i = k \sim \mathcal{N}(\mu_k, \Sigma), \ k \in \{0, 1\}, \ \Sigma = \begin{pmatrix} 1 & c & c & 0 & 0 \\ c & 1 & 0 & 0 & 0 \\ c & 0 & 1 & c & 0 \\ 0 & 0 & c & 1 & c \\ 0 & 0 & 0 & c & 1 \end{pmatrix}, \ c = 0.5,$$

et la variable aléatoire de groupe $G_i \sim \mathcal{B}(p)$ est considérée comme non observée. Les moyennes de chaque groupe sont tirées aléatoirement $\mu_k \in \mathbb{R}^d \sim \mathcal{N}(0, I)$. La distribution retenue pour les expériences de la section 3 est $\mu_1 \approx [0.55, -1.46, -1.29, -1.51, 1.57]$, $\mu_2 \approx [-0.98, 0.48, 0.63, 0.72, 0.91]$, ainsi $||\mu_1 - \mu_2|| \approx 3.90$, et la matrice de variance-covariance a pour conditionnement $\kappa(\Sigma) \approx 13.93$.

**Survie** On construit un jeu de données sans l'hypothèse HPL auquel on applique différents mécanismes de données manquantes. Pour simuler une situation où l'hypothèse HPL n'est pas satisfaite, on propose la fonction d'interaction $f(x) = x_1x_2 - x_1x_3 + 2x_1x_4$. Le temps de survie $T_i$ de l'individu $i$ est généré à partir d'une loi de Weibull selon $T_i \sim \mathcal{W}(\alpha) \cdot \exp(f(X_i)) \cdot \lambda$. Les paramètres de forme et d'échelle choisis sont respectivement $\alpha = 2$ et $\lambda = 100$. Pour simuler une censure administrative, on génère un temps de censure $C_i$ selon une loi uniforme entre 30 et 150. Le temps de censure est donc indépendant des covariables et du temps de survie, mais la censure ($\delta_i = 0$) est plus probable pour des temps de survie plus élevés. Ce cas est souvent rencontré en pratique lors d'une étude médicale, qui plus si elle n'est pas terminée. Plus de détails sur la distribution des données simulées sont visibles dans la fig. 1 ci-contre.
<figure><img src="image_3.png" /><figcaption>Figure 1: Courbe de Kaplan-Meier des données censurées, selon la variable G.</figcaption></figure>

**Données manquantes** On considère 2 mécanismes de données manquantes : soit les données sont MCAR, selon un tirage uniforme avec une probabilité que la donnée soit manquante de $p$, soit elles sont MNAR selon un mécanisme de self Masking : pour chaque covariable $X^j \in \mathbb{R}^n$, $j = 1, \dots, d$, on calcule sa moyenne empirique $\hat{X}^j$ et son écart-type $\hat{\sigma}(X^j)$, et on considère que $X_i^j$ est manquant si $|X_i^j - \hat{X}^j| > \tau \cdot \hat{\sigma}(X^j)$ avec $\tau > 0$. Dans les résultats présentés en section 3, nous avons choisi $p \in \{0.4, 0.6, 0.8\}$ et $\tau \in \{0.62, 0.82, 1.03\}$ pour obtenir un taux de données manquantes d'environ (respectivement) 40, 60, et 80 %.

## 2.2 Algorithmes et métriques

Nous avons choisi comme algorithmes de référence le modèle de Cox avec l'estimateur de Breslow-Aalen et les *Random Survival Forests* [Ish+08] (RSF), auxquels s'ajoutent 2 modèles basés sur les réseaux de neurones, un continu et un discret, respectivement DeepSurv et DeepHit. Pour gérer les données manquantes, les méthodes classiques considérées ici sont : l'imputation simple par la médiane, l'imputation multiple au moyen d'une régression linéaire bayésienne et l'imputation par la méthode des K plus proches voisins (KNN), auxquelles s'ajoute NeuMiss pour les 2 modèles de RN. Le détail des implémentations choisies pour chaque algorithme et méthode d'imputation et leurs hyperparamètres est donné en appendix A.

**Architecture et hyperparamètres des RN** L'entrainement des réseaux de neurones impliquent de nombreux hyperparamètres : nombre de *batches*, *epochs*, architecture du réseau, *learning rate*, ... auxquels s'ajoutent des techniques avancées d'entrainement comme
le dropout et batch normalization. Nous avons utilisé la configuration par défaut du modèle pycox : le réseau de neurones est constitué de 2 couches cachées avec 32 paramètres et la fonction d'activation non linéaire utilisée est ReLU. Pour NeuMiss, la profondeur a été fixée à 30.

### Choix de la métrique

L'index *C* de Harrell et al. [HC] est une extension directe de la métrique ROC-AUC aux données censurées. C'est sans doute la métrique la plus populaire pour le problème de la survie. Plusieurs extensions du *C* ont été proposées dans la littérature biomédicale. Par exemple, [ABB05] estiment la probabilité de concordance dépendante du temps par le *C*<sup>td</sup>. Dans cette étude, nous nous sommes limités à l'inspection de *C* parce que le modèle des données ne dépend pas du temps. Le *C*-index est l'estimateur de $\mathbb{P}(T_i < T_j | f(X_i) > f(X_j), T_i > \min(C_i, C_j))$, aussi il dépend de la censure. Des estimateurs de la probabilité de concordance indépendante de la censure existent [GH05; Uno+11]. La comparaison de ces différentes métriques est en dehors du champ de la présente étude.

### Validation croisée

Les modèles ont été entrainés et évalués en validation croisée. Les données sont partitionnées en 5 sous-ensembles et 4 d'entre eux forment le *train* set, le dernier le *test* set. Pour l'entrainement des modèles DeepSurv et DeepHit, 20% des données du jeu de train ont été utilisées pour former un set de *validation* afin de contrôler l'overfitting, notamment pour obtenir un critère d'arrêt (early stopping). De la même manière, l'imputation des données manquantes dans les jeux de test et de validation est basée seulement sur les données du jeu d'entrainement, afin d'éviter toute fuite (data leakage).

## 3 Résultats

Les expériences ont été réalisées avec *n* = 500 individus. Les résultats sont présentés dans la fig. 2. Une méthode est considérée comme meilleure qu'une autre lorsque la valeur médiane de la métrique est meilleure, et, dans une certaine limite, ses déviations (quantiles) ne sont pas beaucoup plus grandes.

Lorsqu'il n'y a pas de données manquantes, les performances observées suggèrent d'ordonner les algorithmes, du meilleur au moins bon : DeepSurv, RSF, Cox et DeepHit. Cela est attendu puisque DeepSurv est en théorie capable d'approcher le modèle non-linéaire donné par $f(x)$. La variabilité du *C*-index en validation croisée est néanmoins plus importante pour DeepSurv que pour RSF – le moins variable – et le modèle de Cox, mais la valeur minimum de *C* réalisée n'est jamais moins bonne que celle de Cox. Nous ne sommes pas parvenus à atteindre des performances équivalentes aux autres algorithmes avec DeepHit, peut-être en raison de mauvais hyperparamètres, probablement en raison du faible nombre d'échantillons par rapport aux prérequis d'un modèle discret [KBS19].

Dans le cas MCAR (fig. 2a), lorsque $p = 0.4$, la meilleure méthode d'imputation est KNN et la moins bonne l'imputation simple. Lorsque $p \in \{0.6, 0.8\}$ aucune méthode d'imputation ne se démarque, l'imputation simple restant en deçà pour le modèle de Cox. NeuMiss est
compétitif avec l'imputation multiple ou par KNN lorsque $p \in \{0.4, 0.6\}$, mais pas lorsque $p = 0.8$.

Dans le cas MNAR (*self Masking*, fig. 2b), les combinaisons NeuMiss + DeepSurv ou RSF avec imputation simple donnent les meilleurs résultats lorsque $\tau = 1.03$ et $\tau = 0.82$ auxquelles s'ajoutent l'imputation simple et par KNN pour DeepSurv dans ce dernier cas. Lorsque $\tau = 0.62$ les résultats sont très variables, mais l'imputation simple reste performante. Une explication est l'absence de l'utilisation du masque (colonnes additionnelles avec l'information binaire de la donnée manquante) dans les modèles étudiés. Il a été montré que le masque améliore la performance en classification [Per+22], et ici la valeur constante imputée ou NeuMiss apportent une information similaire à l'algorithme d'apprentissage. La non-inclusion du masque et le caractère MNAR des données manquantes expliquent aussi pourquoi l'imputation multiple présente des performances médiocres.

# 4 Discussion

On rappelle que la comparaison des modèles n'est établie que dans la limite (i) du jeu de données considéré (ii) des hyper-paramètres choisis. On peut imaginer étendre ces résultats en faisant varier certains paramètres de l'étude : le nombre d'observations, *n*, la dimension du problème (nombre de variables *d*), le modèle de données (tirages pour *G*, *μ*, *Σ* ou autre méthode de construction de clusters [QJ06]), le ratio de données manquantes ou encore leur distribution.

Les résultats obtenus ici vont dans le sens de résultats récents en classification avec données manquantes [Jos+19; Per+22], d'autre part confirment – dans un cas plus proche de la réalité médicale – la supériorité de DeepSurv lorsque la fonction d'interaction avec les covariables dans la fonction de hasard n'est pas log-linéaire. DeepSurv présente d'autres avantages applicatifs puisqu'il modélise les interactions entre covariables et permet de quantifier l'effet d'un traitement dans une population [Kat+18].

L'intérêt des données simulées vis-à-vis des données rencontrées en situation réelle est double : nous disposons à la fois des données complètes – on peut ainsi contrôler le mécanisme de données manquantes, comme il a été fait dans cette étude – et du vrai modèle (covariables, survie, censure), ce qui peut donner lieu à l'utilisation de métriques originales pour l'entrainement. Dans des travaux futurs, nous aimerions exploiter cette approche pour étudier d'autres mécanismes de données manquantes en relation avec la survie et la censure. Par exemple, Yi et al. [Yi+20] étudie le cas où l'absence des données dépend du temps de survie. Une situation possible, lors de la collecte de données médicales, est que le praticien décide de ne pas réaliser un examen invasif, compte tenu de l'état de santé du patient. L'état de santé est une appréciation du praticien qui peut être considérée comme une variable non observée, de laquelle dépendent à la fois le temps de survie et le mécanisme de données manquantes.

Enfin, nous prévoyons d'étendre ce genre d'étude au cas des données longitudinales. Cela suggère notamment de prendre en compte l'approche dite *survival stacking* [CZT21] qui consiste à transformer le jeu de données pour obtenir un problème de classification à partir d'observations de survie.
<figure><img src="image_4.png" /><figcaption>Figure 2: Résultats en validation croisée avec une partition en 5 sous-ensembles, $n = 500$ et $d = 5$. La performance est évaluée par le C-index (la valeur 0.5 indiquant le score d'une prédiction aléatoire). Le point indique la valeur médiane et les barres les valeurs extrêmes. Chaque jeu de données est divisé en 5 sous-ensembles. Les couleurs indiquent la méthode d'imputation utilisée : sans données manquantes ( ), simple ( ), multiple ( ), KNN ( ) ou encore NeuMiss ( ).</figcaption></figure>
References

[ABB05] Laura Antolini, Patrizia Boracchi, and Elia Biganzoli. "A Time-Dependent Discrimination Index for Survival Data". In: *Statist. Med.* 24.24 (Dec. 2005), pp. 3927-3944.

[Ben+21] Sébastien Benzekry et al. "Machine Learning for Prediction of Immunotherapy Efficacy in Non-Small Cell Lung Cancer from Simple Clinical and Biological Data". In: *Cancers* 13.24 (Dec. 2021), p. 6210.

[CBB20] Joseph Ciccolini, Sébastien Benzekry, and Fabrice Barlesi. "Deciphering the Response and Resistance to Immune-Checkpoint Inhibitors in Lung Cancer with Artificial Intelligence-Based Analysis: When PIONeeR Meets QUANTIC". In: *Br J Cancer* 123.3 (Aug. 2020), pp. 337-338.

[CL13] Michael J. Crowther and Paul C. Lambert. "Simulating Biologically Plausible Complex Survival Data". In: *Statist. Med.* 32.23 (Oct. 2013), pp. 4118-4134.

[Cox72] D. R. Cox. "Regression Models and Life-Tables". In: *Journal of the Royal Statistical Society. Series B (Methodological)* 34.2 (1972), pp. 187-220. JSTOR: 2985181.

[CZT21] Erin Craig, Chenyang Zhong, and Robert Tibshirani. *Survival Stacking: Casting Survival Analysis as a Classification Problem*. July 2021. arXiv: arXiv:2107.13480.

[GH05] Mithat Gönen and Glenn Heller. "Concordance Probability and Discriminatory Power in Proportional Hazards Regression". In: *Biometrika* 92.4 (Dec. 2005), pp. 965-970.

[HC] Frank E Harrell and Robert M Califf. "Evaluating the Yield of Medical Tests". In: ().

[Ish+08] Hemant Ishwaran et al. "Random Survival Forests". In: *Ann. Appl. Stat.* 2.3 (Sept. 2008).

[Jos+19] Julie Josse et al. *On the Consistency of Supervised Learning with Missing Values*. 2019. arXiv: arXiv:1902.06931.

[Kat+18] Jared L. Katzman et al. "DeepSurv: Personalized Treatment Recommender System Using a Cox Proportional Hazards Deep Neural Network". In: *BMC Med Res Methodol* 18.1 (Dec. 2018), p. 24.

[KB19] Håvard Kvamme and Ørnulf Borgan. *Continuous and Discrete-Time Survival Prediction with Neural Networks*. Oct. 2019. arXiv: arXiv:1910.06724.

[KBS19] Håvard Kvamme, Ørnulf Borgan, and Ida Scheel. *Time-to-Event Prediction with Neural Networks and Cox Regression*. Sept. 2019. arXiv: arXiv:1907.00825.

[Lee+18] Changhee Lee et al. "DeepHit: A Deep Learning Approach to Survival Analysis With Competing Risks". In: *AAAI* 32.1 (Apr. 2018).

[LM+21a] Marine Le Morvan et al. "NeuMiss Networks: Differentiable Programming for Supervised Learning with Missing Values". In: (2021).
[LM+21b] Marine Le Morvan et al. *What's a Good Imputation to Predict with Missing Values?* Nov. 2021. arXiv: arXiv:2106.00311.

[Ped+] Fabian Pedregosa et al. “Scikit-Learn: Machine Learning in Python”. In: *MA-CHINE LEARNING IN PYTHON* ( ).

[Per+22] Alexandre Perez-Lebel et al. “Benchmarking Missing-Values Approaches for Predictive Models on Health Databases”. In: *GigaScience* 11 (Apr. 2022), giac013.

[Pöl] Sebastian Pölsterl. “Scikit-Survival: A Library for Time-to-Event Analysis Built on Top of Scikit-Learn”. In: ( ).

[QJ06] Weiliang Qiu and Harry Joe. “Generation of Random Clusters with Specified Degree of Separation”. In: *Journal of Classification* 23.2 (Sept. 2006), pp. 315–334.

[Uno+11] Hajime Uno et al. “On the C-statistics for Evaluating Overall Adequacy of Risk Prediction Procedures with Censored Survival Data”. In: *Statist. Med.* 30.10 (May 2011), pp. 1105–1117.

[Yi+20] Yanyao Yi et al. “Cox Regression with Survival-time-dependent Missing Covariate Values”. In: *Biometric* 76.2 (June 2020), pp. 460–471.
# A Implémentation et hyperparamètres

Un des objectifs secondaires de cet article est de présenter une vue sur les différentes librairies existantes en Python pour traiter le problème d'apprentissage de la survie avec données manquantes.<fnref n="2" />

Le modèle de Cox est implémenté dans le package lifelines, l'algorithme RSF dans scikit-survival, et les algorithmes basés sur les RN, DeepSurv et DeepHit, dans la librairie pycox. Un code de recherche pour le module NeuMiss est accessible dans en ligne via le répertoire neumiss. L'imputation des données et la validation croisée sont réalisées avec scikit-learn.

Les expériences réalisées dans le cadre de ce travail ont donné lieu à une librairie en Python sobrement nommée **survivalsim** (en développement) qui intègre les autres librairies mentionnées. La table 1 présente quelques un de ces paramètres clés, la librairie dont chacun est issu ainsi que la valeur choisie.

<table><caption>Table 1: Valeurs des hyperparamètres utilisés par les algorithmes comparés. La liste n'est pas exhaustive. Un paramètre qui n'est pas précisé conserve sa valeur par défaut.</caption><thead><tr><th>Module</th><th>Version</th><th>Méthode</th><th>Paramètre</th><th>Valeur</th></tr></thead><tbody><tr><td>lifelines</td><td>0.27.4</td><td>CoxPHFitter</td><td>penalty</td><td>0 puis 0.1 si LinAlgError</td></tr><tr><td rowspan="3">scikit-learn</td><td rowspan="3">1.1</td><td rowspan="2">IterativeImputer</td><td>max_iter<fnref n="3" /></td><td>30</td></tr><tr><td>tol</td><td>10<sup>-2</sup></td></tr><tr><td>KNNImputer</td><td>estimator</td><td>BayesianRidge</td></tr><tr><td></td><td></td><td></td><td>n_neighbors</td><td>10</td></tr><tr><td>neumiss</td><td>N/A</td><td>NeuMissBlock</td><td>neumiss_depth<fnref n="4" /></td><td>30</td></tr><tr><td rowspan="4">pycox</td><td rowspan="4">0.2.3</td><td rowspan="2">Model<fnref n="5" /></td><td>epochs</td><td>512</td></tr><tr><td>batch_size</td><td>56</td></tr><tr><td rowspan="2">LabTransDiscreteTime<fnref n="6" /></td><td>cuts</td><td>20</td></tr><tr><td>scheme</td><td>equidistant<fnref n="7" /></td></tr><tr><td rowspan="4">scikit-survival</td><td rowspan="4">0.19.0</td><td rowspan="2">RandomSurvivalForest</td><td>n_estimators</td><td>100</td></tr><tr><td>min Samples Split</td><td>10</td></tr><tr><td>min Samples Leaf</td><td>15</td></tr><tr><td>concordance_index_ipcw</td><td>tau</td><td>Temps max du train</td></tr></tbody></table>

<footnote n="2">²À cet effet, voire aussi l'annexe B de Craig et al. [CZT21] pour un inventaire des différentes méthodes d'apprentissage pour la survie, implémentées en R ou Python.</footnote>

<footnote n="3">³Donne lieu à `ConvergenceWarning`: [...] Early stopping criterion not reached.</footnote>

<footnote n="4">⁴Valeur par défaut.</footnote>

<footnote n="5">⁵Model vient en fait du package `torchtuples` associé à `pycox`.</footnote>

<footnote n="6">⁶Discrétisation des temps de survies sur une grille de points équidistants</footnote>

<footnote n="7">⁷La grille des temps peut être choisie de manière que les temps soient équidistants, ou selon les quantiles des temps de survie observés (méthode adaptative au problème).</footnote>