Accéder au contenu principal

MutualInfo - fonction de graphique

MutualInfo calculates the mutual information (MI) between two fields or between aggregated values in 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().

Syntax:  

MutualInfo({SetExpression}] [DISTINCT] [TOTAL] field1, field2 , datatype [, breakdownbyvalue [, samplesize ]])

Return data type: numérique

Arguments:  

Arguments
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.

Définition de l'étendue d'une agrégation

Limitations:  

Les valeurs textuelles, les valeurs NULL et les valeurs manquantes dans une ou les deux paires de données sont ignorées.

Examples and results:  

Ajoutez l'exemple de script à votre application et exécutez-le. Ajoutez ensuite les champs répertoriés dans la colonne de résultats à une feuille de votre application pour afficher le résultat.

Exemples de fonction
Exemple Résultat
mutualinfo(Age, Salary, 1)

Pour une table incluant la dimension Employee name et la mesure mutualinfo(Age, Salary, 1), le résultat correspond à 0.99820986. Le résultat s'affiche uniquement pour la cellule des totaux.

mutualinfo(TOTAL Age, Salary, 1, null(), 81)

0.99823109.

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|50Beat 5|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 '|');