Como realizar um teste de correlação em python (com exemplo)


Uma forma de quantificar a relação entre duas variáveis é utilizar o coeficiente de correlação de Pearson , que mede a associação linear entre duas variáveis .

Sempre assume um valor entre -1 e 1 onde:

  • -1 indica uma correlação linear perfeitamente negativa
  • 0 indica nenhuma correlação linear
  • 1 indica uma correlação linear perfeitamente positiva

Para determinar se um coeficiente de correlação é estatisticamente significativo, você pode calcular a pontuação t e o valor p correspondentes.

A fórmula para calcular o escore t de um coeficiente de correlação (r) é:

t = r * √ n-2 / √ 1-r 2

O valor p é então calculado como o valor p bicaudal correspondente para a distribuição t com n-2 graus de liberdade.

Exemplo: teste de correlação em Python

Para determinar se o coeficiente de correlação entre duas variáveis é estatisticamente significativo, você pode realizar um teste de correlação em Python usando a função pearsonr da biblioteca SciPy .

Esta função retorna o coeficiente de correlação entre duas variáveis, bem como o valor p bicaudal.

Por exemplo, suponha que temos as duas tabelas a seguir em Python:

 #create two arrays
x = [3, 4, 4, 5, 7, 8, 10, 12, 13, 15]
y = [2, 4, 4, 5, 4, 7, 8, 19, 14, 10]

Podemos importar a função Pearsonr e calcular o coeficiente de correlação de Pearson entre as duas tabelas:

 from scipy. stats . stats import pearsonr

#calculation correlation coefficient and p-value between x and y
pearsonr(x, y)

(0.8076177030748631, 0.004717255828132089)

Veja como interpretar o resultado:

  • Coeficiente de correlação de Pearson (r): 0,8076
  • Valor p bilateral: 0,0047

Sendo o coeficiente de correlação próximo de 1, isso nos diz que existe uma forte associação positiva entre as duas variáveis.

E como o valor p correspondente é inferior a 0,05, concluímos que existe uma associação estatisticamente significativa entre as duas variáveis.

Observe que também podemos extrair o coeficiente de correlação individual e o valor p da função de Pearson :

 #extract correlation coefficient (rounded to 4 decimal places)
r = round(pearsonr(x, y)[ 0 ], 4)

print (r)

0.8076

#extract p-value (rounded to 4 decimal places) 
p = round(pearsonr(x, y)[ 1 ], 4)

print (p) 

0.0047

Esses valores são um pouco mais fáceis de ler em comparação com a saída da função Pearsonr original.

Recursos adicionais

Os tutoriais a seguir fornecem informações adicionais sobre coeficientes de correlação:

Uma introdução ao coeficiente de correlação de Pearson
O que é considerado uma correlação “forte”?
As cinco hipóteses da correlação de Pearson

Add a Comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *