Ga naar hoofdinhoud

MutualInfo - diagramfunctie

MutualInfo berekent de wederzijdse informatie tussen twee velden of tussen geaggregeerde waarden in Aggr().

MutualInfo retourneert de geaggregeerde wederzijde informatie voor twee gegevensverzamelingen. Hierdoor is een analyse van de sleutelfactos tussen een veld een mogelijke driver mogelijk. Wederzijde 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 en kan worden weergegeven als een percentielwaarde. MutualInfo wordt gedefinieerd door selecties of door een set-uitdrukking.

MutualInfo maakt verschillende soorten van MI-analyse mogelijk:

  • Paarsgewijze MI: Bereken de MI tussen een driverveld en een doelveld.

  • Driveranalyse op waarde: De MI wordt berekend tussen individuele veldwaarden in de driver- en veldwaarden.

  • Functie selecteren: Gebruik MutualInfo in een rasterdiagram zodat een matrix ontstaat waarin alle velden met elkaar worden vergeleken op basis van de MI.

MutualInfo geeft niet noodzakelijk een causaliteit aan tussen velden die wederzijde informatie bevatten. Twee velden kunnen wederzijdse informatie bevatten, maar zijn mogelijk geen gelijkwaardige drivers. Bij het vergelijken van de verkoop van ijs en de buitentemperatuur toont MutualInfo bijvoorbeeld dat er wederzijdse informatie aanwezig is. Het geeft niet aan of de buitentemperatuur invloed heeft op de verkoop van ijs, wat aannemelijk is, of dat de verkoop van ijs invloed heeft op de buitentemperatuur, wat onwaarschijnlijk is.

Bij het berekenen van wederzijde informatie hebben koppelingen invloed op de overeenkomst tussen de frequentie van waarden van velden die afkomstig zijn uit verschillende tabellen.

De geretourneerde waarden voor dezelfde velden of selecties kunnen licht van elkaar afwijken. Dit komt doordat de oproep van MutualInfo wordt uitgevoerd voor willekeurig geselecteerde voorbeeldgegevens en de inherente willekeur van het MutualInfo-algoritme.

MutualInfo kan worden toegepast op de functie Aggr().

Syntaxis:  

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

Retourgegevenstypen: numeriek

Argumenten:  

Argumenten
Argument Beschrijving
field1, field2 De uitdrukkingen of velden die de twee voorbeeldsets bevatten waarvoor de wederzijde informatie moet worden gemeten.
datatype

De gegevenstypen in het doel en de driver,

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 overeenkomt met de waarde in de driver. Indien opgegeven, wordt met de berekening de MI-bijdrage voor die waarde berekend. U kunt ValueList() of ValueLoop() gebruiken. Als Null() is toegevoegd, wordt met de berekening de totale MI berekend voor alle waarden in de driver.

Uitsplitsing naar waarde vereist dat de driver discrete gegevens bevat.

samplesize

Het aantal waarden van het doel en de driver in de steekproef. De steekproef vindt willekeurig plaats. MutualInfo vereist een minimale steekproefgrootte van 80. Standaard bemonstert MutualInfo tot 10.000 gegevensparen, aangezien MutualInfo zwaar en tijdrovend kan zijn. U kunt een groter aantal gegevensparen in de steekproef specificeren. Als er bij MutualInfo een time-out optreedt, maak dan de grootte van de steekproef kleiner.

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 voor 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 het diagram worden genegeerd.

Wanneer u TOTAL [<fld {.fld}>] gebruikt en de TOTAL-kwalificatie wordt gevolgd door een lijst van één of meer veldnamen als subset van de dimensievariabelen van het diagram, maakt u een subset van de totale mogelijke waarden.

Het aggregatiebereik definiëren

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 toe aan een werkblad in uw app om het resultaat te bekijken.

Voorbeelden van functies
Voorbeeld Resultaat
mutualinfo(Age, Salary, 1)

Voor een tabel die de dimensie Employee name en de meting mutualinfo(Age, Salary, 1) bevat, is 0.99820986 het resultaat. Het resultaat wordt alleen weergegeven voor de cel met totalen.

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

Als u een filtervak maakt met de dimensie Gender en van hieruit selecties uitvoert, ziet u het resultaat 0.99805677 als Female is geselecteerd en 0.99847373 als Male is geselecteerd. Dit komt doordat bij de selectie alle resultaten die niet tot de andere waarde van Gender behoren worden uitgesloten.

mutualinfo(TOTAL Age, Gender, 1, ValueLoop(25,35))

0.68196996. Als u een willekeurige waarde in Gender kiest, verandert deze in 0.

mutualinfo({1} TOTAL Age, Salary, 1, null())

0.99820986. Dit vindt onafhankelijk van selecties plaats. 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 '|');