Vai al contenuto
~/massi

← ~/progetti

BioAge

Stimare l'età biologica da esami del sangue di routine

anno
2026
stato
● completato
contesto
Project work ITS Angelo Rizzoli, lavoro di gruppo, con difesa orale

9,66anni

MAE sul dataset clinico

9,64anni

MAE su NHANES 2017–2020

0,50R²

su 7.538 adulti NHANES

// problema

Quanto dicono gli esami del sangue di routine sull'invecchiamento di una persona? L'obiettivo era stimare un'età biologica confrontabile con l'età anagrafica, usando solo dati che un medico ha già a disposizione.

// pipeline

  1. 01 referti
  2. 02 pulizia
  3. 03 indici clinici
  4. 04 GroupKFold
  5. 05 ensemble
  6. 06 correzione bias

// approccio

  • Dataset di 15.718 referti di 12.050 pazienti (2021–2026), con 13 esami e 11 indici clinici derivati.
  • Validazione GroupKFold per paziente: le visite della stessa persona non finiscono mai sia in training sia in test.
  • Ensemble pesato di più regressori, con correzione del bias verso la media tipica delle stime di età.
  • Neutralizzazione dell'effetto stagionale sui marker (periodi festivi) per marginalizzazione sui 12 mesi.
  • Test di robustezza intra-soggetto con un regressore neurale (MLP), più sensibile degli alberi a piccoli spostamenti dei marker.

// scelta chiave

L'indice FIB-4 contiene l'età per costruzione. Con FIB-4 tra le feature l'errore scendeva a circa 1,7 anni: un risultato troppo bello, dovuto a leakage. L'ho escluso dal predittore: l'errore realistico torna attorno ai 10 anni e il modello finale arriva a 9,66.

Errore medio assoluto (anni): con e senza FIB-4
  • con FIB-4 (leakage)1,7
  • modello finale, senza FIB-49,66

// esito

Lo stesso errore su due popolazioni diverse indica che la metodologia regge e che il limite sta nell'informazione contenuta negli esami di routine, non nel modello.

// tecnologie

  • Python
  • pandas
  • scikit-learn
  • Jupyter
prossimo progettoAnomaly detection su sensori