# MutualInfo - Diagrammfunktion

MutualInfo berechnet die gegenseitigen Informationen zwischen zwei Feldern oder zwischen aggregierten Werten in Aggr().

MutualInfo liefert die aggregierten gegenseitigen Informationen für zwei Datensätze. Das ermöglicht eine Haupttreiberanalyse zwischen einem Feld und einem potenziellen Treiber. „Gegenseitige Informationen“ misst die Beziehung zwischen den Datensätzen und wird für Wertepaare (x,y) aggregiert, die Diagrammdimensionen durchlaufen. „Gegenseitige Informationen“ werden zwischen 0 und 1 gemessen und können als Perzentilwert formatiert werden. MutualInfo ist durch Auswahlen oder durch eine Auswahlformel definiert.

MutualInfo ermöglicht verschiedene Arten von MI-Analysen:

* Paarweise MI: Berechnen Sie die MI zwischen einem Treiberfeld und einem Zielfeld.

* Treiberaufschlüsseling nach Wert: Die MI wird zwischen einzelnen Feldwerten im Treiber- und im Zielfeld berechnet.

* Feature-Auswahl: Verwenden Sie MutualInfo in einem Matrixdiagramm, um eine Matrix zu erstellen, in der alle Felder basierend auf MI miteinander verglichen werden.

MutualInfo gibt nicht unbedingt Kausalität zwischen Feldern an, die gegenseitige Informationen teilen. Zwei Felder können gegenseitige Informationen teilen, aber keine gleichwertigen Treiber füreinander sein. Wenn beispielsweise der Eisverkauf und die Außentemperaturen verglichen werden, zeigt MutualInfo die gegenseitigen Informationen zwischen den beiden. Dabei wird nicht angegeben, ob die Außentemperatur den Eisverkauf steigert, was wahrscheinlich ist, oder ob der Eisverkauf die Außentemperatur steigert, was unwahrscheinlich ist.

Wenn gegenseitige Informationen berechnet werden, wirken sich Verknüpfungen auf die Entsprechung zwischen und die Häufigkeit von Werten aus Feldern aus, die aus verschiedenen Tabellen stammen.

Zurückgegebene Werte für die gleichen Felder oder Auswahlen können leicht voneinander abweichen. Das liegt daran, dass jeder MutualInfo-Aufruf an einem zufällig ausgewählten Beispiel und mit der inhärenten Zufälligkeit des MutualInfo-Algorithmus durchgeführt wird.

MutualInfo kann auf die Funktion Aggr() angewendet werden.

Syntax:

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

Rückgabe Datentyp: numerisch

Argumente:

Argumente

