Como calcular a correlação de classificação de spearman em python


Nas estatísticas, a correlação refere-se à força e à direção de uma relação entre duas variáveis. O valor de um coeficiente de correlação pode variar de -1 a 1, com as seguintes interpretações:

  • -1: uma relação negativa perfeita entre duas variáveis
  • 0: nenhuma relação entre duas variáveis
  • 1: uma relação positiva perfeita entre duas variáveis

Um tipo especial de correlação é chamado de correlação de classificação de Spearman , que é usada para medir a correlação entre duas variáveis classificadas. (por exemplo, a classificação da pontuação no exame de matemática de um aluno em relação à classificação da pontuação no exame de ciências em uma turma).

Este tutorial explica como calcular a correlação de classificação de Spearman entre duas variáveis em Python

Exemplo: correlação de classificação de Spearman em Python

Suponha que temos o seguinte DataFrame do pandas que contém a pontuação do exame de matemática e a pontuação do exame de ciências de 10 alunos em uma turma específica:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({'student': ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J'],
                   'math': [70, 78, 90, 87, 84, 86, 91, 74, 83, 85],
                   'science': [90, 94, 79, 86, 84, 83, 88, 92, 76, 75]})

Para calcular a correlação do Spearman Rank entre as pontuações de matemática e ciências, podemos usar a função spearmanr() em scipy.stats :

 from scipy. stats import spearmanr

#calculate Spearman Rank correlation and corresponding p-value
rho, p = spearmanr(df[' math '], df[' science '])

#print Spearman rank correlation and p-value
print (rho)

-0.41818181818181815

print (p)

0.22911284098281892

A partir do resultado, podemos ver que a correlação de classificação de Spearman é -0,41818 e o valor p correspondente é 0,22911 .

Isso indica que há uma correlação negativa entre as notas dos exames de ciências e matemática.

No entanto, como o valor p da correlação não é inferior a 0,05, a correlação não é estatisticamente significativa.

Observe que também poderíamos usar a seguinte sintaxe para simplesmente extrair o coeficiente de correlação ou valor p:

 #extract Spearman Rank correlation coefficient
spearmanr(df[' math '], df[' science '])[0]

-0.41818181818181815

#extract p-value of Spearman Rank correlation coefficient
spearmanr(df[' math '], df[' science '])[1] 

0.22911284098281892

Recursos adicionais

Como calcular a correlação de classificação de Spearman em R
Como calcular a correlação de classificação de Spearman no Excel
Como calcular a correlação de classificação de Spearman no Stata

Add a Comment

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