Improving TabPFN's Synthetic Data Generation by Integrating Causal Structure

Questo articolo propone di migliorare la generazione di dati sintetici tabellari con TabPFN integrando la struttura causale tramite condizionamento basato su DAG e CPDAG, dimostrando che tale approccio riduce le correlazioni spurie e preserva meglio gli effetti causali rispetto al modello originale.

Davide Tugnoli, Andrea De Lorenzo, Marco Virgolin, Giovanni Cinà

Pubblicato 2026-03-12
📖 4 min di lettura☕ Lettura da pausa caffè

Each language version is independently generated for its own context, not a direct translation.

🎨 Il Cuoco, la Ricetta e il Caos: Come Rendere i Dati Sintetici "Veri"

Immagina di avere un cuoco robot (chiamiamolo TabPFN) che è diventato bravissimo a cucinare piatti complessi. Questo robot ha mangiato milioni di libri di cucina (dati sintetici) e sa creare piatti che sembrano perfetti: hanno il giusto sapore, la giusta consistenza e sembrano autentici.

Il problema? Questo robot è un po' testardo e sequenziale.
Quando deve preparare un pasto, non guarda l'intero menu e decide tutto insieme. Invece, prepara i piatti uno alla volta, seguendo l'ordine in cui glieli hai scritti sul foglio.

  • Se scrivi "Prima la pasta, poi il sugo", lui fa così.
  • Se scrivi "Prima il sugo, poi la pasta", lui fa così.

Il problema sorge quando l'ordine sul foglio non ha senso.
Immagina una ricetta dove il sugo deve essere fatto prima della pasta perché la pasta ci finisce dentro. Se il robot segue un ordine sbagliato (es. mette la pasta nel piatto e poi cerca di aggiungere il sugo che non esiste ancora), crea un pasticcio. Nel mondo dei dati, questo pasticcio si chiama correlazione spuria: il robot inventa relazioni che non esistono nella realtà, creando un "finto" che non funziona davvero.

🕵️‍♂️ Il Problema: "Chi è il Genitore di Chi?"

Nel mondo reale, le cose sono collegate da una causalità (un rapporto causa-effetto).

  • La pioggia fa bagnare l'erba.
  • L'erba bagnata non fa piovere.

Se il tuo robot cuoco (TabPFN) non sa questa regola, potrebbe pensare che l'erba bagnata causi la pioggia. Se usi questi dati per prendere decisioni (ad esempio, "dobbiamo comprare ombrelli perché l'erba è bagnata?"), potresti fare errori costosi.

Il paper di Davide Tugnoli e colleghi dice: "Fermati! Diamo al robot una mappa della causalità!".

💡 La Soluzione: La Mappa del Tesoro (DAG)

Gli autori hanno insegnato al robot a guardare una mappa prima di cucinare. Questa mappa è un grafo (un disegno con frecce) che dice chi è il "genitore" (la causa) e chi è il "figlio" (l'effetto).

Hanno provato due strategie:

  1. La Strategia "Genitore Prima" (DAG-aware):
    Se la mappa è perfetta, il robot segue rigorosamente le frecce. Prima prepara la causa (es. la pioggia), poi l'effetto (l'erba bagnata).

    • Risultato: Il piatto è perfetto. Le relazioni sono vere. Se usi questi dati per simulare un esperimento medico o finanziario, i risultati sono affidabili.
  2. La Strategia "Mappa Parziale" (CPDAG):
    Spesso non abbiamo la mappa completa. Abbiamo solo qualche freccia e qualche linea tratteggiata (non sappiamo se va da A a B o da B a A).

    • Risultato: Il robot usa le frecce che conosce e, dove non sa, procede con cautela. Funziona bene se la mappa parziale è abbastanza chiara, ma se la mappa è troppo confusa, il robot potrebbe ancora sbagliare.

🧪 Cosa hanno scoperto? (I Risultati)

Hanno fatto delle prove su "palestre" di dati (dataset) diversi, inclusi simulatori medici per il diabete. Ecco cosa è emerso:

  • L'ordine conta tutto: Se dai al robot i dati in ordine casuale, crea "allucinazioni" (relazioni false). Se gli dai i dati in ordine causale (anche senza la mappa completa), migliora già di molto.
  • La mappa è il superpotere: Quando il robot usa la mappa completa (DAG), i dati sintetici sono così fedeli alla realtà che riescono a preservare gli effetti dei trattamenti.
    • Esempio pratico: Immagina di voler testare un nuovo farmaco. Se usi dati sintetici fatti male, potresti pensare che il farmaco funzioni quando invece no (o viceversa). Con la nuova strategia, il robot non commette questo errore.
  • Non serve la perfezione: Anche con una mappa incompleta (ma con le parti giuste orientate), il robot fa un lavoro migliore rispetto a prima.

🎯 Perché è importante per te?

Immagina di essere un medico, un assicuratore o un ricercatore.

  • Privacy: Non puoi usare i dati reali dei pazienti (troppo rischioso).
  • Scarsità: A volte hai pochi dati reali per fare studi.
  • Soluzione: Usi i dati sintetici generati dal robot.

Se il robot non capisce la causalità, ti dà dati che sembrano veri ma che ti portano a decisioni sbagliate (es. approvare un farmaco inutile).
Con questo nuovo metodo, rendi il robot "consapevole" della logica del mondo. Non crea più correlazioni magiche, ma rispetta la catena di causa ed effetto.

In sintesi

È come se avessimo dato al nostro cuoco robot non solo gli ingredienti, ma anche il senso comune. Ora, invece di mescolare tutto a caso seguendo un ordine a caso, sa che prima si accende il fuoco, poi si mette la pentola, e solo dopo si versa l'acqua. Il risultato? Un pasto (o un dataset) che non solo sa di buono, ma è nutriente e sicuro per chi deve prenderlo.