Utilizzo delle informazioni reciproche per stimare la correlazione tra una variabile continua e una variabile categoriale


13

Per quanto riguarda il titolo, l'idea è quella di utilizzare le informazioni reciproche, qui e dopo MI, per stimare la "correlazione" (definita come "quanto so di A quando conosco B") tra una variabile continua e una variabile categoriale. Ti racconterò i miei pensieri sull'argomento tra un momento, ma prima di consigliarti di leggere quest'altra domanda / risposta su CrossValidated in quanto contiene alcune informazioni utili.

Ora, poiché non possiamo integrarci su una variabile categoriale, dobbiamo discretizzare quella continua. Questo può essere fatto abbastanza facilmente in R, che è la lingua con cui ho fatto la maggior parte delle mie analisi. Ho preferito usare la cutfunzione, poiché alias anche i valori, ma sono disponibili anche altre opzioni. Il punto è che bisogna decidere a priori il numero di "bin" (stati discreti) prima di poter effettuare qualsiasi discretizzazione.

Il problema principale, tuttavia, è un altro: MI varia da 0 a ∞, poiché è una misura non standardizzata quale unità è il bit. Ciò rende molto difficile usarlo come coefficiente di correlazione. Ciò può essere parzialmente risolto utilizzando il coefficiente di correlazione globale , qui e dopo GCC, che è una versione standardizzata di MI; GCC è definito come segue:

inserisci qui la descrizione dell'immagine

Riferimento: la formula proviene dall'informazione reciproca come strumento non lineare per l'analisi della globalizzazione del mercato azionario di Andreia Dionísio, Rui Menezes e Diana Mendes, 2010.

GCC varia da 0 a 1 e pertanto può essere facilmente utilizzato per stimare la correlazione tra due variabili. Problema risolto, vero? Bene, un po '. Poiché tutto questo processo dipende fortemente dal numero di "contenitori" che abbiamo deciso di utilizzare durante la discretizzazione. Ecco i risultati dei miei esperimenti:

inserisci qui la descrizione dell'immagine

Sull'asse y hai GCC e sull'asse x hai il numero di 'bin' che ho deciso di usare per la discretizzazione. Le due righe si riferiscono a due diverse analisi che ho condotto su due set di dati diversi (anche se molto simili).

Mi sembra che l'uso dell'MI in generale e del GCC in particolare sia ancora controverso. Tuttavia, questa confusione può essere il risultato di un errore dalla mia parte. In entrambi i casi, mi piacerebbe sentire la tua opinione in merito (inoltre, hai metodi alternativi per stimare la correlazione tra una variabile categoriale e una continua?).


2
Non posso commentare il calcolo delle informazioni reciproche per la distribuzione congiunta di variabili continue e discrete, ma posso suggerire che l'effetto del binning dovrebbe essere eliminato se si calcola una variante normalizzata di informazioni reciproche. Tipicamente uno normalizzato dalla somma delle entropie o dall'entropia articolare. La somma delle entropie è leggermente migliore perché . H(Xi,Xj)H(Xi)+H(Xj)
Jessica Collins,

A proposito, ecco il codice nel caso qualcuno voglia provare il metodo di binning.
zkurtz,

4
Non stai stimando la "correlazione". Stai stimando le informazioni reciproche. L'uno non stima l'altro; sono misure distinte del concetto più generale di associazione .
zkurtz,

Forse un titolo migliore per questo post è "Come meglio binare una variabile continua per stimare le sue informazioni reciproche con una variabile categoriale?"
zkurtz,

Ecco un interessante approccio non binning. Purtroppo non riesco a trovare un'implementazione R.
zkurtz,

Risposte:


5

Esiste un modo più semplice e migliore per affrontare questo problema. Una variabile categoriale è effettivamente solo un insieme di variabili indicatore. È un'idea di base della teoria delle misurazioni che una tale variabile è invariante alla rietichettatura delle categorie, quindi non ha senso usare l'etichettatura numerica delle categorie in qualsiasi misura della relazione tra un'altra variabile (ad esempio, "correlazione") . Per questo motivo, e la misura della relazione tra una variabile continua e una variabile categoriale dovrebbe essere interamente basata sulle variabili dell'indicatore derivate da quest'ultima.

Dato che si desidera una misura di "correlazione" tra le due variabili, ha senso esaminare la correlazione tra una variabile casuale continua e una variabile casuale indicatrice derivata da una variabile categoriale. Lasciando abbiamo:XIϕP(I=1)

Cov(I,X)=E(IX)E(I)E(X)=ϕ[E(X|I=1)E(X)],

che dà:

Corr(I,X)=ϕ1ϕE(X|I=1)E(X)S(X).

Quindi la correlazione tra una variabile casuale continua e una variabile casuale indicatore è una funzione abbastanza semplice della probabilità dell'indicatore e del guadagno standardizzato del valore atteso di dal condizionamento su . Si noti che questa correlazione non richiede alcuna discretizzazione della variabile casuale continua.XIϕXI=1


Per una variabile categoriale generale con intervallo si dovrebbe quindi estendere questa idea per avere un vettore di valori di correlazione per ogni risultato della variabile categoriale. Per ogni risultato possiamo definire l'indicatore corrispondente e abbiamo:C1,...,mC=kIkI(C=k)

Corr(Ik,X)=ϕk1ϕkE(X|C=k)E(X)S(X).

Possiamo quindi definire come vettore di valori di correlazione per ogni categoria della variabile casuale categoriale. Questo è davvero l'unico senso in cui ha senso parlare di "correlazione" per una variabile casuale categorica.Corr(C,X)(Corr(I1,X),...,Corr(Im,X))

( Nota: è banale mostrare che e quindi il vettore di correlazione per una variabile casuale categoriale è soggetto a questo vincolo. Ciò significa che data la conoscenza del vettore di probabilità per il variabile casuale categorica e la deviazione standard di , è possibile derivare il vettore da qualsiasi dei suoi elementi.)kCov(Ik,X)=0Xm1


L'esposizione sopra è per i veri valori di correlazione, ma ovviamente questi devono essere stimati in una data analisi. La stima delle correlazioni dell'indicatore dai dati del campione è semplice e può essere effettuata sostituendo le stime appropriate per ciascuna delle parti. (È possibile utilizzare metodi di stima più elaborati se si preferisce.) Dati di esempio possiamo stimare le parti dell'equazione di correlazione come:(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.

La sostituzione di queste stime produrrebbe una stima di base del vettore di correlazione. Se disponi di informazioni parametriche su puoi stimare il vettore di correlazione direttamente con la massima probabilità o con qualche altra tecnica.X

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.