[PYTHON] Raisonnement causal utilisant l'apprentissage automatique (organisation des méthodes de raisonnement causal)

Raisonnement causal utilisant l'apprentissage automatique

Compréhension approximative et mémorisation du moment où utiliser le raisonnement causal à l'aide de méthodes d'apprentissage automatique qui ont été populaires ces dernières années (mémoire) En gros, un résumé schématique de la méthode actuelle de raisonnement causal

introduction

Le raisonnement causal est une série de méthodes statistiques visant à répondre à la cause du résultat. En général, les approches statistiques telles que l'analyse de régression se concentrent sur la quantification de la relation entre les changements de X et les changements de Y. D'autre part, le raisonnement causal statistique met l'accent sur la détermination si un changement de X entraîne un changement de Y et la quantification de cette relation causale. Le domaine de la fusion de l'apprentissage automatique et du raisonnement causal, devenu populaire ces dernières années, est utilisé pour estimer les effets causaux dans des conditions spécifiques. Cette fois, nous avons résumé grossièrement l'utilisation appropriée des méthodes existantes d'inférence causale et des méthodes utilisant l'apprentissage automatique.

Naturellement, nous analyserons les données dont nous disposons après avoir clarifié "quoi et pourquoi voulez-vous savoir?" Sinon, je ne vois pas les tactiques à adopter.

Tactiques générales pour le raisonnement causal

Diverses politiques sont prises pour le raisonnement causal. Par conséquent, diverses méthodes peuvent être envisagées pour effectuer une inférence causale à partir des données dont on dispose. Premièrement, pour comprendre structurellement le raisonnement causal, nous le divisons en deux catégories. Cette fois, nous identifierons si les données dont nous disposons sont des données expérimentales ou des données d'observation, et examinerons les approches typiques pour chacune.

politique

  1. Identification des données expérimentales ou des données d'observation
  2. Raisonnement causal avec des données expérimentales
  3. Raisonnement causal avec des données observées

Raisonnement causal avec des données expérimentales

Dans le cas des données expérimentales, l'estimation est plus claire et plus facile à comprendre que les données observées car l'expérience est conçue pour vérifier l'effet causal. Dans de nombreux cas, l'analyse est réalisée de manière à s'approcher de la condition RCT (Randomized Controlled Trial). Cependant, dans l'estimation conçue de l'effet causal moyen pendant l'expérience, il peut être estimé en utilisant la méthode classique d'inférence causale statistique. Cependant, il y a des moments où vous souhaitez estimer non seulement l'effet causal moyen, mais également l'effet causal dans des circonstances et conditions spécifiques. Par conséquent, ces dernières années, cela a été rendu possible par un raisonnement causal qui entrelace les méthodes d'apprentissage automatique.

Les données expérimentales seront globalement divisées en quatre catégories.

Si les données dont vous disposez sont considérées comme des données expérimentales, considérez-les dans l'ordre du haut. Effectuez ensuite l'analyse souhaitée.


Différence de covariables entre intervention et non-intervention

Il s'agit d'un raisonnement causal général. Fondamentalement, on suppose que vous souhaitez estimer l'effet causal entre le groupe d'intervention et le groupe non-intervenant. À ce moment-là, les covariables autres que le traitement (cause) et la réponse (effet) diffèrent entre les groupes. Ensuite, l'effet correct ne peut pas être estimé. Par conséquent, cette covariable est ajustée pour qu'elle soit aussi égale que possible entre les groupes, puis l'estimation est effectuée. Les principales politiques sont DID, matching, IPW, etc.

→ DID, correspondance, IPW etc.


La non-intervention fait partie du groupe d'intervention

Même si l'intervention est attribuée au hasard en raison de l'estimation non biaisée de l'effet d'intervention dans l'étude expérimentale, cette intervention n'est pas toujours réalisée telle quelle (non-conformité). Si l'attribution des interventions est égale à l'intervention effectivement reçue, l'individu a adhéré à l'intervention assignée. En revanche, s'ils ne sont pas égaux, c'est une non-conformité. En d'autres termes, dans des conditions de non-conformité, le groupe d'intervention sera un mélange de différents groupes de groupes de conformité et de non-conformité. Par conséquent, il est nécessaire d'estimer l'effet causal moyen limité au groupe de conformité (LATE).

