기본 콘텐츠로 건너뛰기

MutualInfo - 차트 함수

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

MutualInfo는 두 데이터 집합에 대해 집계된 상호 정보를 반환합니다. 이를 통해 필드와 잠재적인 동인 간의 주요 동인 분석이 가능합니다. 상호 정보는 데이터 집합 간의 관계를 측정하고 차트 차원에서 반복되는 (x, y) 쌍 값에 대해 집계됩니다. 상호 정보는 0과 1 사이에서 측정되며 백분위 수 값으로 형식을 지정할 수 있습니다. MutualInfo는 선택 또는 집합 표현식에 의해 정의됩니다.

MutualInfo를 사용하면 다양한 종류의 MI 분석이 가능합니다.

  • 쌍 단위 MI: 동인 필드와 대상 필드 사이의 MI를 계산합니다.

  • 값으로 동인 분석: MI는 동인 필드 및 대상 필드의 개별 필드 값 사이에서 계산됩니다.

  • 기능 선택: 그리드형 차트에서 MutualInfo를 사용하여 MI를 기반으로 모든 필드가 서로 비교되는 행렬을 만듭니다.

MutualInfo는 상호 정보를 공유하는 필드 간의 인과 관계를 반드시 나타내는 것은 아닙니다. 두 필드는 상호 정보를 공유할 수 있지만 서로 동일한 동인이 아닐 수 있습니다. 예를 들어, 아이스크림 판매량과 실외 온도를 비교할 때 MutualInfo는 둘 사이의 상호 정보를 표시합니다. 실외 온도가 아이스크림 판매를 유도하는지 여부(가능성 있음) 또는 아이스크림 판매가 실외 온도를 유도하는지 여부(가능성 낮음)는 표시하지 않습니다.

상호 정보를 계산할 때, 연결은 서로 다른 테이블에 있는 필드 값 간의 대응성과 및 빈도에 영향을 줍니다.

동일한 필드 또는 선택에 대해 반환되는 값은 약간 다를 수 있습니다. 이는 각 MutualInfo 호출이 무작위로 선택된 샘플과 MutualInfo 알고리즘에 내재하는 무작위성을 기반으로 작동하기 때문입니다.

MutualInfoAggr() 함수에 적용할 수 있습니다.

Syntax:  

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

Return data type: 숫자

Arguments:  

인수
인수 설명
field1, field2 상호 정보가 측정될 두 샘플 집합이 포함된 표현식 또는 필드입니다.
datatype

대상 및 동인에 포함된 데이터 유형은 다음과 같습니다.

불연속:불연속인 경우, 1 또는 'dd'

연속:연속인 경우, 2 또는 'cc'

연속:불연속인 경우, 3 또는 'cd'

불연속:연속인 경우, 4 또는 'dc'

데이터 유형은 대/소문자를 구분하지 않습니다.

breakdownbyvalue

동인의 값에 해당하는 정적 값입니다. 제공된 경우 계산은 해당 값에 대한 MI 기여도를 계산합니다. ValueList() 또는 ValueLoop()를 사용할 수 있습니다. Null()이 추가되면 계산은 동인의 모든 값에 대한 전체 MI를 계산합니다.

값별로 분류하려면 동인에 불연속 데이터가 있어야 합니다.

samplesize

대상 및 동인에서 샘플링할 값의 개수입니다. 임의로 샘플링합니다. MutualInfo에는 최소 샘플 크기 80이 필요합니다. 기본적으로 MutualInfo는 리소스 중심일 수 있으므로 MutualInfo로 최대 10,000개 데이터 쌍만 샘플링합니다. 샘플 크기에서 더 많은 데이터 쌍을 지정할 수 있습니다. MutualInfo 시간이 초과되면 샘플 크기를 줄입니다.

SetExpression 기본적으로 집계 함수는 선택에 의해 정의된 사용 가능한 레코드의 집합을 집계합니다. 집합 분석 표현식으로 대체 레코드 집합을 정의할 수 있습니다.
DISTINCT 함수 인수 앞에 DISTINCT라는 단어가 있을 경우 해당 함수 인수의 평가 결과로 생성된 중복이 무시됩니다.
TOTAL

TOTAL이 함수 인수 앞에 오는 경우, 현재 선택을 고려하되 현재 차원 값에 관련되지 않은 가능한 모든 값에 대한 계산이 실행됩니다. 즉, 차트 차원은 무시됩니다.

TOTAL [<fld {.fld}>](여기서 TOTAL 한정자 뒤에는 하나 이상의 필드 이름 목록이 차트 차원 변수의 하위 집합으로 옴)을 사용하여 가능한 전체 값의 하위 집합을 만듭니다.

집계 범위 정의

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. 이것은 선택과 관계가 없습니다. 집합 표현식 {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 '|');