MutualInfo - fonction de graphique
MutualInfo calcule les informations mutuelles (MI) entre deux champs ou entre des valeurs agrégées dans Aggr().
MutualInfo renvoie les informations mutuelles agrégées pour deux ensembles de données. Cela permet l'analyse de pilote clé entre un champ et un pilote potentiel. La fonction Informations mutuelles mesure la relation établie entre les ensembles de données ; elle est agrégée pour les paires de valeurs (x,y) itérées sur les dimensions du graphique. La fonction Informations mutuelles est mesurée entre 0 et 1 et peut être formatée comme une valeur de centile. MutualInfo est défini par des sélections ou une expression d'ensemble.
MutualInfo permet différents types d'analyse MI :
-
Pair-wise MI : Calcule la valeur MI entre un champ pilote et un champ cible.
-
Driver breakdown by value : La valeur MI est calculée entre des valeurs de champ individuelles des champs pilote et cible.
-
Feature selection : Utilisez MutualInfo dans des bulles pour générer une matrice dans laquelle tous les champs sont comparés les uns aux autres en fonction de la valeur MI.
MutualInfo n'indique pas forcément la causalité entre les champs partageant des informations mutuelles. Deux champs peuvent partager des informations mutuelles sans être des pilotes égaux l'un pour l'autre. Par exemple, lors de la comparaison entre les ventes de crème glacée et la température extérieure, MutualInfo affichera les informations mutuelles entre les deux. Cela n'indiquera pas si c'est la température extérieure qui dirige les ventes de crème glacée, ce qui est probable, ou si ce sont les ventes de crème glacée qui dirigent la température extérieure, ce qui est peu probable.
Lors du calcul des informations mutuelles, les associations affectent la correspondance entre les valeurs des champs provenant de différentes tables et leur fréquence.
Les valeurs renvoyées pour les mêmes champs ou sélections peuvent légèrement varier. Cela est dû au fait que chaque appel MutualInfo agit sur un échantillon sélectionné de manière aléatoire et à la nature aléatoire inhérente de l'algorithme MutualInfo.
MutualInfo peut être appliqué à la fonction Aggr().
MutualInfo({SetExpression}] [DISTINCT] [TOTAL] field1, field2 , datatype [, breakdownbyvalue [, samplesize ]])
numérique
Argument | Description |
---|---|
field1, field2 | Expressions ou champs contenant les deux ensembles d'échantillons pour lesquels les informations mutuelles doivent être mesurées. |
datatype |
Types de données contenus dans la cible et le pilote, 1 ou 'dd' pour discret:discret 2 ou 'cc' pour continu:continu 3 ou 'cd' pour continu:discret 4 ou 'dc' pour discret:continu Les types de données ne sont pas sensibles à la casse. |
breakdownbyvalue |
Valeur statique correspondant à une valeur du pilote. Si cette valeur est fournie, le calcul calcule la contribution MI pour cette valeur. Vous pouvez utiliser ValueList() ou ValueLoop(). Si Null() est ajouté, le calcul calcule la valeur MI globale pour toutes les valeurs du pilote. Pour la répartition par valeur, le pilote doit contenir des données discrètes. |
samplesize |
Nombre de valeurs à échantillonner de la cible et du pilote. L'échantillonnage est aléatoire. MutualInfo nécessite une taille d'échantillon minimale de 80. Par défaut, les échantillons exclusivement MutualInfo contenant jusqu'à 10 000 paires de données tels que MutualInfo peuvent consommer beaucoup de ressources. Vous pouvez spécifier des nombres de paires de données supérieurs dans la taille d'échantillon. En cas d'expiration de MutualInfo, réduisez la taille de l'échantillon. |
SetExpression | Par défaut, la fonction d'agrégation couvre l'ensemble des enregistrements possibles définis par la sélection. Il est possible de définir un ensemble d'enregistrements alternatif à l'aide d'une expression d'analyse d'ensembles. |
DISTINCT | Si le terme DISTINCT précède les arguments de la fonction, les doublons résultant de l'évaluation des arguments de la fonction sont ignorés. |
TOTAL |
Si le terme TOTAL précède les arguments de la fonction, le calcul est effectué à partir de toutes les valeurs possibles au vu des sélections actives, et pas seulement à partir de celles qui sont associées à la valeur dimensionnelle active. Autrement dit, les dimensions du graphique ne sont pas prises en compte. En utilisant TOTAL [<fld {.fld}>], où le qualificateur TOTAL est suivi d'un ou de plusieurs noms constituant un sous-ensemble des variables de dimension du graphique, vous créez un sous-ensemble du nombre total de valeurs possibles. |
Les valeurs textuelles, les valeurs NULL et les valeurs manquantes dans une ou les deux paires de données sont ignorées.
Ajoutez l'exemple de script à votre application et exécutez-le. Pour afficher le résultat, ajoutez les champs répertoriés dans la colonne de résultats à une feuille de votre application.
Exemple | Résultat |
---|---|
mutualinfo(Age, Salary, 1) |
Pour une table dotée de la dimension |
mutualinfo(TOTAL Age, Salary, 1, null(), 81) |
Si vous créez un volet de filtre comportant la dimension Gender et que vous effectuez ensuite des sélections à partir de ce volet, vous obtenez le résultat 0.99805677 lorsque vous sélectionnez Female et le résultat 0.99847373 lorsque vous sélectionnez Male. Ceci s'explique par le fait que la sélection exclut tous les résultats qui ne font pas partie de l'autre valeur de Gender. |
mutualinfo(TOTAL Age, Gender, 1, ValueLoop(25,35)) |
0.68196996. La sélection de n'importe quelle valeur de Gender remplace cela par 0. |
mutualinfo({1} TOTAL Age, Salary, 1, null()) |
0.99820986. Cela est indépendant des sélections effectuées. L'expression d'ensemble {1} ignore toutes les sélections et toutes les dimensions. |
Données utilisées dans les exemples :
Salary:
LOAD * inline [
"Employee name"|Age|Gender|Salary
Aiden Charles|20|Male|25000
Ann Lindquist|69|Female|58000
Anna Johansen|37|Female|36000
Anna Karlsson|42|Female|23000
Antonio Garcia|20|Male|61000
Benjamin Smith|42|Male|27000
Bill Yang|49|Male|50000
Binh Protzmann|69|Male|21000
Bob Park|51|Male|54000
Brenda Davies|25|Male|32000
Celine Gagnon|48|Female|38000
Cezar Sandu|50|Male|46000
Charles Ingvar Jönsson|27|Male|58000
Charlotte Edberg|45|Female|56000
Cindy Lynn|69|Female|28000
Clark Wayne|63|Male|31000
Daroush Ferrara|31|Male|29000
David Cooper|37|Male|64000
David Leg|58|Male|57000
Eunice Goldblum|31|Female|32000
Freddy Halvorsen|25|Male|26000
Gauri Indu|36|Female|46000
George van Zaant|59|Male|47000
Glenn Brown|58|Male|40000
Harry Jones|38|Male|40000
Helen Brolin|52|Female|66000
Hiroshi Ito|24|Male|42000
Ian Underwood|40|Male|45000
Ingrid Hendrix|63|Female|27000
Ira Baumel|39|Female|39000
Jackie Kingsley|23|Female|28000
Jennica Williams|36|Female|48000
Jerry Tessel|31|Male|57000
Jim Bond|50|Male|58000
Joan Callins|60|Female|65000
Joan Cleaves|25|Female|61000
Joe Cheng|61|Male|41000
John Doe|36|Male|59000
John Lemon|43|Male|21000
Karen Helmkey|54|Female|25000
Karl Berger|38|Male|68000
Karl Straubaum|30|Male|40000
Kaya Alpan|32|Female|60000
Kenneth Finley|21|Male|25000
Leif Shine|63|Male|70000
Lennart Skoglund|63|Male|24000
Leona Korhonen|46|Female|50000
Lina André|50|Female|65000
Louis Presley|29|Male|36000
Luke Langston|50|Male|63000
Marcus Salvatori|31|Male|46000
Marie Simon|57|Female|23000
Mario Rossi|39|Male|62000
Markus Danzig|26|Male|48000
Michael Carlen|21|Male|45000
Michelle Tyson|44|Female|69000
Mike Ashkenaz|45|Male|68000
Miro Ito|40|Male|39000
Nina Mihn|62|Female|57000
Olivia Nguyen|35|Female|51000
Olivier Simenon|44|Male|31000
Östen Ärlig|68|Male|57000
Pamala Garcia|69|Female|29000
Paolo Romano|34|Male|45000
Pat Taylor|67|Female|69000
Paul Dupont|34|Male|38000
Peter Smith|56|Male|53000
Pierre Clouseau|21|Male|37000
Preben Jørgensen|35|Male|38000
Rey Jones|65|Female|20000
Ricardo Gucci|55|Male|65000
Richard Ranieri|30|Male|64000
Rob Carsson|46|Male|54000
Rolf Wesenlund|25|Male|51000
Ronaldo Costa|64|Male|39000
Sabrina Richards|57|Female|40000
Sato Hiromu|35|Male|21000
Sehoon Daw|57|Male|24000
Stefan Lind|67|Male|35000
Steve Cioazzi|58|Male|23000
Sunil Gupta|45|Male|40000
Sven Svensson|45|Male|55000
Tom Lindwall|46|Male|24000
Tomas Nilsson|27|Male|22000
Trinity Rizzo|52|Female|48000
Vanessa Lambert|54|Female|27000
] (delimiter is '|');