Alteryx Designer Desktop Discussions

Find answers, ask questions, and share expertise about Alteryx Designer Desktop and Intelligence Suite.

Macro Chow-Liu

Gottfried
7 - Meteor

Bonjour à tous,

Je propose une macro pour calculer l’arbre Chow-Liu à partir de données catégorielles. Vous pouvez l’utiliser avec d’autres types de données à condition d’abord de transformer les champs non-catégoriels, notamment avec l’outil Ensemble (Tile tool) de Alteryx pour les champs numériques.

 

L’intérêt d’un arbre de Chow-Liu est de mettre en exergue les principales dépendances entre variables (champs catégoriels). Vous pouvez remplacer le terme « dépendance » par « corrélation » ou « information mutuelle » ou encore « transinformation ». Les dépendances ne seront pas orientées et ne préciseront donc pas la direction des éventuelles relations causales à l’œuvre entre les variables (mais Judea Pearl a démontré qu’on ne peut pas inférer les structures causales à partir des seules données observationnelles). La méthode élimine les dépendances statistiques les plus faibles jusqu’à obtenir une structure en arbre maximisant l’entropie : structure en arbre signifie sans boucle i.e. dans laquelle un unique chemin mène toujours d’un nœud (d’une variable) à un autre. Le modèle obtenu est bien sûr en général approximatif mais très simple à interpréter et, dans la plupart des cas, pertinent.

 

Vous pouvez utiliser un arbre de Chow-Liu…

  • pour une vue d’ensemble de vos données et des dépendances entre variables ;
  • avant d’engager une analyse prédictive pour isoler les variables d’influence les plus pertinentes ;
  • comme point de départ pour construire un réseau bayésien ;
  • pour envisager un modèle causal (par ex. un réseau bayésien causal) en orientant les arcs.

 

Amusez-vous bien avec cette macro. Au cas où elle se révèle utile, n’hésitez pas à donner du feedback et à raconter sur quels types de données vous l’avez déployée.

Gottfried

 

Détails techniques sur le workflow

 

https://en.wikipedia.org/wiki/Chow-Liu_tree

 

Les principales étapes de la macro sont les suivantes :

  • Acquisition des données et préparation (notamment la suppression des champs à valeur unique).
  • Calcul de la transinformation entre toutes les paires de variables (champs catégoriels).
  • Application de l’algorithme « minimum-weight spanning tree (MST) » pondéré avec la transinformation (en valeur négative).

J’ai utilisé l’algorithme MST écrit en R publié sur CRAN (Comprehensive R Archive Network) que j’ai adapté dans l’outil R d’Alteryx.

https://rdrr.io/cran/edmcr/src/R/mst.R

 

Vous pouvez également utiliser la belle macro en « pur Alteryx » conçue par @StephaneP  (Stéphane Portier) à partir du fameux algorithme de Prim.

Prism s algorythmv3.yxzp

https://en.wikipedia.org/wiki/Prim%27s_algorithm

0 REPLIES 0
Labels