É significativo calcular a correlação de Pearson ou Spearman entre dois vetores booleanos?


42

Existem dois vetores booleanos, que contêm apenas 0 e 1. Se eu calcular a correlação de Pearson ou Spearman, elas são significativas ou razoáveis?


2
Se ambas as variáveis ​​são dicotômicas, Pearson = Spearman = tau de Kendall. Sim, pode ter sentido. Com dados verdadeiramente binários (booleanos), também faz sentido calcular "Pearson" em dados sem centralizar, isso seria cosseno.
ttnphns

1
... e = Phi (qui-quadrado padronizado) que nos leva da escala à tabela de contingência.
ttnphns

Respostas:


34

A correlação de Pearson e Spearman é definida desde que você tenha e s para as duas variáveis ​​binárias, digamos e . É fácil obter uma boa idéia qualitativa do que eles significam pensando em um gráfico de dispersão das duas variáveis. Claramente, existem apenas quatro possibilidades (de modo que tremer para separar pontos idênticos para visualização é uma boa idéia). Por exemplo, em qualquer situação em que os dois vetores sejam idênticos, sujeitos a ter 0s e 1s em cada um, então, por definição e a correlação é necessariamente . Da mesma forma, é possível que01yx(0,0),(0,1),(1,0),(1,1)y=x1y=1xe então a correlação é .1

Para esta configuração, não há espaço para relações monotônicas que não são lineares. Quando tendo fileiras de s e s sob a convenção habitual midrank as fileiras são apenas uma transformação linear das originais s e s e a correlação de Spearman é necessariamente idêntico para a correlação de Pearson. Portanto, não há razão para considerar a correlação de Spearman separadamente aqui, ou mesmo de modo algum.0101

Correlações surgem naturalmente para alguns problemas que envolvem s e s, por exemplo, no estudo dos processos binários no tempo ou no espaço. No geral, no entanto, haverá melhores maneiras de pensar sobre esses dados, dependendo em grande parte do principal motivo de tal estudo. Por exemplo, o fato de as correlações fazerem muito sentido não significa que a regressão linear é uma boa maneira de modelar uma resposta binária. Se uma das variáveis ​​binárias for uma resposta, a maioria das pessoas estatísticas começará considerando um modelo de logit.01


1
Isso significa que, nessa situação, o coeficiente de correlação de Pearson ou Spearman não é uma boa métrica de similaridade para esses dois vetores binários?
Zhilong Jia

Sim, no sentido de que não mede similaridade e é indefinido para todos os 0s ou todos os 1s para qualquer vetor.
Nick Cox

O caso de 2 vetores idênticos ou "opostos" não está claro para mim. Se x = c (1,1,1,1,1) e y = (0,0,0,0,0), então y = 1-x e parece que você está dizendo que esse deve ser o caso por definição , implicando correlação de -1. Igualmente y = x-1 implicando correlação de +1. Há apenas 1 ponto (5 repetições) em um gráfico de dispersão, de forma que qualquer linha reta possa ser traçada através dele. Parece que a correlação é indefinida neste caso. Desculpe se eu entendi mal o que você quis dizer. @NickCox
PM.

2
Não; Não estou dizendo isso, como indico na minha primeira frase que você deve ter uma mistura de 0s e 1s para que a correlação seja definida. Caso contrário, se o SD de qualquer variável for 0, a correlação será indefinida. Mas editei minha resposta para mencionar isso duas vezes.
Nick Cox

15

Existem métricas de similaridade especializadas para vetores binários, como:

  • Jaccard-Needham
  • Dados
  • Yule
  • Russell-Rao
  • Sokal-Michener
  • Rogers-Tanimoto
  • Kulzinsky

etc.

Para detalhes, veja aqui .


5
Certamente existem muitas referências mais confiáveis ​​e abrangentes. Mesmo no sentido de acertar os nomes dos autores, observe Kulczyński e Tanimoto. Ver, por exemplo, Hubálek, Z. 1982. Coeficientes de associação e similaridade, com base em dados binários (presença-ausência): Uma avaliação. Revisões Biológicas 57: 669–689.
Nick27

5
Obviamente, eles escreveram incorretamente 'Tanimoto', mas 'Kulzinsky' foi propositadamente simplificado. Sua referência é mais credível sem dúvida, mas não é acessível a todos.
Digio

0

Eu não recomendaria usar o coeficiente de correlação de Pearson para dados binários, veja o seguinte contra-exemplo:

set.seed(10) 
a = rbinom(n=100, size=1, prob=0.9) 
b = rbinom(n=100, size=1, prob=0.9)

na maioria dos casos, ambos dão 1

table(a,b)

> table(a,b)
   b
a    0  1
  0  0  3
  1  9 88

mas a correlação não mostra isso

cor(a, b, method="pearson")

> cor(a, b, method="pearson")
[1] -0.05530639

Uma medida de similaridade binária como o índice de Jaccard mostra, no entanto, uma associação muito maior:

install.packages("clusteval")
library('clusteval')
cluster_similarity(a,b, similarity="jaccard", method="independence")

> cluster_similarity(a,b, similarity="jaccard", method="independence")
[1] 0.7854966

Por que é isso? Veja aqui a regressão bivariada simples

plot(jitter(a, factor = .25), jitter(b, factor = .25), xlab="a", ylab="b", pch=15, col="blue", ylim=c(-0.05,1.05), xlim=c(-0.05,1.05))
abline(lm(a~b), lwd=2, col="blue")
text(.5,.9,expression(paste(rho, " = -0.055")))

plot abaixo (pequeno ruído adicionado para tornar o número de pontos mais claro) Linha de regressão bivariada

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.