→ Variable de fonctionnement (IV)


Différents sous-groupes ont des effets différents au sein du groupe d'intervention

Même au sein du groupe d'intervention, chaque échantillon a une covariable différente. Ensuite, lors de la détermination de l'effet d'intervention pour chaque échantillon spécifique, il est nécessaire de calculer l'effet d'intervention personnalisé dans des conditions spécifiques au sein du groupe d'intervention. Raisonnement causal utilisant ce qu'on appelle l'apprentissage automatique.

→ HTE(Heterogeneous Treatment Effects)、Uplift Modeling → GRF (Generalized Random Forest) et ORF (Orthogonal Random Forest) estiment l'effet de l'intervention sans calculer le score de propension. → Meta-Learner estime l'effet de l'intervention à partir de la valeur estimée en utilisant le score de propension après modélisation et estimation de l'effet pour chaque groupe.


Compréhension structurelle des relations causales

Lorsqu'une variable en affecte une autre, elle peut agir directement ou indirectement par l'intermédiaire d'une variable intermédiaire. À ce stade, il est important d'analyser dans quelle mesure les effets directs et indirects affectent les variables. En comprenant non seulement la relation entre la cause et l'effet, mais également le mécanisme qui a causé le résultat, il devient possible d'analyser quelle variable de médiateur doit être modifiée pour obtenir un effet élevé.

→ Analyse de la médiation


Inférence causale avec les données d'observation

Dans le cas des données d'observation, beaucoup sont observées régulièrement. À ce moment-là, elles seront utilisées comme données de séries chronologiques. En revanche, s'il ne s'agit pas de données de séries chronologiques, des variables autres que les variables de cause et d'effet seront définies. À ce stade, une connaissance suffisante d'une situation spécifique est requise. Il est nécessaire de déterminer la structure causale sur cette base.

Les données d'observation sont divisées en cas comme suit.

Heterogeneous Treatment Effects (HTE) Les individus diffèrent non seulement par leurs caractéristiques de base, mais aussi par leur réponse à des traitements, interventions ou stimuli spécifiques. En particulier, les effets thérapeutiques peuvent varier systématiquement en fonction des tendances de traitement (Xie et al., 2012). Et en présence de cette hétérogénéité des effets, l'estimation de l'effet de traitement moyen (ETA), une approche classique d'inférence causale utilisant les effets principaux, n'a pas toujours fourni une estimation suffisante. Par conséquent, en considérant les effets hétérogènes du traitement (HTE) comme une estimation des effets de l'intervention qui prennent en compte les effets à un niveau personnel tel que le contexte, il est possible de faire une estimation qui prend en compte chacun de ces effets. À ce moment-là, l'inférence causale est exécutée à l'aide de l'apprentissage automatique.

Analyse avec HTE

Il existe des bibliothèques et des packages en R et Python. Les types typiques sont les suivants.

R ・ Grf ・ Soulèvement ・ Llearner

Python ・ EconML ・ CausalML ・ Pylift

référence

・ Une vue d'ensemble du raisonnement causal qui attire l'attention même au prix Nobel d'économie https://note.com/tak1/n/nf35b48502339 ・ Utilisation de l'inférence causale pour améliorer l'expérience utilisateur Uber https://eng.uber.com/causal-inference-at-uber/ ・ Résumé des recherches sur X-Learner https://dev.classmethod.jp/articles/causal-metalearner-xlearner/ ・ Introduction du package EconML (édition méta-apprenants) https://usaito.hatenablog.com/entry/2019/04/07/205756 ・ Yu Xie, Jennie E. Brand et Ben Jann. (2012) Estimating Heterogeneous Treatment Effects with Observational Data. Sociol Methodol 42 (1): 314-347.

Recommended Posts

