Ultralytics YOLO27: Iscriviti alla lista d'attesa.
Licenza YOLO
Torna al glossario di Ultralytics

Causal Discovery

La scoperta causale ricava dai dati grafi di causa ed effetto. Come funzionano l'algoritmo PC e i suoi successori, quali ipotesi fanno e un esempio eseguibile.

La scoperta causale consiste nell'inferire dai dati quali variabili causano quali effetti, producendo un grafo diretto in cui una freccia da X a Y significa che X influenza direttamente Y. Il machine learning standard apprende associazioni sufficienti per la modellazione predittiva. La scoperta causale chiede quali di queste associazioni reggerebbero a un intervento, come cambiare l'impostazione di una macchina o il programma di un semaforo. Il risultato è un insieme di strutture causali candidate, spesso con alcuni archi non orientati, che esperti del dominio ed esperimenti perfezionano in seguito.

Quando è possibile apprendere una struttura causale#

I grafi causali sono di solito grafi aciclici diretti (DAG), la stessa struttura usata da una rete bayesiana, interpretata in termini causali: ogni freccia rappresenta un effetto diretto. Gli algoritmi di scoperta si basano su tre ipotesi standard. In base alla condizione di Markov causale, una volta note le cause dirette di una variabile, questa è indipendente da ogni variabile che non sia un suo effetto. La fedeltà afferma che ogni indipendenza nei dati deriva dalla struttura del grafo, non da effetti che si annullano casualmente. La sufficienza causale afferma che nessuna variabile non misurata causa due variabili misurate.

Anche se valgono tutte e tre le ipotesi, i dati osservazionali non sempre consentono di determinare la direzione dei legami. La catena X → Y → Z, la catena inversa X ← Y ← Z e la struttura a forcella X ← Y → Z implicano tutte lo stesso schema di indipendenza: X e Z diventano indipendenti una volta noto Y. Perciò, nessuna quantità di dati osservazionali permette di distinguerle. Il collider X → Y ← Z è diverso. X e Z sono indipendenti da soli, ma diventano dipendenti una volta noto Y: una caratteristica che determina la direzione di entrambe le frecce.

Gli algoritmi restituiscono quindi una classe di equivalenza di Markov: un grafo parzialmente diretto i cui archi orientati sono certi e i cui archi non orientati potrebbero puntare in una direzione o nell'altra. La stessa caratteristica spiega una classica fonte di distorsione del dataset: filtrare o correggere per un collider crea una dipendenza tra le sue cause che non esiste nella popolazione completa.

Algoritmi di scoperta#

Tre famiglie coprono la maggior parte dei metodi. Gli algoritmi basati su vincoli, come PC, dal nome di Peter Spirtes e Clark Glymour, che lo pubblicarono nel 1991, partono da un grafo non orientato completamente connesso, eliminano gli archi tra variabili che risultano condizionalmente indipendenti ai test e poi orientano i collider. FCI estende questo approccio ai casi con confondenti nascosti. Gli algoritmi basati su punteggio, come la ricerca di equivalenze greedy (GES), esplorano i grafi alla ricerca del punteggio migliore, per esempio il criterio informativo bayesiano; NOTEARS riformula l'assenza di cicli come vincolo differenziabile, consentendo di eseguire la ricerca come ottimizzazione continua con discesa del gradiente. I metodi funzionali come LiNGAM presuppongono relazioni lineari con rumore non gaussiano, il che rende identificabile la direzione di ogni arco, anche tra sole due variabili.

Le librerie per la scoperta causale accettano anche l'ordine temporale, vincoli fisici e conoscenze esperte come regole di fondo che vietano o richiedono archi specifici, restringendo la ricerca e orientando archi che i soli dati non consentono di orientare. La libreria open source causal-learn implementa tutte e tre le famiglie. Questo esempio genera dati a partire da un collider noto e lo recupera con PC:

import numpy as np
from causallearn.search.ConstraintBased.PC import pc

rng = np.random.default_rng(0)
n = 5000

# Verità di riferimento: pioggia ed evento allo stadio causano entrambi congestione
rain = rng.normal(size=n)
event = rng.normal(size=n)
congestion = rain + event + rng.normal(scale=0.5, size=n)

# PC verifica l'indipendenza condizionale per recuperare il grafo basandosi solo sui dati
data = np.column_stack([rain, event, congestion])
result = pc(data, alpha=0.05, node_names=["rain", "event", "congestion"], show_progress=False)
print(result.G)

L'output elenca due archi orientati, rain --> congestion ed event --> congestion. PC orienta entrambi perché pioggia ed evento sono indipendenti, ma diventano dipendenti una volta nota la congestione. Se la verità fosse stata una catena da pioggia a congestione a ritardi, gli archi sarebbero risultati non orientati.

Applicazioni della scoperta causale#

