Como estudo a “correlação” entre uma variável contínua e uma variável categórica?


19

O que é uma medida significativa de "correlação" para estudar a relação entre esses dois tipos de variáveis?

Em R, como fazer isso?


1
antes de perguntar "como você estuda", você deve ter a resposta para "como você define" :-) BTW, se você projetar a variável categórica em números inteiros, já poderá fazer a correlação.
curioso

2
@Tomas, se você fizer isso, a força estimada do relacionamento depende de como você decidiu rotular os pontos, o que é meio assustador :)
Macro

@ Macro, você está certo - outro argumento sólido para ter uma boa definição!
curioso

@ Macro A menos que eu tenha entendido mal o seu ponto, não. A correlação é insensível a transformações lineares. Portanto, cor (X, Y) = cor (a + bX, Y) para os finitos a e b. A nova identificação de um 0/1 como 1/11 não faz nada para correlações usando esse var ou sua transformação linear.
Alexis

@Curious ver meu comentário para Macro acima. E observe: (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): mesmos resultados para ambas as correlações!
Alexis

Respostas:


19

Por um momento, vamos ignorar a questão contínua / discreta. Basicamente, a correlação mede a força do relacionamento linear entre variáveis, e você parece estar pedindo uma maneira alternativa de medir a força do relacionamento. Você pode estar interessado em examinar algumas idéias da teoria da informação . Especificamente, acho que você pode querer procurar informações mútuas . As informações mútuas essencialmente fornecem uma maneira de quantificar o quanto o estado de uma variável informa sobre a outra variável. Na verdade, acho que essa definição está mais próxima do que a maioria das pessoas quer dizer quando pensa em correlação.

Para duas variáveis ​​discretas X e Y, o cálculo é o seguinte:

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

Para duas variáveis ​​contínuas, integramos ao invés de somar a soma:

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

Seu caso de uso específico é para um discreto e um contínuo. Em vez de integrar sobre uma soma ou somar sobre uma integral, imagino que seria mais fácil converter uma das variáveis ​​no outro tipo. Uma maneira típica de fazer isso seria discretizar sua variável contínua em compartimentos discretos.

Existem várias maneiras de discretizar dados (por exemplo, intervalos iguais), e acredito que o pacote de entropia deve ser útil para os cálculos de MI, se você quiser usar R.


1
Obrigado. Mas quão alto um MI corresponde ao corr = 1 e quão baixo um MI corresponde ao corr = 0?
Luna

MI tem um mínimo de 0 e MI = 0 se e somente se as variáveis ​​forem independentes. O MI não possui um limite superior constante (o limite superior está relacionado às entropias das variáveis); portanto, convém examinar uma das versões normalizadas, se isso for importante para você.
Michael McGowan

6

Se a variável categórica for ordinal e você agrupar a variável contínua em alguns intervalos de frequência, poderá usar Gamma. Também estão disponíveis para dados emparelhados colocados em forma ordinal a tau de Kendal, a tau de Stuart e Somers D. Todos estão disponíveis no SAS usando o Proc Freq. Não sei como eles são calculados usando rotinas R. Aqui está um link para uma apresentação que fornece informações detalhadas: http://faculty.unlv.edu/cstream/ppts/QM722/measuresofassociation.ppt#260,5,Medidas de associação para variáveis ​​nominais e ordinais


1

Uma variável categórica é efetivamente apenas um conjunto de variáveis ​​indicadoras. É uma idéia básica da teoria da medição que tal variável seja invariável à nova rotulagem das categorias; portanto, não faz sentido usar a rotulação numérica das categorias em qualquer medida da relação entre outra variável (por exemplo, 'correlação') . Por esse motivo, a medida da relação entre uma variável contínua e uma variável categórica deve se basear inteiramente nas variáveis ​​indicadoras derivadas dessa última.

Dado que você deseja uma medida de 'correlação' entre as duas variáveis, faz sentido olhar para a correlação entre uma variável aleatória contínua e uma variável aleatória indicadora I derivada de uma variável categórica. Deixando & Phi; P ( I = 1 ) tem-se:XIϕP(I=1)

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

que dá:

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

Portanto, a correlação entre uma variável aleatória contínua e uma variável aleatória indicadora I é uma função bastante simples da probabilidade do indicador ϕ e o ganho padronizado no valor esperado de X do condicionamento em I = 1 . Observe que essa correlação não requer nenhuma discretização da variável aleatória contínua.XIϕXI=1


Para uma variável categórica geral com gama 1 , . . . , m você apenas estenderia essa idéia para ter um vetor de valores de correlação para cada resultado da variável categórica. Para qualquer resultado C = k , podemos definir o indicador correspondente I kI ( C = k ) e temos:C1,...,mC=kIkI(C=k)

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

Podemos então definir Corr(C,X)(Corr(I1,X),...,Corr(Im,X)) como o vector de valores de correlação para cada categoria da variável aleatória categórica. Este é realmente o único sentido em que faz sentido falar sobre 'correlação' para uma variável aleatória categórica.

kCov(Ik,X)=0Xm1


(x1,c1),...,(xn,cn) we can estimate the parts of the correlation equation as:

ϕ^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.

Substitution of these estimates would yield a basic estimate of the correlation vector. If you have parametric information on X then you could estimate the correlation vector directly by maximum likelihood or some other technique.


0

R package mpmi has the ability to calculate mutual information for mixed variable case, namely continuous and discrete. Although there are other statistical options like (point) biserial correlation coefficient to be useful here, it would be beneficial and highly recommended to calculate mutual information since it can detect associations other than linear and monotonic.


0

If X is a continuous random variable and Y is a categorical r.v.. the observed correlation between X and Y can be measured by

  1. the point-biserial correlation coefficient, if Y is dichotomous;
  2. the point-polyserial correlation coefficient, if Y is polychotomous with ordinal categories.

It should be noted, though, that the point-polyserial correlation is just a generalization of the point-biserial.

For a broader view, here's a table from Olsson, Drasgow & Dorans (1982)[1].

correlation coefficients

[1]: Source: Olsson, U., Drasgow, F., & Dorans, N. J. (1982). The polyserial correlation coefficient. Psychometrika, 47(3), 337–347

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.