MutualInfo - diagramfunctie
MutualInfo berekent de wederzijdse informatie tussen twee velden of tussen geaggregeerde waarden in Aggr().
MutualInfo maakt verschillende soorten MI-analyse mogelijk:
-
Paarsgewijze MI: Bereken de MI tussen een driverveld en een doelveld.
-
Uitsplitsing van driver op waarde: De MI wordt berekend tussen individuele veldwaarden in de driver- en doelvelden.
-
Functies selecteren: Gebruik MutualInfo in een rasterdiagram om een matrix te maken waarin alle velden met elkaar worden vergeleken op basis van een MI.
MutualInfo retourneert de geaggregeerde wederzijdse informatie voor twee gegevensverzamelingen. Wederzijdse informatie is een maat voor de relatie tussen de gegevensverzamelingen en is geaggregeerd voor (x,y)-waardeparen, herhaald op de dimensies van het diagram. Wederzijdse informatie wordt gemeten tussen 0 en 1. MutualInfo wordt gedefinieerd door de selectie of de set-uitdrukking.
Bij het berekenen van wederzijdse informatie zijn koppelingen van invloed op de overeenkomst tussen de frequentie van de waarden van velden die afkomstig zijn van verschillende tabellen.
Geretourneerde waarden voor hetzelfde doel en dezelfde driver kunnen licht verschillen. Dit komt doordat elke oproep voor MutualInfo wordt uitgevoerd voor een willekeurig geselecteerd voorbeeld en door de inherente willekeur van het algoritme MutualInfo.
MutualInfo kan worden toegepast op de Aggr()-functie.
Syntaxis:
MutualInfo({SetExpression}] [DISTINCT] [TOTAL] target, driver , datatype [, breakdownbyvalue [, samplesize ]])
Retourgegevenstypen: numeriek
Argumenten:
Argument | Beschrijving |
---|---|
target, driver | De uitdrukkingen of velden die de twee voorbeeldsets bevatten waarvoor de wederzijdse informatie moet worden gemeten. |
datatype |
De gegevenstypen die zich in het doel en de driver bevinden, 1 of 'dd' voor discreet:discreet 2 of 'cc' voor doorlopend:doorlopend 3 of 'cd' voor doorlopend:discreet 4 of 'dc' voor discreet:doorlopend Gegevenstypen zijn niet hoofdlettergevoelig. |
breakdownbyvalue |
Een statische waarde die overeenkomst met een waarde in de driver. Indien opgegeven, zal de berekening de MI-bijdrage voor die waarde berekenen. U kunt ValueList() of ValueLoop() gebruiken. Als Null() is toegevoegd, zal de berekening de algemene MI voor alle waarden in de driver berekenen. Voor het uitsplitsen van waarden moet de driver discrete gegevens bevatten. |
samplesize |
Het aantal waarden van het doel en de driver waaruit een steekproef wordt genomen. Het nemen van de steekproef vindt willekeurig plaats. Voor MutualInfo is een minimale steekproefgrootte van 80 vereist. Standaard neemt MutualInfo een steekproef van maximaal 10.000 gegevensparen aangezien MutualInfo bronintensief kan zijn. U kunt grotere aantallen gegevensparen in de steekproefgrootte opgeven. Als voor MutualInfo een time-out optreedt, moet u de steekproefgrootte verkleinen. |
SetExpression | De aggregatiefunctie aggregeert standaard over de set mogelijke records die wordt gedefinieerd door de selectie. Met de uitdrukking Set-analyse kunt u een alternatieve set records definiëren. |
DISTINCT | Als het woord DISTINCT vóór de argumenten van de functie wordt geplaatst, worden duplicaten die het resultaat zijn van de evaluatie van de argumenten van de functie, genegeerd. |
TOTAL |
Als het woord TOTAL voor de functieargumenten staat, wordt de berekening gemaakt op basis van alle mogelijke waarden bij de huidige selecties, en niet alleen de selecties die betrekking hebben op de huidige dimensiewaarde. Dit betekent dat de dimensies van de grafiek worden genegeerd. Na de kwalificatie TOTAL kan een lijst met een of meer veldnamen tussen punthaken <fld> worden opgegeven. Deze veldnamen moeten een subset zijn van de dimensievariabelen van de grafiek. |
Beperkingen:
Als een of beide delen van een gegevenspaar tekstwaarden, NULL-waarden of ontbrekende waarden bevatten, wordt het hele gegevenspaar genegeerd.
Voorbeelden en resultaten:
Voeg het voorbeeldscript toe aan uw app en voer het uit. Voeg vervolgens de velden die in de resultatenkolom staan aan een werkblad in uw app toe om het resultaat te bekijken.
Voorbeeld | Resultaat |
---|---|
mutualinfo(Age, Salary, 1) |
Voor een tabel met de dimensie |
mutualinfo(TOTAL Age, Salary, 1, null(), 81) |
Als u een filtervak maakt met de dimensie Gender, en daarin selecties maakt, ziet u het resultaat 0.99805677 als Female is geselecteerd en 0.99847373 als Male is geselecteerd. Dit komt doordat de selectie alle resultaten uitsluit die niet behoren tot de andere waarde van Gender. |
mutualinfo(TOTAL Age, Gender, 1, ValueLoop(25,35)) |
0.68196996. Als u een waarde van Gender selecteert, wijzigt deze in 0. |
mutualinfo({1} TOTAL Age, Salary, 1, null()) |
0.99820986. Dit is onafhankelijk van selecties. De set-uitdrukking {1} negeert alle selecties en dimensies. |
Gegevens die worden gebruikt in voorbeelden:
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 '|');