Passa al contenuto principale

Interpretabilità e limiti del modello

Indice


1. Perche' l'interpretabilita' e' obbligatoria, non opzionale

In sanita' il modello produce una decisione che cambia il trattamento. Un alert di "alto rischio" attiva un follow-up. Senza spiegazione, il clinico non puo':

  • Validare la decisione (a volte il modello vede pattern che il clinico riconosce subito come falsi positivi).
  • Adattare l'intervento alle ragioni specifiche del rischio (es. focus sulla riconciliazione farmacologica vs sull'aderenza terapeutica).
  • Comunicare al paziente il motivo del follow-up.
  • Documentare la decisione nel fascicolo clinico (richiesto da regulation EU AI Act per "sistemi ad alto rischio").

Tre livelli di interpretabilita':

  1. Globale: cosa pesa di piu' nel modello complessivo?
  2. Locale: perche' questo paziente e' classificato a rischio?
  3. Controfattuale: cosa cambierebbe se questa feature fosse diversa?

2. Coefficienti della Logistic Regression (interpretabilita' globale)

La LogReg con feature standardizzate produce coefficienti βj\beta_j direttamente leggibili:

p^=σ(β0+jβjxj)\hat{p} = \sigma(\beta_0 + \sum_j \beta_j x_j)

dove ogni xjx_j ha media 0 e std 1.

Interpretazione: βj=0.40\beta_j = 0.40 significa che, a parita' delle altre feature, una std in piu' nella feature jj aumenta il log-odds di 0.40, ovvero moltiplica il rischio per e0.401.49e^{0.40} \approx 1.49 (49% in piu').

Esempio (output interpretability.logistic_regression_coefficients):

FeatureCoefInterpretation
prior_healthcare_use+0.45Pazienti con piu' visite/ricoveri pregressi: rischio molto piu' alto
n_med_changed+0.30Modifica della terapia diabetica: paziente fragile
time_in_hospital+0.18Permanenza prolungata: gravita' baseline maggiore
A1C_measured-0.12HbA1c misurata: paziente meglio gestito (ipotesi Strack 2014 confermata)
age=[20-30)-0.40Pazienti giovani: rischio molto piu' basso
discharge_to_home-0.25Dimissione a domicilio normale: prognosi migliore

Caveat: con OneHotEncoder ogni categoria diventa un coefficiente separato. La feature race=AfricanAmerican ha un suo β\beta, distinto da quello di race=Caucasian. Se un coefficiente ha segno problematico, e' una bandiera rossa per il fairness audit.

3. Feature importance di RandomForest

Il feature_importances_ di RF e' impurity-based (Mean Decrease Impurity, Breiman 2001):

importancej=ttreennodej(t)ΔGini(n)\text{importance}_j = \sum_{t \in \text{tree}} \sum_{n \in \text{node}_j(t)} \Delta\text{Gini}(n)

Cioe' la somma su tutti gli split che usano la feature jj del miglioramento di Gini.

Pro: veloce (O(numero di nodi)), nativo.

Contro nota: bias verso variabili continue ad alta cardinalita'. Esempio classico: l'ID paziente, se per errore non rimosso, otterrebbe importance altissima perche' permette infiniti split.

Soluzione piu' rigorosa: permutation importance (sklearn inspection.permutation_importance):

importancej=E[score(y^,y)score(y^πj,y)]\text{importance}_j = \mathbb{E}\big[\,\text{score}(\hat{y}, y) - \text{score}(\hat{y}_{\pi_j}, y)\,\big]

dove y^πj\hat{y}_{\pi_j} e' la predizione dopo aver permutato la feature jj (rompendone il legame con il target). Importance = quanto degrada la metrica permutando. Indipendente dal tipo di modello, no bias di cardinalita'.

4. SHAP (interpretabilita' locale)

SHAP (Lundberg & Lee 2017) attribuisce a ogni feature di una specifica predizione un contributo additivo:

f^(x)=ϕ0+jϕj(x)\hat{f}(\mathbf{x}) = \phi_0 + \sum_j \phi_j(\mathbf{x})

dove ϕ0\phi_0 e' il valore atteso del modello e ϕj(x)\phi_j(\mathbf{x}) e' lo "Shapley value" della feature jj per quel paziente.

Output:

  • "Per questo paziente, il rischio predetto e' 0.42. La feature prior_healthcare_use=12 contribuisce +0.18, age=[70-80) contribuisce +0.06, A1C_measured=No contribuisce +0.04, le altre feature contribuiscono complessivamente -0.05."

In interpretability.shap_summary. Dipendenza opzionale (pip install -e ".[advanced]").

Limiti pratici:

  • Costoso: O(N x trees x features) su RF. Per dataset grandi va campionato (max 200-500 righe).
  • I valori SHAP non sono probabilita': sono contributi additivi al log-odds (per LR) o all'output del modello.

5. Limiti del modello su questo dataset

5.1 Limiti dei dati

LimiteConseguenza
Periodo 1999-2008Pratiche cliniche obsolete (es. introduzione DPP-4 inhibitors post-2006). Modello da retrainare ogni 3-5 anni.
Codifica ICD-9Dal 2015 negli USA si usa ICD-10. La pipeline non e' direttamente trasferibile.
Manca socioeconomic statusPredittore forte e mancante: il modello ha un "soffitto" di performance.
Manca medication adherence post-dimissionePredittore causale fondamentale: non disponibile a tempo di predizione comunque.
Manca outpatient visit follow-upConfound: pazienti con miglior follow-up territoriale hanno meno readmission.

5.2 Limiti del modello

  • AUC-ROC tipico 0.60-0.67 in letteratura (Strack 2014, Rajkomar 2018, Pollard 2018). Non e' un fallimento del modello, e' un plateau strutturale del problema.
  • Calibrazione imperfetta: la LogReg e' meglio calibrata di RF, ma e' tarata sul training set. Eventi acuti post-dimissione (non inclusi nel modello) producono underconfidence sistematica.
  • No causalita': il modello e' associativo, non causale. L'inclusione di prior_inpatient non significa "ridurre i ricoveri pregressi riduce la readmission futura".

5.3 Implicazioni per il deployment

  • Periodicita' di retraining: ogni 6-12 mesi su nuovi dati.
  • Drift detection: monitor su distribuzione delle feature in input (KS-test mensile).
  • Ombra (shadow mode) prima del go-live: il modello gira ma le sue predizioni non vengono usate; si confrontano con le decisioni dei clinici per costruire il dataset di follow-up.
  • A/B test dell'intervento attivato dal modello (follow-up vs no follow-up sui pazienti predetti a rischio).
  • Logging delle predizioni in audit trail per ricostruire eventuali decisioni controverse.

6. Limiti dell'analisi degli errori

L'analisi dei falsi negativi (pazienti riammessi che il modello non ha intercettato) e' importante ma ha trappole:

  • I FN possono essere eterogenei: alcuni hanno feature simili ai TP (errori "casuali" al confine della soglia), altri sono fenotipi clinici che il modello non "vede" (es. pazienti con condizioni socio-economiche difficili, non rappresentate nel dataset).
  • Aggregare i FN in "ha le stesse caratteristiche" puo' generare interventi sbagliati. Un FN classico su Diabetes-130: paziente Asian, eta' [40-50), basso prior_healthcare_use. Il modello sottoconta quel fenotipo perche' nel dataset i pazienti Asian sono ~640 su 80.000.

Conclusione operativa: l'analisi degli errori va integrata con case review clinico sui pazienti specifici, non solo aggregata statisticamente.

7. Automation bias

Il rischio piu' insidioso del deployment: il clinico, dopo qualche mese, smette di pensare e si fida ciecamente dell'output del modello. Ogni paziente che il modello segnala riceve follow-up; ogni paziente non segnalato non lo riceve. La capacita' di override del clinico e' formalmente prevista ma nella pratica viene usata raramente.

Mitigazioni:

  1. Mostrare incertezza: probabilita' invece di label binaria, intervallo di confidenza se calibrato.
  2. Mostrare le feature contributing (top 3-5 SHAP/coefficienti). Costringe il clinico a guardare la spiegazione, non solo il numero.
  3. Audit periodico del rate di override (clinical override rate): se sotto soglia, attivare formazione.
  4. Comunicare i limiti: AUC-ROC 0.65 = accuratezza moderata. Non e' un oracolo.

8. Riferimenti

  • Lundberg, S. M. & Lee, S.-I. (2017). A Unified Approach to Interpreting Model Predictions. NeurIPS 30.
  • Breiman, L. (2001). Random Forests. Machine Learning 45(1) — Mean Decrease Impurity.
  • Rajkomar, A. et al. (2018). Scalable and accurate deep learning with electronic health records. NPJ Digital Medicine 1, 18.
  • Pollard, T. J. et al. (2018). The eICU Collaborative Research Database. Scientific Data 5.
  • Goddard, K., Roudsari, A., Wyatt, J. C. (2012). Automation bias: a systematic review of frequency, effect mediators, and mitigators. JAMIA 19(1).
  • EU AI Act (Regolamento (UE) 2024/1689), allegato III: i sistemi di IA per il triage medico sono "ad alto rischio".