| Argument | Beschreibung |
| --- | --- |
| field1, field2 | Die Formeln oder Felder, die die beiden Beispielsätze enthalten, für die die gegenseitigen Informationen gemessen werden. |
| datatype | Die im Ziel und im Treiber enthaltenen Datentypen,<br><br>1 oder 'dd' für diskret:diskret<br><br>2 oder 'cc' für kontinuierlich:kontinuierlich<br><br>3 oder 'cd' für kontinuierlich:diskret<br><br>4 oder 'dc' für diskret:kontinuierlich<br><br>Bei Datentypen wird nicht zwischen Groß- und Kleinschreibung unterschieden. |
| breakdownbyvalue | Ein statischer Wert, der einem Wert im Treiber entspricht. Wenn er bereitgestellt wird, wird der MI-Beitrag für diesen Wert berechnet. Sie können ValueList() oder ValueLoop() verwenden. Wenn Null() hinzugefügt wird, wird die gesamte MI für alle Werte im Treiber berechnet.<br><br>Für die Aufschlüsselung nach Wert ist es erforderlich, dass der Treiber diskrete Daten enthält. |
| samplesize | Die Anzahl der Werte, die vom Ziel und Treiber als Stichprobe genommen werden. Die Stichprobennahme erfolgt zufallsbasiert. MutualInfo erfordert eine Mindeststichprobengröße von 80. Standardmäßig nimmt MutualInfo nur eine Stichprobe von bis zu 10.000 Datenpaaren an, da MutualInfo ressourcenintensiv sein kann. Sie können eine größere Anzahl Datenpaare in der Stichprobengröße angeben. Reduzieren Sie im Fall einer Zeitüberschreitung von MutualInfo die Stichprobengröße. |
| SetExpression | Standardmäßig berechnet sich die Aggregierungsfunktion über alle wählbaren Werte. Alternativ können Sie die der Berechnung zugrunde liegenden Werte über die Auswahlformel bestimmen. |
| DISTINCT | Der Zusatz DISTINCT vor den Funktionsargumenten bewirkt, dass bei der Auswertung der Funktionsargumente entstehende Duplikate nicht berücksichtigt werden. |
| TOTAL | Der Zusatz TOTAL vor der Funktion bewirkt, dass die Berechnung über alle ausgewählten bzw. wählbaren Werte erfolgt, und nicht nur über diejenigen, die zu dem Wert der aktuellen Dimension zählen. Die Dimensionen des Diagramms werden also nicht berücksichtigt.<br><br>Mit TOTAL [&lt;fld {.fld}&gt;], wobei auf den Zusatz TOTAL eine Liste aus mindestens einem Feldnamen (d. h. einer Teilmenge der Diagrammdimensionsvariablen) folgt, erstellen Sie eine Teilmenge aller möglichen Werte.<br><br>[Definieren des Aggregierungsbereichs](https://help.qlik.com/de-DE/cloud-services/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/define-aggregation-scope.htm) |

Beschränkungen:

Textwerte, NULL-Werte und fehlende Werte in einem oder beiden Teilen eines Wertepaars führen dazu, dass das Wertepaar ignoriert wird.

Beispiele und Ergebnisse:

Fügen Sie Ihrer Anwendung das Beispielskript hinzu und führen Sie dieses aus. Fügen Sie einem Arbeitsblatt in Ihrer Anwendung dann die Felder hinzu, die in der Ergebnisspalte aufgeführt sind, um das Ergebnis anzuzeigen.

Funktionsbeispiele

| Beispiel | Ergebnis |
| --- | --- |
| `mutualinfo(Age, Salary, 1)` | Für eine Tabelle mit der Dimension `Employee name` und der Kennzahl `mutualinfo(Age, Salary, 1)` ist das Ergebnis 0.99820986. Das Ergebnis wird nur für Zellen mit Gesamtwerten angezeigt. |
| `mutualinfo(TOTAL Age, Salary, 1, null(), 81)` | Wenn Sie ein Filterfenster mit der Dimension Gender erstellen und darin Auswahlen vornehmen, wird bei Auswahl von Female 0.99805677 und bei Auswahl von Male 0.99847373 ausgegeben. Dies geschieht, weil die Auswahl alle Ergebnisse ausschließt, die zum jeweils anderen Wert für Gender gehören. |
| `mutualinfo(TOTAL Age, Gender, 1, ValueLoop(25,35))` | 0.68196996. Bei Auswahl eines beliebigen Werts in Gender ändert sich dies zu 0. |
| `mutualinfo({1} TOTAL Age, Salary, 1, null())` | 0.99820986. Dies ist unabhängig von Auswahlen. Die Auswahlformel {1} berücksichtigt keine Auswahlen und Dimensionen. |

In Beispielen verwendete Daten:

`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 '|');`

Zugehörige Lerninhalte:

* [Wie bewerte ich Beziehungen anhand von gegenseitigen Informationen?](https://help.qlik.com/lnk/How_evaluate_relationships_using_Mutual_information)

## Weitere Informationen

* [Wie bewerte ich Beziehungen anhand von gegenseitigen Informationen?](https://help.qlik.com/lnk/How_evaluate_relationships_using_Mutual_information)