Linguagem R
Correlação entre variáveis, uma aplicação em R
02/05/2024
Linguagem R
- Autores:
- Pedro de Brito Neto ,
Introdução
Em muitas situações, analisar dados pode ser entendido como analisar associações entre variáveis, que podem ser de qualquer tipo, desde aquelas que apresentam resultados provenientes de medições e contagens, até aquelas que apresentam respostas não numéricas. Idade, altura, renda, tipo de parto são exemplos de variáveis. Mas, como identificar relações entre essas variáveis avaliadas em um mesmo indivíduo/objeto? Por exemplo, será que existe associação entre a idade e a renda de um indivíduo? Ou entre a renda e o tipo de parto? A correlação estatística nos permite entender se existe uma relação consistente entre essas variáveis e determinar a direção e a intensidade dessa relação.
Um ponto a ser mencionado é que a correlação não é usada para prever o valor de uma variável a partir de outra. Embora a correlação estatística seja uma medida útil para determinar o grau de associação entre duas variáveis, ela não oferece informações suficientes para fazer previsões precisas sobre os valores específicos de uma variável com base em outra. Isso ocorre porque a correlação mede apenas a força da relação estatística entre as variáveis, sem estabelecer uma relação causal.
Por isso é importante estar sempre atento às limitações das correlações para não ocorrer equívocos na hora de analisar os dados. A correlação fornece um indicador inicial de associação, mas não é suficiente para estabelecer relações de causa e efeito ou fazer previsões de uma variável com base em outra.
Nesse post, iremos falar sobre duas das principais medidas para avaliar a associação entre variáveis quantitativas, a correlação de Pearson e a correlação de Spearman, essa última sendo aplicada também para dados em escala ordinal. Também vamos apresentar o gráfico de dispersão e as funções no R que fornecem essas medidas de associação.
associação.
Diagramas de dispersão
“Um diagrama de dispersão mostra a relação entre duas variáveis quantitativas, medidas nos mesmos indivíduos.
Os valores de uma variável aparecem no eixo horizontal e os valores da outra variável aparecem no eixo
vertical. Cada indivíduo nos dados aparece como o ponto no gráfico determinado pelos valores de ambas as
variáveis para tal indivíduo”. (MOORE, 2011, p.77).
A definição apresentada por Moore (2011) pode ser estendida para alé da análise de indivíduos, quando percebemos que aqui os indivíduos representam unidade amostrais. Ao observar um diagrama de dispersão, podemos visualmente analisar a tendência ou padrão dos pontos no gráfico para intuir o comportamento entre as variáveis analisadas. Dependendo da relação entre elas, os pontos podem formar um padrão linear (indicando uma correlação positiva ou negativa), uma dispersão aleatória (indicando ausência de correlação) ou um padrão não linear (indicando uma relação mais complexa).
Como dito anteriormente, também vamos trabalhar com a parte prática no R. Uma maneira fácil de criar diagramas no R é utilizando o famoso pacote `ggplot2`. Detalhes sobre o uso do pacote podem ser encontrados aqui e aqui
Para o exemplo abaixo iremos utilizar a base Dados de COVID-19 em gestantes e puérperas, que pode ser encontrado no nosso repositório de bases de dados. Nosso interesse é construir o diagrama de dispersão entre as variáveis `porc_premat` e `porc_peso_menor_2500`. veja como é simples:
library(ggplot2)
dados <- readr::read_rds("dados_indicadores.rds")
dados |>
ggplot(aes(porc_peso_menor_2500, porc_premat)) +
geom_point(color = “darkorchid4”) +
theme_bw()
Se quiser alterar o nome dos eixos no gráfico, basta usar o seguinte código:
dados |>
ggplot(aes(porc_peso_menor_2500, porc_premat)) +
geom_point(color = “darkorchid4”) +
theme_bw() +
labs(x = “Porcentagem de peso menor que 2500”,
y = “Porcentagem de prematuridade”)
Medindo o grau de relacionamento de duas variáveis
O grau de relacionamento entre duas variáveis pode ser medido usando o coeficiente de correlação, que é uma medida estatística capaz de quantificar a força e a direção da relação entre variáveis. Existem pelo menos 17 maneiras diferentes de medir o grau de relacionamento entre duas variáveis! Como escolher qual utilizar? Analisar a natureza das variáveis envolvidas e os pressupostos para a validade de cada medida.
Como dito anteriormente, neste post vamos nos aprofundar em dois tipos de correlação: de Pearson e de postos de Spearman.
Correlação de Pearson
O coeficiente de correlação de Pearson, também denominado na literatura por correlação produto-momento, é uma medida da força de uma associação linear entre duas variáveis quantitativas.
O coeficiente de correlação de Pearson amostral, representado por r, varia de -1 a +1. Um valor de +1 indica uma correlação positiva perfeita, o que significa que as variáveis têm uma relação linear positiva em que quando uma variável aumenta, a outra também aumenta de maneira proporcional. Analogamente, um valor de -1 indica uma correlação negativa perfeita, ou seja, as variáveis têm uma relação linear negativa tal que quando uma variável aumenta, a outra diminui de maneira proporcional. Um valor de 0 indica ausência de correlação linear.
O cálculo do coeficiente de correlação de Pearson envolve a covariância entre as duas variáveis e os desvios padrão de cada variável. Essa medida considera tanto a dispersão das variáveis individuais quanto a relação entre eles.
De maneira geral, dado n pares numéricos (x1, y1)…(xn, yn) o coeficiente de correlação amostral r é calculado por:
Algumas propriedades adicionais do coeficiente de correlação de Pearson:
– Independe das unidades com as quais as variáveis x e y foram observadas (adimensional). Isso significa que ele não é afetado por mudanças nas unidades de medida ou por transformações lineares das variáveis, algo que ocorre com a covariância amostral.
– O coeficiente de correlação de Pearson é simétrico, o que significa que a correlação entre as variáveis X e Y é a mesma que a correlação entre as variáveis Y e X.
– O coeficiente de correlação de Pearson é sensível a valores extremos ou outliers nos dados. Se houver pontos discrepantes que se afastem da tendência linear geral, eles podem influenciar significativamente o valor do coeficiente de correlação.
– E por último, mas não menos importante: O coeficiente de correlação de Pearson mede apenas a relação linear entre as variáveis. Ele pode não capturar relações não lineares, mesmo que existam associações substanciais entre as variáveis por meio de outras formas funcionais.
Existe algum critério para considerar uma correlação forte ou fraca? Quanto mais forte a associação
das duas variáveis, mais próximo o coeficiente de correlação de Pearson estará de +1 ou -1, dependendo se a
relação é positiva ou negativa, respectivamente. Alguns autores segerem maneiras de interpretar esses valores.
- Devore (2014) sugere:
- Hinkle, Wiersma & Jurs (2003) sugerem (adaptado):
Lembre-se que r é um coeficiente de correlação amostral de Pearson, ou seja, fornece estimativas da correlação populacional ρ. Assim, a teoria dos testes de hipóteses pode ser utilizada para verificar se com base na estimativa de ρ é possível concluir pela ausência ou não da correlação de Pearson populacional. Para isso, considera-se os pares aleatórios (xi, yj) como sendo tirados de uma população bivariada, o que implica que as distribuições marginais de X e Y são normais, assim como as distribuições condicionais de Y|X e X|Y. Sob essa suposição, construímos o seguinte teste de hipóteses para a correlação:
Hipóteses
em que r é a correlação amostral e n é o número de pares aleatórios observados.
Valor crítico do teste:
Sob H0 verdadeira, a estatística t tem uma distribuição t-Student com n – 2 graus de liberdade. Dessa forma, sob essa distribuição, são obtidos p-valor e valores críticos do teste. Note que a construção do teste de hipóteses para a correlação populacional parte da premissa que a distribuição das variáveis X e Y são conjuntamente normais (normal bivariada), mas e se isso não for verdade? E se marginalmente as distribuiçoes das variáveis tiverem um comportamento assimétrico? Uma possível solução para esse tipo de situação é considerar a correlação de Spearman, teoria que apresentaremos na sequência.
Correlação de Spearman
Também conhecida como correlação de postos, a correlação de Spearman é uma medida estatística que avalia a relação entre duas variáveis. Diferentemente da correlação de Pearson, que é baseada nos valores brutos das variáveis, a correlação de Spearman utiliza a ordem ou posição relativa dos valores, tornando-a adequada para analisar relações não-lineares ou quando os dados não seguem uma distribuição normal.
Com correlação de Spearman é possível obter uma medida de intensidade da associação entre X e Y sem fazer nenhuma pressuposição sobre a distribuição da população através de métodos não-paramétricos. Em outras palavras, não é necessário assumir que os dados seguem nenhuma distribuição específica. Isso torna a correlação de postos uma excelente ferramenta quando a distribuição dos dados não é conhecida.
O coeficiente populacional de Spearman, denotado por ρs, é uma medida de correlação não-paramétrica. Sua versão amostral é denotada por rs.Essa medida, assim como na correlação de Pearson, também varia de -1 a 1, onde -1 indica uma correlação perfeitamente negativa e 1 indica uma correlação perfeitamente positiva.
A correlação de Spearman pode ser usada para avaliar associações de variáveis medidas no mínimo na escala ordinal. A escola ordinal é uma escala de medição que classifica as observações ordenadas, sem necessariamente quantificar a magnitude das diferenças entre as categorias. A correlação de Spearman é apropriada para esse tipo de escala, pois se baseia na classificação das observações em ordem crescente ou decrescente e compara as classificações das duas variáveis.
A correlação de postos avalia a relação monotônica entre duas variáveis pareadas. Em uma relação monotônica, as variáveis tendem a mudar juntas mas não necessariamente a uma taxa constante, diferente por exemplo de uma relação linear. O gráfico abaixo mostra a correlação de Spearman e a de Pearson para o mesmo conjunto de observações.
observações.
O coeficiente de correlação de Sperarman é calculado atribuindo postos as observações. Postos podem ser
definidos da seguinte forma:
– Os dados estão ordenados quando estão arranjados de acordo com algum critério, tal como do menor
para o maior, ou do melhor para o pior.
– Um posto é um número atribuído a um item amostral individual de acordo com a sua posição na lista
ordenada. Ao primeiro item atribui-se o posto 1, ao segundo item, posto 2, e assim por diante.
– Se ocorrer um empate nos postos, o procedimento usual consiste em achar a média dos postos envolvidos
e atribuir esse posto médio a cada um dos itens empatados.
O teste de correlação de Spearman consiste em testar as seguintes hipóteses:
Existem duas formas de calcular a estatística do teste, quando não há empates e quando há empates.
– Sem empates: Depois de converter os dados amostrais em cada amostra em postos, se não existem
postos empatados para a primeira variável e nem para a segunda variável, o valor exato da estatística
do teste é dada por:
onde n é o número de pares de dados e d é a diferença entre os postos de cada par.
– Com empates: Depois de converter os dados amostrais em cada amostra em postos, se qualquer das
variáveis tiverem empates entre seus postos, o valor exato da estatística do teste é dada pela fórmula de
correlação de Pearson substituindo os dados amostrais pelos respectivos postos.
Onde R(X)ie R(Y)i respresentam as classificações das observações i nas variáveis X e Y , respectivamente.
Essas classificações são obtidas atribuindo uma ordem aos valores das variáveis X e Y , ou seja, atribuindo a cada valor um ranking de acordo com sua posição em relação aos outros valores. O valor crítico pode ser dividido de duas formas, para amostras pequenas (n ≤ 30) e amostras grandes (n > 30). Para amostras grandes, os valores são obtidos fazendo:
em que z1−α/2 é o quantil da normal padrão, se teste bilateral. Para teste unilateral, substitua z1−α/2 por z1−α e escolha o sinal de acordo com a hipótese alternativa do teste unilateral.
Vejamos agora como obter essas correlações no R
Correlação no R
No software R é possível calcular correlações de maneiras relativamente fáceis. Uma das formas mais rápidas e
fáceis é utilizando a função cor() do pacote stats que está na base do R. Você pode verificar a documentação
completa dessa função aqui. Essa função possui alguns argumentos, sendo os principais:
– x: um vetor numérico, matriz ou dataframe
– y: um vetor numérico, matriz ou dataframe com dimensões compatíveis para “x”. O padrão é equivalente a “y = x” (mais eficiente).
– method: uma cadeia de caracteres indicando qual coeficiente de correlação (ou covariância) deve ser calculada (“pearson” (padrão), “kendall” ou “spearman”).
Para este exemplo vamos calcular a correlação entre as variáveis porc_peso_menor_2500 (porcentagem depeso menor que 2500g) e porc_premat (porcentagem de partos prematuros) .
cor(dados$porc_peso_menor_2500, dados$porc_premat, method = “pearson”)
## [1] 0.471422
Veja que a saída é o valor da correlação, que neste caso foi de 0,47. Este valor, com base nas tabelas de Devore (2014) e de Hinkle, Wiersma & Jurs (2003), é considerado uma correlação fraca. Como citado anteriormente, o argumento x pode ser um dataframe, isso permite calcular a correlação simultânea entre as variáveis do banco de dados. Lembre-se que o argumento precisa ser numérico. Selecionamos apenas as variáveis da coluna 4 até a 8, para facilitar a visualização.
knitr::kable(cor(dados[,4:8], method = “pearson”), digits = 3)
Veja que a saída acima é a correlação entre todas as variáveis. Na diagonal principal temos a correlação da variável com ela mesmo, por isso o valor é “1”. Note também que temos a presença de correlações positivas e negativas, onde, a maioria das correlações são próximas de 0. Note que nos dois exemplos especificamos o método pearson. Para utilizar o método de correlação de Spearman, basta indicar no argumento.
knitr::kable(cor(dados[,4:8], method = “spearman”), digits = 3)
Podemos também obter o p-valor para interpretar se estatisticamente há ou não correlação. A função cor.test() no R é usada para realizar testes de correlação entre duas variáveis, mas para apenas um par de variáveis por vez. Os argumentos são semelhantes a função cor(). Veja uma aplicação.
cor.test(dados$porc_peso_menor_2500, dados$porc_prema, method = “pearson”)
##
## Pearson’s product-moment correlation
##
## data: dados$porc_peso_menor_2500 and dados$porc_prema
## t = 39.887, df = 5568, p-value < 2.2e-16
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
## 0.4507399 0.4915982
## sample estimates:
## cor
## 0.471422
Veja que a função retorna algumas informações importantes, como, o coeficiente de correlação de Pearson, o p-valor, intervalo de confiança de 95% para a correlação, entre outras. Neste caso, o p-valor é muito pequeno (menor que 2.2e-16), o que sugere uma forte evidência contra a hipótese nula de que não há correlação entre as variáveis.
Referências
– Torres, Lucas, Selma D. Yznaga e Kelly M. Moore. “Discriminação e sofrimento psicológico latino: o papel
moderador da exploração e compromisso da identidade étnica.” American Journal of Orthopsychiatry
81.4 (2011): 526.
– Rowe, Jason F., e outros. “Validação dos múltiplos candidatos a planetas do Kepler. III. Análise da
curva de luz e anúncio de centenas de novos sistemas multiplanetários.” The Astrophysical Journal
784.1 (2014): 45.
– Hinkle, Dennis E., William Wiersma, and Stephen G. Jurs. Applied statistics for the behavioral sciences.
Vol. 663. Boston: Houghton Mifflin, 2003.