Raisonnement causal utilisant l'apprentissage automatique (organisation des méthodes de raisonnement causal)
Divulgation complète des méthodes utilisées dans l'apprentissage automatique
[Recherche causale / inférence causale] Effectuer une recherche causale (SAM) à l'aide du Deep Learning
Essayez d'utiliser le bloc-notes Jupyter à partir d'Azure Machine Learning
Bases de l'apprentissage automatique (mémoire)
Importance des ensembles de données d'apprentissage automatique
[Apprentissage automatique] Sélection de fonctionnalités de variables catégorielles à l'aide du test du chi carré
Apprentissage automatique ③ Résumé de l'arbre de décision
Développement d'applications à l'aide d'Azure Machine Learning
[Apprentissage automatique Python] Recommandation d'utilisation de Spyder pour les débutants (à partir d'août 2020)
Algorithme d'apprentissage automatique (généralisation de la régression linéaire)
Prévision du cours des actions à l'aide de l'apprentissage automatique (scikit-learn)
[Apprentissage automatique] Classification des sujets LDA à l'aide de scikit-learn
[Apprentissage automatique] Prédiction FX à l'aide de l'arbre de décision
20 sélections recommandées en 2020 de livres d'introduction à l'apprentissage automatique
Algorithme d'apprentissage automatique (implémentation de la classification multi-classes)
[Apprentissage automatique] Apprentissage supervisé utilisant l'estimation de la densité du noyau
Prévision du cours des actions à l'aide de l'apprentissage automatique (édition de retour)
[Apprentissage automatique] Liste des packages fréquemment utilisés
[Apprentissage automatique] Analyse de régression à l'aide de scicit learn
[Super Introduction] Apprentissage automatique utilisant Python - De la construction d'environnement à l'implémentation de perceptron simple-
Apprentissage automatique: reconnaissance d'image de MNIST à l'aide de PCA et de Gaussian Native Bayes
J'ai essayé d'implémenter diverses méthodes d'apprentissage automatique (modèle de prédiction) en utilisant scicit-learn
Un mémorandum de méthode souvent utilisé dans l'apprentissage automatique utilisant scikit-learn (pour les débutants)
Mémo d'apprentissage automatique d'un ingénieur débutant Partie 1
Classification des images de guitare par apprentissage automatique Partie 1
Une histoire sur l'apprentissage automatique simple avec TensorFlow
Astuces de fourniture de données utilisant deque dans l'apprentissage automatique
Début de l'apprentissage automatique (matériel didactique / informations recommandés)
Apprentissage automatique du sport-Analyse de la J-League à titre d'exemple-②
Mémo d'étude Python & Machine Learning ⑤: Classification d'Ayame
Tournoi Numerai - Fusion de quants traditionnels et apprentissage automatique -
Mémo d'étude Python & Machine Learning ②: Introduction de la bibliothèque
[Apprentissage automatique] Apprentissage supervisé utilisant l'estimation de la densité du noyau Partie 2
Liste des liens que les débutants en apprentissage automatique apprennent
À propos du contenu de développement de l'apprentissage automatique (exemple)
Analyse de l'utilisation de l'espace partagé par l'apprentissage automatique
[Français] scikit-learn 0.18 Introduction de l'apprentissage automatique par le didacticiel scikit-learn
Mémo d'apprentissage automatique d'un ingénieur débutant Partie 2
Estimation raisonnable du prix de Mercari par apprentissage automatique
Classification des images de guitare par apprentissage automatique, partie 2
Touchons une partie de l'apprentissage automatique avec Python
Disposition des éléments auto-mentionnés liés à l'apprentissage automatique
[Apprentissage automatique] Extraire des mots similaires mécaniquement en utilisant WordNet
Calcul de la machine à vecteurs de support (SVM) (en utilisant cvxopt)
[Memo] Apprentissage automatique
Classification de l'apprentissage automatique
Exemple d'apprentissage automatique
Ce que j'ai appris sur l'IA / l'apprentissage automatique avec Python (1)
Points clés de «Machine learning avec Azure ML Studio»
[Balisage recommandé dans le machine learning # 2.5] Modification du script de scraping
Créez des projets d'apprentissage automatique à une vitesse explosive à l'aide de modèles
À propos du prétraitement des données des systèmes utilisant l'apprentissage automatique
Impressions d'avoir obtenu le nano-diplôme Udacity Machine Learning Engineer
Installation de TensorFlow, une bibliothèque d'apprentissage automatique de Google
À propos des tests dans la mise en œuvre de modèles d'apprentissage automatique
Prédire le sexe des utilisateurs de Twitter grâce à l'apprentissage automatique
Ce que j'ai appris sur l'IA / l'apprentissage automatique avec Python (3)