Autoencoder-Enabled Cox Regression for Metabolomics Survival Analysis

Predicting risk from thousands of lab values

The samples a clinic already collects carry thousands of metabolite measurements. This work tests whether they improve risk prediction in chronic kidney disease beyond the handful of markers in use today.

Period
2025–present
Role
Project lead
Stack
Python, PyTorch, scikit-survival, Cox models, Autoencoders, SHAP

Problem

Clinical risk models for chronic kidney disease run on a few routine markers: age, sex, kidney function, protein in the urine. Metabolomics panels measure thousands of small molecules from the same plasma and urine samples, and the hope is that they carry information those routine markers miss. Showing that they do is harder than it looks. With far more features than events and a model flexible enough to memorize its own training rows, an evaluation that looks careful can still report a gain that is pure optimism.

Approach

An autoencoder compresses metabolite profiles into a small latent space. A Cox proportional hazards model is then fitted on those latent dimensions together with the clinical covariates. Reconstruction, Cox, and latent-orthogonality objectives pull against each other during training, so the balance between them is learned rather than fixed by hand. The evaluation is the larger half of the work. A three-way split keeps the Cox model from ever being fitted on latents from the autoencoder’s own training rows. Cross-fitting repeats that across folds, and the selection protocol was written and committed before the run rather than after seeing the numbers.

Outcome

In the cohort study the latent block adds a small but consistent improvement over the clinical baseline on all three endpoints: all-cause mortality, end-stage renal disease, and acute kidney injury. The added value replicates in every repeat.