Ana içeriğe geç

MutualInfo - grafik fonksiyonu

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

MutualInfo, iki veri kümesi için toplanmış karşılıklı bilgileri döndürür. Bu, bir alan ile potansiyel bir sürücü arasında temel sürücü analizine olanak tanır. Karşılıklı bilgi, veri kümeleri arasındaki ilişkiyi hesaplar ve grafik boyutları üzerinde yinelenen (x,y) çift değerleri için toplanır. Karşılıklı bilgiler 0 ile 1 arasında hesaplanır ve yüzdebirlik değer olarak biçimlendirilebilir. MutualInfo ya seçimlerle ya da bir küme ifadesi ile tanımlanır.

MutualInfo farklı türden MI analizlerine izin verir:

  • İkili MI: Sürücü alanı ile hedef alan arasındaki MI'yı hesaplayın.

  • Değere göre sürücü kırılımı: MI, sürücü ve hedef alanlarındaki bireysel alan değerleri arasında hesaplanır.

  • Özellik seçimi: Tüm alanların MI'ye göre birbiriyle karşılaştırıldığı bir matris oluşturmak için ızgara grafikte MutualInfo kullanın.

MutualInfo mutlaka karşılıklı bilgi paylaşan alanlar arasında nedensellik göstermez. İki alan karşılıklı bilgi paylaşabilir, ancak birbirleri için eşit sürücü olmayabilir. Örneğin, dondurma satışları ile dışarıdaki hava sıcaklığını karşılaştırırken, MutualInfo ikisi arasında karşılıklı bilgi gösterecektir. Dondurma satışlarını artıranın dış hava sıcaklığı mı olduğunu (bu mümkündür), dış hava sıcaklığını artıranın dondurma satışları mı olduğunu (bu mümkün değildir) göstermez.

Karşılıklı bilgi hesaplanırken, ilişkilendirmeler, farklı tablolardan gelen alanlardaki değerlerin sıklığını ve aralarındaki ilişkiyi etkiler.

Aynı alanlar veya seçimler için döndürülen değerler biraz farklılık gösterebilir. Bunun nedeni, her MutualInfo çağrısının rastgele seçilmiş bir örnek üzerinde çalışması ve MutualInfo algoritmasının doğal rastgeleliğidir.

MutualInfo, Aggr() fonksiyonuna uygulanabilir.

Syntax:  

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

Return data type: sayısal

Arguments:  

Bağımsız Değişkenler
Bağımsız Değişken Açıklama
field1, field2 Karşılıklı bilgilerin hesaplanacağı iki örnek kümeyi içeren ifadeler veya alanlar.
datatype

Hedef ve sürücüdeki veri türleri,

1 veya discrete:discrete için 'dd'

2 veya continuous:continuous için 'cc'

3 veya continuous:discrete için 'cd'

4 veya discrete:continuous için 'dc'

Veri türleri küçük/büyük harfe duyarlı değildir.

breakdownbyvalue

Sürücüdeki bir değere karşılık gelen statik değer. Sağlanmışsa, hesaplama bu değer için MI katkısını hesaplayacaktır. ValueList() veya ValueLoop() kullanabilirsiniz. Null() eklenirse, hesaplama sürücüdeki tüm değerler için genel MI değerini hesaplayacaktır.

Değere göre döküm, sürücünün ayrık veriler içermesini gerektirir.

samplesize

Hedef ve sürücüden örnek oluşturulacak değerlerin sayısı. Örnek oluşturma rastgeledir. MutualInfo örnek boyutunun en az 80 olmasını gerektirir. MutualInfo kaynakları yoğun şekilde kullanabileceği için MutualInfo varsayılan olarak sadece 10.000 diziye kadar örnekleme yapar. Örnek boyutunda, daha fazla sayıda veri çifti belirtebilirsiniz. MutualInfo zaman aşımına uğrarsa örnek boyutunu azaltın.

SetExpression Toplama işlevi, varsayılan olarak, seçim tarafından tanımlanmış olası kayıtlar kümesi üzerinden toplanır. Bir set analizi ifadesi ile alternatif bir kayıt kümesi tanımlanabilir.
DISTINCT Fonksiyon bağımsız değişkenlerinden önce DISTINCT sözcüğü varsa fonksiyon bağımsız değişkenlerinin değerlendirilmesinden kaynaklanan çoğaltmalar göz ardı edilir.
TOTAL

TOTAL sözcüğü, fonksiyon bağımsız değişkenlerinden önce gelirse, hesaplama yalnızca geçerli boyutsal değere ait olanlar için değil, geçerli seçimlerde verilen tüm olası değerler üzerinden yapılır; yani grafik boyutlarını göz ardı eder.

TOTAL niteleyicisinden sonra grafik boyut değişkenlerinin bir alt kümesi olarak bir veya daha çok alan adının geldiği TOTAL [<fld {.fld}>] niteleyicisini kullanarak toplam olası değerlerin bir alt kümesini oluşturursunuz.

Toplama kapsamını tanımlama

Limitations:  

Bir veri çiftinin herhangi bir veya her iki parçasındaki metin değerleri, NULL değerler ve eksik değerler, veri çiftinin tamamının göz ardı edilmesine neden olur.

Examples and results:  

Örnek kodu uygulamanıza ekleyin ve çalıştırın. Sonra sonucu görmek için sonuçlar sütununda listelenen alanları uygulamanızdaki bir sayfaya ekleyin.

Fonksiyon örnekleri
Örnek Sonuç
mutualinfo(Age, Salary, 1)

Boyutu ve Employee name mutualinfo(Age, Salary, 1) hesaplamasını içeren bir tablo için sonuç 0,99820986 olur. Sonuç yalnızca toplamlar hücresi için görüntülenir.

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

0.99823109.

Gender boyutuyla bir filtre bölmesi oluşturursanız ve bundan seçimler yaparsanız, Female seçildiğinde 0,99805677, Male seçildiğinde 0,99847373 sonucunu görürsünüz. Bunun nedeni, seçimin diğer Gender değerine ait olmayan tüm sonuçları hariç tutmasıdır.

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

0.68196996. Gender üzerinde herhangi bir değer seçmek, bunu 0 olarak değiştirecektir.

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

0.99820986. Bu, seçimlerden bağımsızdır. Bunun nedeni, {1} küme ifadesinin tüm seçimleri ve boyutları göz ardı etmesidir.

Örneklerde kullanılan veriler:

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