Schätzen der Korrelation zwischen einer kontinuierlichen Variablen und einer kategorialen Variablen mithilfe gegenseitiger Informationen


12

In Bezug auf den Titel besteht die Idee darin, die gegenseitige Information hier und nach MI zu verwenden, um die "Korrelation" (definiert als "wie viel ich über A weiß, wenn ich B weiß") zwischen einer kontinuierlichen Variablen und einer kategorialen Variablen zu schätzen. Ich werde Ihnen gleich meine Gedanken zu diesem Thema mitteilen, bevor ich Ihnen rate, diese andere Frage / Antwort auf CrossValidated zu lesen, da sie einige nützliche Informationen enthält.

Da wir jetzt nicht über eine kategoriale Variable integrieren können, müssen wir die kontinuierliche diskretisieren. Dies ist in R, der Sprache, mit der ich die meisten meiner Analysen durchgeführt habe, recht einfach möglich. Ich habe es vorgezogen, die cutFunktion zu verwenden, da sie auch Alias-Werte enthält, aber auch andere Optionen verfügbar sind. Der Punkt ist, dass man a priori die Anzahl der "Bins" (diskreten Zustände) bestimmen muss, bevor eine Diskretisierung durchgeführt werden kann.

Das Hauptproblem ist jedoch ein anderes: MI reicht von 0 bis ∞, da es ein nicht standardisiertes Maß ist, welche Einheit das Bit ist. Das macht es sehr schwierig, ihn als Korrelationskoeffizienten zu verwenden. Dies kann teilweise mit dem globalen Korrelationskoeffizienten hier und nach GCC, einer standardisierten Version von MI, gelöst werden . GCC ist wie folgt definiert:

Bildbeschreibung hier eingeben

Hinweis: Die Formel stammt aus Mutual Information als nichtlineares Instrument zur Analyse der Globalisierung der Aktienmärkte von Andreia Dionísio, Rui Menezes & Diana Mendes, 2010.

GCC reicht von 0 bis 1 und kann daher leicht verwendet werden, um die Korrelation zwischen zwei Variablen abzuschätzen. Problem gelöst, richtig? So in etwa. Da all dieser Prozess stark von der Anzahl der 'Bins' abhängt, die wir während der Diskretisierung verwendet haben. Hier die Ergebnisse meiner Experimente:

Bildbeschreibung hier eingeben

Auf der y-Achse haben Sie GCC und auf der x-Achse haben Sie die Anzahl der 'Bins', die ich für die Diskretisierung verwendet habe. Die beiden Zeilen beziehen sich auf zwei verschiedene Analysen, die ich mit zwei verschiedenen (wenn auch sehr ähnlichen) Datensätzen durchgeführt habe.

Mir scheint, dass die Verwendung von MI im Allgemeinen und von GCC im Besonderen immer noch umstritten ist. Diese Verwirrung kann jedoch das Ergebnis eines Fehlers von meiner Seite sein. In beiden Fällen würde ich gerne Ihre Meinung dazu hören (haben Sie auch alternative Methoden, um die Korrelation zwischen einer kategorialen Variablen und einer kontinuierlichen zu schätzen?).


2
H(Xi,Xj)H(Xi)+H(Xj)

Übrigens, hier ist Code für den Fall, dass jemand die Binning-Methode ausprobieren möchte.
Zkurtz

4
Sie schätzen die "Korrelation" nicht. Sie schätzen gegenseitige Informationen. Der eine schätzt den anderen nicht; sie sind verschiedene Maßstäbe des allgemeineren Assoziationsbegriffs .
Zkurtz

Vielleicht ist ein besserer Titel für diesen Beitrag "Wie kann man eine kontinuierliche Variable am besten klassifizieren, um ihre gegenseitigen Informationen mit einer kategorialen Variablen abzuschätzen?"
Zkurtz

Hier ist ein interessanter Ansatz ohne Binning. Leider kann ich keine R-Implementierung finden.
Zkurtz

Antworten:


5

Es gibt einen einfacheren und besseren Weg, um mit diesem Problem umzugehen. Eine kategoriale Variable ist praktisch nur eine Menge von Indikatorvariablen. Es ist eine Grundidee der Messtheorie, dass eine solche Variable für die Neuetikettierung der Kategorien nicht relevant ist. Daher ist es nicht sinnvoll, die numerische Kennzeichnung der Kategorien in einem Maß für die Beziehung zwischen einer anderen Variablen zu verwenden (z. B. „Korrelation“). . Aus diesem Grund sollte ein Maß für die Beziehung zwischen einer kontinuierlichen Variablen und einer kategorialen Variablen vollständig auf den Indikatorvariablen basieren, die von letzteren abgeleitet sind.

XichϕP(ich=1)

CÖv(ich,X)=E(ichX)-E(ich)E(X)=ϕ[E(X|ich=1)-E(X)],

was gibt:

CÖrr(ich,X)=ϕ1-ϕE(X|ich=1)-E(X)S(X).

XichϕXich=1


C1,...,mC=kichkich(C=k)

CÖrr(ichk,X)=ϕk1-ϕkE(X|C=k)-E(X)S(X).

Corr(C,X)(Corr(I1,X),...,Corr(Im,X))

kCov(Ik,X)=0Xm1


(x1,c1),...,(xn,cn)

ϕ^k1ni=1nI(ci=k).

E^(X)x¯1ni=1nxi.

E^(X|C=k)x¯k1ni=1nxiI(ci=k)/ϕ^k.

S^(X)sX1n1i=1n(xix¯)2.

X

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.