De nombreux experts de l'industrie remettent en question la fiabilité des algorithmes de prédiction communs lors de la prise de décisions basées sur les données. Les corrélations parasites, comme celle entre la consommation de chocolat et les lauréats du prix Nobel, mettent en évidence la distinction cruciale entre la corrélation et la causalité. Bien que la corrélation existe, elle n'implique pas automatiquement une relation causale. Comprendre les causes profondes et utiliser l'analyse des données pour un changement percutant est essentiel pour les entreprises, les grandes entreprises comme Microsoft et Amazon investissent massivement dans l'IA causale.
Ce tutoriel introduit des concepts de l'IA causaux fondamentaux à l'aide de la bibliothèque Dowhy de Python. Tout en différant de l'apprentissage automatique standard, une compréhension de base de l'analyse de régression est utile. Les cours "Introduction to Linear Modeling in Python" et "Machine Learning for Business" offrent des antécédents pertinents.
Fondamentaux de l'AI causaux
L'inférence causale nécessite une approche différente de l'analyse prédictive. «Aucune cause, sans causes» de Nancy Cartwright, souligne la nécessité d'hypothèses sur la structure causale pour obtenir des réponses causales; Une approche purement basée sur les données est insuffisante. Pour déterminer la causalité, des explications alternatives doivent être exclues, nécessitant des connaissances externes au-delà des données elle-même.
Considérez l'impact de la politique de travail à domicile (WFH) sur la productivité des employés. L'analyse initiale pourrait montrer une réalisation de tâches plus élevée pour les employés de la WFH, mais est-ce causal? D'autres facteurs, comme la personnalité des employés ou les situations familiales, pourraient influencer à la fois la préférence et la productivité du WFH, agissant comme des causes courantes.
Remarque: graphique créé par causalfusion.net
Les graphiques causaux représentent visuellement ces relations, ce qui rend les hypothèses explicites et permettant le raffinement. Ces hypothèses peuvent être fortes, mais la nature explicite des graphiques causaux améliore la crédibilité de l'analyse.
Dowhy dans python
La bibliothèque Dowhy de Microsoft (une partie de l'écosystème de Pywhy) est un outil leader pour l'analyse causale de Python. Nous simulerons des données pour illustrer les étapes d'inférence causale.
!pip install git+https://github.com/microsoft/dowhy.git import numpy as np import pandas as pd import dowhy from dowhy import CausalModel import dowhy.datasets import statsmodels.api as sm # Set seed for reproducibility np.random.seed(1) # Simulate data data = dowhy.datasets.linear_dataset( beta=1, num_common_causes=2, num_discrete_common_causes=1, num_instruments=1, num_samples=10000, treatment_is_binary=True) df = data['df'] # ... (rest of the DoWhy code remains the same) ...
Dowhy utilise des étiquettes comme indiqué dans le tableau 1 (le tableau d'origine reste inchangé). Le graphique causal est implicitement défini par les paramètres de données. Dowhy utilise le langage DOT pour représenter les graphiques.
digraph {v0->y;W0-> v0; W1-> v0;Z0-> v0;W0-> y; W1-> y;}
Un modèle causal est créé en combinant les données et le graphique:
model=CausalModel( data = df, treatment=data['treatment_name'], outcome=data['outcome_name'], graph=data['gml_graph'] )
Analyse causale et réduction des biais
Une régression linéaire simple montre un coefficient de pente, mais cela peut être biaisé en raison de causes communes. Le critère de porte dérobée de Dowhy aide à résoudre ce problème en contrôlant les variables influençant à la fois le traitement et les résultats (introversion et nombre d'enfants dans cet exemple).
!pip install git+https://github.com/microsoft/dowhy.git import numpy as np import pandas as pd import dowhy from dowhy import CausalModel import dowhy.datasets import statsmodels.api as sm # Set seed for reproducibility np.random.seed(1) # Simulate data data = dowhy.datasets.linear_dataset( beta=1, num_common_causes=2, num_discrete_common_causes=1, num_instruments=1, num_samples=10000, treatment_is_binary=True) df = data['df'] # ... (rest of the DoWhy code remains the same) ...
Dowhy fournit diverses méthodes d'estimation; La pondération de probabilité inverse est utilisée ici pour la généralité. L'estimation qui en résulte est proche de la vérité du sol, démontrant la réduction des biais.
Test de contrainte et robustesse
Les tests de réfutation de Dowhy aident à évaluer la fiabilité de l'hypothèse. L'ajout d'une cause commune non observée a un impact significatif sur la plage de l'estimation, soulignant l'influence des variables non observables.
Variables instrumentales
Les variables instrumentales (comme une fermeture du métro affectant WFH mais n'étant pas impactant directement la productivité) offrent une stratégie d'identification alternative. Dowhy identifie automatiquement les instruments appropriés, fournissant des estimations plus robustes, bien que potentiellement moins précises.
Conclusion
Dowhy simplifie l'IA causale, fournissant un pipeline complet. Après avoir maîtrisé les bases, explorez les techniques avancées et autres bibliothèques. L'inférence causale nécessite une expertise et une collaboration du domaine pour définir des modèles et des hypothèses appropriés. L'effort vaut la peine d'obtenir des réponses causales cruciales pour les décisions commerciales éclairées. Le cours "Machine Learning for Business" de DataCamp offre des opportunités d'apprentissage supplémentaires.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!