À propos du projet

EconML est un package Python permettant d'estimer les effets hétérogènes du traitement à partir de données observationnelles via l'apprentissage automatique. Il a été conçu et développé dans le cadre du projet ALICE chez Microsoft Research, combinant des techniques de pointe en apprentissage automatique avec l'économétrie pour automatiser des problèmes complexes d'inférence causale. Objectif principal : mesurer l'effet causal d'une ou plusieurs variables de traitement T sur une variable de résultat Y, en contrôlant les caractéristiques X et W, et comment cet effet varie en fonction de X. Les méthodes fonctionnent avec des ensembles de données observationnelles (non expérimentales ou historiques). Pour une interprétation causale, certaines méthodes supposent l'absence de facteurs de confusion non observés, tandis que d'autres supposent l'accès à un instrument Z qui affecte le traitement T mais n'a pas d'effet direct sur le résultat Y. La plupart des méthodes fournissent des intervalles de confiance et des résultats d'inférence. Les objectifs de conception déclarés incluent l'implémentation de techniques récentes à l'intersection de l'économétrie et de l'apprentissage automatique, le maintien de la flexibilité dans la modélisation de l'hétérogénéité des effets (forêts aléatoires, boosting, lasso, réseaux de neurones) tout en préservant l'interprétation causale et en offrant souvent des intervalles de confiance valides, l'utilisation d'une API unifiée, et le développement sur des packages Python standard pour l'apprentissage automatique et l'analyse de données. Les familles d'estimation implémentées, comme indiqué dans le README, comprennent : - Double Machine Learning (LinearDML, SparseLinearDML, NonParamDML, CausalForestDML) avec des intervalles de confiance par OLS ou bootstrap. - Double Machine Learning dynamique pour les données de panel (DynamicDML). - Forêts aléatoires orthogonales (DMLOrthoForest, DROrthoForest). - Méta-apprenants : XLearner, SLearner, TLearner. - Apprenants doublement robustes : LinearDRLearner, SparseLinearDRLearner, ForestDRLearner. - Méthodes de variables instrumentales : OrthoIV, NonParamDMLIV, LinearDRIV, SparseLinearDRIV, ForestDRIV, LinearIntentToTreatDRIV. Le support d'interprétabilité comprend un interpréteur d'arbre du modèle CATE (SingleTreeCateInterpreter), un interpréteur de politique (SingleTreePolicyInterpreter) et des valeurs SHAP pour le modèle CATE. Sélection et validation de modèles : un RScorer pour la sélection de modèles causaux, le scoring et l'ensemble pondéré ; une sélection intégrée de modèles de première étape qui fonctionne avec les classes de sélection de modèles sklearn telles que LassoCV ou GridSearchCV, ou une liste de modèles candidats. Inférence : lorsqu'elle est activée, un objet InferenceResults fournit des valeurs p, des statistiques z, des erreurs standard et des intervalles de confiance ; une méthode summary() est disponible pour les modèles linéaires paramétriques CATE, ainsi que des résumés effect_inference au niveau de l'échantillon et de la population. Apprentissage de politiques : apprentissage direct de politiques à partir de données observationnelles à l'aide d'une méthode doublement robuste pour l'apprentissage de politiques hors ligne, prédisant un traitement recommandé. L'installation se fait via pip install econml à partir de PyPI ; l'installation à partir des sources est documentée pour les développeurs. Le projet maintient un historique de versions actif et une documentation sur pywhy.org/EconML, avec des instructions de test et de génération de documentation pour les contributeurs.