メイン コンテンツをスキップする

MutualInfo - チャート関数

MutualInfo calculates the mutual information (MI) between two fields or between aggregated values in Aggr().

MutualInfo は、2 つのデータセットについて集計された相互情報を返します。これにより、項目と潜在的な要因との間で主要因分析が可能になります。相関情報は、データセット間の関係を表すメジャーとして、チャート軸に対して反復処理される (x,y) ペア値に対して集計されます。相関情報は 0~1 の間で測定され、パーセンタイル値として書式設定できます。MutualInfo は、選択または set 数式によって定義されます。

MutualInfo を使用すると、さまざまな種類の MI 分析ができます。

  • ペアワイズ MI: ドライバー項目とターゲット項目間の MI を計算します。

  • 値別のドライバー内訳: MI は、ドライバーおよびターゲット項目で個別の項目値ごとに計算されます。

  • 機能選択: グリッド チャートで MutualInfo を使用して、MI に基づいてすべての項目が互いに比較されるマトリックスを生成します。

MutualInfo は、相互に情報を共有する項目間の因果関係を必ずしも示すものではありません。2 つの項目は、相互に情報を共有していますが、お互いに同じ要因ではない場合があります。例えば、アイスクリームの売り上げと外の気温を比較した場合、MutualInfo はこの 2 つの間の相互情報を示します。外の気温がアイスクリームの売上をの要因になっているのか(その可能性は高い)、アイスクリームの売上が外気温の要因になっているのか(その可能性は低い)を示すものではありません。

相互情報を計算する場合、関連付けは異なるテーブルの項目の値間の対応と頻度に影響します。

同じ項目や選択でも、返される値が若干異なる場合があります。これは、各 MutualInfo 呼び出しがランダムに選択されたサンプルで動作し、MutualInfo アルゴリズムに固有のランダム性があるためです。

MutualInfoAggr() 関数に適用できます。

Syntax:  

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

Return data type: 数値

Arguments:  

引数
引数 説明
field1, field2 相互情報を測定する 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 はリソースを集中的に使用するため、MutualInfo は既定で最大 10,000 のデータペアのみをサンプルします。サンプル サイズでさらに多くのデータペアをサンプルするように指定できます。MutualInfo がタイムアウトになる場合は、サンプル サイズを縮小してください。

SetExpression デフォルトでは、集計関数は選択されたレコード セットに対して集計を行います。Set 分析数式でレコード セットを定義することも可能です。
DISTINCT 関数の引数の前に DISTINCT という用語が付いている場合、関数の引数の評価から生じる重複は無視されます。
TOTAL

関数の引数の前に TOTAL の文字が配置されている場合、現在の軸の値に関連しているものだけでなく、現在の選択範囲内にあるすべての可能な値に対して計算が実行されます。つまりチャート軸は無視されます。

TOTAL [<fld {.fld}>] (ここで、TOTAL 修飾子の後には、1 つまたは複数の項目名のリストがチャート軸変数のサブセットとして続く) を使用して、合計絞込値のサブセットを作成できます。

集計範囲の定義

Limitations:  

データペアのどちらか、または両方にテキスト値、NULL 値、不明な値があると、すべてのデータペアが無視されます。

Examples and results:  

アプリにスクリプト例を追加して実行します。その後、結果列に含まれている項目をアプリのシートに追加して結果を表示します。

関数の例
結果
mutualinfo(Age, Salary, 1)

Employee nameおよびメジャー mutualinfo(Age, Salary, 1) を含むテーブルでは、結果は 0.99820986 になります。結果は合計セルにのみ表示されます。

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

0.99823109.

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|50Beat 5|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 '|');