Come posso studiare la "correlazione" tra una variabile continua e una variabile categoriale?


19

Qual è una misura di "correlazione" significativa per studiare la relazione tra questi due tipi di variabili?

In R, come si fa?


1
prima di chiedere "come studi", dovresti avere la risposta a "come definisci" :-) A proposito, se si proietta la variabile categoriale su numeri interi, è già possibile eseguire la correlazione.
Curioso

2
@Tomas, se lo fai, la forza stimata della relazione dipende da come hai deciso di etichettare i punti, il che è abbastanza spaventoso :)
Macro

@Macro, hai ragione - un altro argomento valido per avere una buona definizione!
Curioso

@Macro A meno che non abbia frainteso il tuo punto, no. La correlazione è insensibile alle trasformazioni lineari. Quindi cor (X, Y) = cor (a + bX, Y) per finito aeb. La rietichettatura di uno 0/1 come 1/11 non fa nulla per le correlazioni usando quel var o la sua trasformazione lineare.
Alexis,

@Curious vedi il mio commento a Macro sopra. E nota: (1) X <- sample(c(0,1),replace=TRUE,size=100)(2) Y <- X + rnorm(100,0.5)(3) corr(Y,X)(4) X <- 1 + 10*X(5) corr(X,Y): stessi risultati per entrambe le correlazioni!
Alexis,

Risposte:


19

Per un momento, ignoriamo il problema continuo / discreto. Fondamentalmente la correlazione misura la forza della relazione lineare tra variabili e sembra che tu stia chiedendo un modo alternativo per misurare la forza della relazione. Potresti essere interessato a guardare alcune idee dalla teoria dell'informazione . In particolare, penso che potresti voler consultare le informazioni reciproche . Le informazioni reciproche essenzialmente ti danno un modo per quantificare quanto sapere lo stato di una variabile ti dice sull'altra variabile. In realtà penso che questa definizione sia più vicina a ciò che la maggior parte delle persone intende quando pensano alla correlazione.

Per due variabili discrete X e Y, il calcolo è il seguente:

I(X;Y)=yYxXp(x,y)log(p(x,y)p(x)p(y))

Per due variabili continue ci integriamo anziché prendere la somma:

I(X;Y)=YXp(x,y)log(p(x,y)p(x)p(y))dxdy

Il tuo particolare caso d'uso è per un discreto e uno continuo. Piuttosto che integrarsi su una somma o sommare un integrale, immagino che sarebbe più facile convertire una delle variabili nell'altro tipo. Un modo tipico per farlo sarebbe quello di discretizzare la tua variabile continua in bin discreti.

Esistono diversi modi per discretzie sui dati (ad esempio intervalli uguali) e credo che il pacchetto entropia dovrebbe essere utile per i calcoli di IM se si desidera utilizzare R.


1
Grazie. Ma quanto in alto un MI corrisponde a corr = 1 e quanto in basso un MI corrisponde a corr = 0?
Luna,

MI ha un minimo di 0 e MI = 0 se e solo se le variabili sono indipendenti. Tuttavia, MI non ha un limite superiore costante (il limite superiore è correlato alle entropie delle variabili), quindi potresti voler guardare una delle versioni normalizzate se questo è importante per te.
Michael McGowan,

6

Se la variabile categoriale è ordinale e si inserisce la variabile continua in alcuni intervalli di frequenza, è possibile utilizzare Gamma. Disponibili anche dati accoppiati messi in forma ordinale sono la tau di Kendal, la tau di Stuart e Somers D. Questi sono tutti disponibili in SAS usando Proc Freq. Non so come vengano calcolati usando le routine R. Ecco un collegamento a una presentazione che fornisce informazioni dettagliate: http://faculty.unlv.edu/cstream/ppts/QM722/measuresofassociation.ppt#260,5, Misure dell'associazione per le variabili nominali e ordinali


1

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.

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).

XIϕXI=1


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

Corr(Ik,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


0

Pacchetto R mpmi ha la capacità di calcolare le informazioni reciproche per caso variabile misto, vale a dire continuo e discreto. Sebbene ci siano altre opzioni statistiche come il coefficiente di correlazione biseriale (punto) per essere utili qui, sarebbe utile e altamente raccomandato calcolare le informazioni reciproche poiché può rilevare associazioni diverse da quelle lineari e monotoniche.


0

XYXY

  1. Y
  2. Y

Va notato, tuttavia, che la correlazione punto-poliseriale è solo una generalizzazione del punto-biseriale.

Per una visione più ampia, ecco un tavolo di Olsson, Drasgow & Dorans (1982) [1].

coefficienti di correlazione

[1]: Fonte: Olsson, U., Drasgow, F., e Dorans, NJ (1982). Il coefficiente di correlazione poliseriale. Psychometrika, 47 (3), 337–347

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.