La biologia ha fornito uno dei primi risultati di riferimento. Nel 2005, Karen Sachs e colleghi hanno appreso una rete di segnalazione proteica tra 11 proteine e fosfolipidi a partire da misurazioni di singole cellule, recuperando la maggior parte delle connessioni note; gli autori hanno poi confermato in esperimenti di laboratorio una nuova connessione prevista. Nelle scienze climatiche, metodi per serie temporali come PCMCI, sviluppato da Jakob Runge e implementato nel pacchetto Tigramite, individuano legami causali tra variabili climatiche gestendo ritardi e autocorrelazione, un approccio naturale per l'analisi delle serie temporali. L'ecosistema PyWhy affianca gli strumenti di scoperta a DoWhy per il passaggio successivo: stimare l'entità di un effetto una volta fissato il grafo.

La visione artificiale può fornire le variabili. Il conteggio degli oggetti con Ultralytics YOLO26 conta i veicoli e i pedoni che attraversano una linea o una regione nei filmati del traffico; i conteggi registrati per intervallo temporale possono essere combinati con meteo, calendari degli eventi e temporizzazione dei semafori prima di eseguire un algoritmo di scoperta.

  • Apprendimento di rappresentazioni causali: apprende le variabili causali stesse a partire da input grezzi come i pixel, insieme al grafo che le collega. La scoperta causale parte da variabili già misurate.
  • AI spiegabile (XAI): spiega quali input hanno determinato la previsione di un modello, senza affermare che modificare un input cambierebbe il risultato nel mondo reale.
  • Feature engineering: seleziona e costruisce input che migliorano la previsione, incluse variabili solo correlate al target. Un grafo causale identifica le variabili la cui modifica sposterebbe il target.

Explore solutions

La visione artificiale nello sport

La visione artificiale nello sport

Scopri come Ultralytics YOLO alimenta la computer vision nello sport con il tracciamento di giocatori e palloni, l'analisi delle prestazioni, gli approfondimenti per gli allenatori e la riabilitazione degli atleti.
Scopri di più
Computer vision per immagini aeree

Computer vision per immagini aeree

Trasforma immagini da droni e riprese aeree in informazioni utili in tempo reale per l'agricoltura, l'acquacoltura, il monitoraggio ambientale, la conservazione e l'analisi geospaziale con Ultralytics YOLO.
Scopri di più
Computer vision nel settore aerospaziale

Computer vision nel settore aerospaziale

Porta la vision AI nel monitoraggio aereo con i modelli Ultralytics YOLO. Potenzia droni, flussi di lavoro aerospaziali, conservazione ambientale e settori geospaziali con soluzioni di computer vision.
Scopri di più
Visione artificiale nella sicurezza

Visione artificiale nella sicurezza

Proteggi ogni sito con i modelli Ultralytics YOLO. L'IA visiva alimenta il monitoraggio perimetrale, il rilevamento delle minacce, il riconoscimento delle targhe e la sicurezza sul lavoro.
Scopri di più
Visione artificiale nella robotica

Visione artificiale nella robotica

Dai più potenza alle macchine intelligenti con i modelli Ultralytics YOLO. Nell'ambito della robotica, l'IA visiva alimenta la navigazione autonoma, la percezione, il tracciamento degli oggetti e il controllo in tempo reale.
Scopri di più
Visione artificiale nella logistica

Visione artificiale nella logistica

Semplifica la logistica con i modelli Ultralytics YOLO. L'IA per la visione consente l'ispezione dei pacchi, la selezione, il tracciamento dei veicoli e il monitoraggio della sicurezza nei magazzini in tempo reale.
Scopri di più
Visione artificiale nel commercio al dettaglio

Visione artificiale nel commercio al dettaglio

Ripensa il commercio al dettaglio con i modelli Ultralytics YOLO. L'IA per la visione consente di tracciare le scorte, monitorare gli scaffali, gestire le code e ottenere informazioni più approfondite sui clienti.
Scopri di più
Visione artificiale in ambito sanitario

Visione artificiale in ambito sanitario

Crea soluzioni sanitarie con i modelli Ultralytics YOLO. In ambito sanitario, l'IA per la visione consente di elaborare più rapidamente le immagini mediche, migliorare la diagnostica e monitorare i pazienti.
Scopri di più
Computer vision nella produzione

Computer vision nella produzione

Ottimizza la produzione con i modelli Ultralytics YOLO. La visione basata sull'IA migliora il controllo qualità, il rilevamento dei difetti, la conformità ai requisiti sui DPI e l'automazione delle linee di assemblaggio.
Scopri di più
Computer vision nel settore automobilistico

Computer vision nel settore automobilistico

Applica la computer vision al settore automobilistico con i modelli Ultralytics YOLO. La visione basata sull'IA migliora la sicurezza stradale, i sistemi di assistenza alla guida e l'automazione dei veicoli, per strade più intelligenti.
Scopri di più
Visione artificiale in agricoltura

Visione artificiale in agricoltura

Porta l'IA visiva nell'agricoltura intelligente con i modelli Ultralytics YOLO. Gestisci il monitoraggio delle colture, il tracciamento del bestiame e l'agricoltura di precisione per ottenere raccolti più abbondanti e intelligenti.
Scopri di più

Costruiamo insieme il futuro dell'IA!

Inizia il tuo percorso verso il futuro del machine learning