跳到主要内容

MutualInfo - 图表函数

MutualInfo 计算 Aggr() 中两个字段之间或聚合值之间的互信息(MI)。

MutualInfo 支持不同类型的 MI 分析:

  • 对范围 MI:计算驱动因素字段和目标字段之间的 MI。

  • 按值的驱动因素细分:MI 是在驱动因素字段和目标字段中的单独字段值之间计算的。

  • 特性选择:在网格图中使用 MutualInfo 创建一个矩阵,在该矩阵中,所有字段都基于 MI 相互比较。

MutualInfo 返回两个数据集的聚合互信息。互信息是数据集之间关系的一种度量,并聚合为在图表维度上迭代的 (x,y) 对值。互信息是在 0 和 1 之间测量。MutualInfo 由选择或集合表达式定义。

在计算互信息时,关联会影响来自不同表的字段的值之间的对应关系和频率。

相同目标和驱动程序的返回值可能略有不同。这是由于每次 MutualInfo 调用都是对随机选择的样本进行操作,并且 MutualInfo 算法本身具有随机性。

MutualInfo 可应用至 Aggr() 函数。

语法:  

MutualInfo({SetExpression}] [DISTINCT] [TOTAL] target, driver , datatype [, breakdownbyvalue [, samplesize ]])

返回数据类型: 数字

参数:  

参数
参数 说明
target, driver 表达式或字段,其中包含两个要度量互信息的样本集合。
datatype

包含在目标和驱动因素中的数据类型。

1 或 'dd',用于 discrete:discrete

2 或 'cc',用于 continuous:continuous

3 或 'cd',用于 continuous:discrete

4 或 'dc',用于 discrete:continuous

数据类型不区分大小写。

breakdownbyvalue

与驱动因素中的值相对应的静态值。如果提供,计算将计算该值的 MI 贡献。您可使用 ValueList()ValueLoop()。如果添加了 Null(),计算将计算驱动因素中所有值的总 MI。

按值细分要求驱动因素包含离散数据。

samplesize

要从目标和驱动因素中采样的值的数目。采样是随机进行的。MutualInfo 需要 80 的最小样本大小。默认设置下,MutualInfo 最多只能采样 10,000 个数据对,因为 MutualInfo 可能是资源密集型的。可以在样本大小中指定更多的数据对。如果 MutualInfo 超时,则减小样本大小。

SetExpression 聚合函数会默认聚合选择项定义的可能记录集合。可选记录集合可由集合分析表达式定义。
DISTINCT 如果在函数参数前出现单词 DISTINCT,则将忽略计算该函数参数生成的副本。
TOTAL

如果在函数参数前面出现单词 TOTAL,则计算给出当前选择项的所有可能值,而不只是属于当前维度值的那些值,即它会忽略图表维度。 TOTAL 限定符后可能紧跟着一系列由尖括号括起来的一个或多个字段名 <fld>。这些字段名应该是图表维度变量的子集。

定义聚合范围

限制:  

数据对任意部分或两部分中的文本值,NULL 值和缺失值在整个数据对中忽略不计。

示例和结果:  

添加示例脚本到应用程序并运行。然后,要将结果列中列出的字段添加到应用程序中的工作表才能查看结果。

函数示例
示例 结果
mutualinfo(Age, Salary, 1)

对于包含维度 Employee name 和度量 mutualinfo(Age, Salary, 1) 的表格,结果为 0.99820986。仅显示合计单元格的结果。

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

如果使用维度 Gender 创建筛选器窗格并从中进行选择,则选中 Female 时将显示结果 0.99805677,选中 Male 时将显示结果 0.99847373。这是因为该选择排除了不属于 Gender 的其他值的所有结果。

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

0.68196996. 从 Gender 选择任何值将把此项更改为 0。

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

0.99820986. 这与选择无关。集合表达式 {1} 会忽视所有选择项和维度。

示例中所使用的数据:

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

本页面有帮助吗?

如果您发现此页面或其内容有任何问题 – 打字错误、遗漏步骤或技术错误 – 请告诉我们如何改进!

加入分析现代化计划

Remove banner from view

使用分析现代化计划实现现代化,同时不损害您宝贵的 QlikView 应用程序。 单击此处 了解更多信息或联系: ampquestions@qlik.com