MutualInfo - チャート関数
MutualInfo は、2 つの項目間または Aggr() の集計値間の相互情報量 (MI) を計算します。
MutualInfo により、異なる種類の MI 分析が可能になります。
-
ペアワイズ MI: ドライバー項目とターゲット項目間の MI を計算します。
-
ドライバーの値別詳細: ドライバー項目とターゲット項目にある、個別の項目値間の MI を計算します。
-
機能の選択: グリッド チャートで MutualInfo 使用し、MI に基づいてすべての項目を相互に比較するマトリックスを作成します。
MutualInfo は、2 つのデータ セットの集計された相互情報を返します。相互情報は、データ セット間の関係を表すメジャーであり、チャート軸に対して反復処理される (x,y) のペア値のために集計されます。相互情報のメジャーは、0 と 1 の間です。MutualInfo は、選択または set 数式で定義します。
相互情報を計算する場合、関係性は、異なるテーブルに由来する項目からの値の間と、値の頻度の対応に影響を与えます。
同じターゲットとドライバーの戻り値は、若干異なる場合があります。これは、各 MutualInfo 呼び出しがランダムに選択されたサンプルで動作することと、MutualInfo アルゴリズム特有のランダム性に起因します。
MutualInfo は、Aggr() 関数に適用できます。
構文:
MutualInfo({SetExpression}] [DISTINCT] [TOTAL] target, driver , datatype [, breakdownbyvalue [, samplesize ]])
戻り値データ型: 数値
引数:
引数 | 説明 |
---|---|
target, driver | 相互情報をメジャーする 2 つのサンプル セットを含む数式または項目。 |
datatype |
ターゲットとドライバーに含まれるデータ タイプは、 discrete:discrete の場合、1 または 'dd' continuous:continuous の場合、2 または'cc' continuous:discrete の場合、3 または 'cd' discrete:continuous の場合、4 または 'dc' データ タイプは、大文字と小文字を区別しません。 |
breakdownbyvalue |
ドライバーにある値に対応する静的値。提供されると、計算はその値の MI 貢献度を算出します。ValueList() または ValueLoop() を使用できます。Null() が追加された場合、計算はドライバーにあるすべての値の MI 全体を算出します。 値別で細分化するには、ドライバーに離散データが含まれている必要があります。 |
samplesize |
ターゲットとドライバーからサンプルへの値の数。サンプリングはランダムです。MutualInfo には、最低 80 個のサンプル サイズが必要です。既定では、MutualInfo がサンプルできるのは最大 10,000 個のデータペアに限定されます。これは、MutualInfo がリソースを集中的に使用するためです。サンプル サイズで、より多くのデータペアを指定できます。MutualInfo がタイムアウトする場合は、サンプル サイズを減らしてください |
SetExpression | デフォルトでは、集計関数は選択されたレコード セットに対して集計を行います。Set 分析数式でレコード セットを定義することも可能です。 |
DISTINCT | 関数の引数の前に DISTINCT という用語が付いている場合、関数の引数の評価から生じる重複は無視されます。 |
TOTAL |
関数の引数の前に TOTAL の文字が配置されている場合、現在の軸の値に関連しているものだけでなく、現在の選択範囲内にあるすべての可能な値に対して計算が実行されます。つまりチャート軸は無視されます。 TOTAL 修飾子の後には、山括弧 <fld> で囲んだ 1 つ以上の項目名のリストを続けることができます。これらの項目名は、チャート軸の変数のサブセットにする必要があります。 |
制限事項:
データ ペアのどちらか、または両方にテキスト値またはNULL 値、欠損値が含まれている場合、データ ペア全体が無視されます。
例と結果:
アプリに例のスクリプトを追加して実行します。その後、結果列に含まれている項目をアプリのシートに追加して結果を表示します。
例 | 結果 |
---|---|
mutualinfo(Age, Salary, 1) |
軸とメジャー |
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. これは、選択に依存しません。set 数式 {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 '|');