Causal Discovery
Apprends comment la découverte causale met en évidence les relations de cause à effet, les DAG et les applications d'IA en utilisant des données visuelles, Ultralytics YOLO et des conseils pratiques.
La découverte causale est le processus d'apprentissage de relations de cause à effet possibles à partir de données, généralement représentées sous forme de graphe orienté. Contrairement à l'apprentissage automatique ordinaire, qui prédit principalement des résultats à partir de motifs, la découverte causale cherche à savoir quelles variables peuvent en influencer directement d'autres. Par exemple, elle peut examiner si la pluie augmente les embouteillages, si la congestion modifie la synchronisation des feux ou si les deux sont influencées par un troisième facteur.
Le résultat est une hypothèse concernant la structure causale, et non une preuve automatique. Sa fiabilité dépend de la qualité des données, de la connaissance du domaine, des hypothèses statistiques et de la validation par le biais d'expériences ou de nouveaux environnements.
Fonctionnement de la découverte causale#
Un système de découverte causale traite les variables mesurées comme des nœuds et leurs relations causales possibles comme des arêtes. Dans une arête orientée telle que X → Y, X est une cause directe candidate de Y par rapport aux autres variables incluses dans l'analyse. Ces relations sont souvent représentées par un réseau bayésien ou un graphe orienté acyclique (DAG), ce qui signifie que les flèches ne peuvent pas former de boucle orientée.
Les algorithmes apprennent généralement la structure de l'une de ces trois manières :
- La découverte basée sur des contraintes teste si les variables deviennent statistiquement indépendantes après conditionnement sur d'autres variables. La documentation sur la découverte basée sur des contraintes de PyWhy explique comment ces motifs d'indépendance peuvent restreindre les structures de graphes possibles.
- La découverte basée sur des scores compare des graphes candidats à l'aide d'un score qui équilibre l'ajustement et la complexité.
- La découverte basée sur des modèles fonctionnels suppose que les variables sont générées par le biais de relations mathématiques particulières et de motifs de bruit. Dans un cadre linéaire non gaussien acyclique, l'asymétrie dans les données peut aider à déterminer la direction des arêtes.
La documentation de causal-learn fournit des implémentations couvrant ces catégories. Cependant, les données observationnelles prennent souvent en charge plusieurs graphes équivalents plutôt qu'un seul DAG orienté de manière unique.
Concepts clés et termes associés#
La découverte causale doit être distinguée de plusieurs idées connexes :
- La corrélation mesure l'association statistique. Deux variables peuvent évoluer ensemble parce que l'une provoque l'autre, la causalité s'exerce en sens inverse ou une troisième variable affecte les deux. Les recommandations de Google sur la corrélation et la causalité soulignent pourquoi l'association prédictive seule est insuffisante.
- L'inférence causale estime l'effet d'une intervention définie, telle que la modification d'un paramètre de machine. La découverte propose le graphe ; l'inférence utilise un graphe supposé pour répondre à une question d'effet spécifique. Le guide de modélisation causale de DoWhy montre comment les graphes rendent ces hypothèses explicites.
- L'apprentissage de représentations causales recherche des variables latentes significatives à partir d'entrées complexes telles que des images. La découverte causale étudie généralement les relations entre des variables qui ont déjà été définies.
- L'intelligence artificielle explicable décrit pourquoi un modèle a produit une prédiction. L'importance des caractéristiques peut expliquer une prédiction sans montrer que la modification de la caractéristique modifierait le résultat dans le monde réel.
Les concepts importants liés aux graphes comprennent les facteurs de confusion, qui influencent à la fois une cause proposée et un résultat ; les médiateurs, qui transmettent un effet ; et les collisionneurs, qui sont influencés par deux autres variables. L'introduction de l'UCLA aux graphes orientés acycliques causaux explique pourquoi le conditionnement sur la mauvaise variable peut introduire un biais plutôt que de le supprimer.
Applications concrètes de l’IA et de la vision par ordinateur#
-
Inspection de fabrication : Un système de vision par ordinateur peut enregistrer le nombre de défauts, la vitesse du convoyeur, le type de matériau, la température et les événements de maintenance. La découverte causale peut suggérer si une vitesse plus élevée contribue directement aux défauts ou si les deux sont les conséquences d'une demande de production accrue. Cette distinction importe avant de ralentir la chaîne ou de modifier les programmes de maintenance.
-
Gestion du trafic : La détection d'objets et le suivi d'objets peuvent produire des comptes de véhicules, des longueurs de file d'attente et des trajectoires de mouvement. Combinée à la météo, aux incidents et aux paramètres des feux, la découverte causale peut aider à déterminer si la synchronisation des feux crée de longues files d'attente ou est ajustée en réponse à une congestion existante. Une telle directionalité est essentielle lors du choix d'une intervention politique.
Ces graphes peuvent orienter par la suite l'analyse contrefactuelle, y compris les simulations décrites dans la documentation sur les interventions de DoWhy.
Construction de variables à partir de données visuelles#
Les sorties de Ultralytics YOLO peuvent fournir des variables observées pour un ensemble de données causales plus vaste. Cet exemple utilise YOLO26 et le mode de prédiction pour extraire des comptes à partir d'une image :
from ultralytics import YOLO
# Run object detection
model = YOLO("yolo26n.pt")
results = model("https://ultralytics.com/images/bus.jpg")
# Convert detections into measurable variables
result = results[0]
detected_objects = [result.names[int(class_id)] for class_id in result.boxes.cls]
person_count = detected_objects.count("person")
total_objects = len(detected_objects)
print({"person_count": person_count, "total_objects": total_objects})L'exécution de ce flux de travail sur de nombreux horodatages, caméras ou conditions de fonctionnement crée des observations qui peuvent être combinées avec des variables contextuelles. Une annotation de données de haute qualité et une mesure cohérente sont essentielles car les erreurs de détection peuvent créer de fausses dépendances. Ultralytics Platform peut prendre en charge l'annotation de jeux de données dans le cloud, l'entraînement de modèles, le déploiement et la surveillance au sein de ce pipeline plus large.
Limites et conseils pratiques#
La découverte causale ne peut pas récupérer de manière fiable des variables qui n'ont jamais été mesurées. Les facteurs de confusion cachés, le biais des jeux de données, les effets de sélection, les petits échantillons et les erreurs de mesure peuvent tous produire des arêtes trompeuses.
Avant d'agir sur un graphe découvert :
- Ajoute des contraintes temporelles et physiques connues.
- Teste si les arêtes restent stables d'un site, d'une période et d'un sous-ensemble de données à l'autre.
- Compare le graphe avec la connaissance d'experts.
- Quantifie l'incertitude au lieu de traiter chaque arête comme certaine.
- Valide les relations importantes par le biais d'interventions contrôlées lorsque cela est possible.
Enfin, utilise l'estimation de l'effet causal — et non la seule découverte de graphe — pour mesurer la taille de l'intervention. La documentation sur les effets de traitement d'EconML illustre cette étape d'estimation distincte. La découverte causale est surtout précieuse comme moyen structuré de générer, de contester et d'affiner des hypothèses causales avant de prendre des décisions dans le monde réel.









