Статистика

Как рассчитать ранговую корреляцию Спирмена в Python

В: Статистика

В статистике корреляция относится к силе и направлению связи между двумя переменными. Значение коэффициента корреляции может варьироваться от -1 до 1 со следующими интерпретациями:

  • -1 : идеальная отрицательная связь между двумя переменными
  • 0: нет связи между двумя переменными
  • 1: идеальная положительная связь между двумя переменными

Один особый тип корреляции называется ранговая корреляция Спирмена, которая используется для измерения корреляции между двумя ранжированными переменными. (например. оценка учащегося на экзамене по математике и оценка его оценки на экзамене по естественным наукам в классе).

Это учебник объясняет, как вычислить ранговую корреляцию Спирмена между двумя переменными в Python

Пример: ранговая корреляция Спирмена в Python

Предположим, у нас есть следующий кадр данных pandas, который содержит стиль оценка экзамена по математике и экзамена по естественным наукам 10 учащихся в определенном классе:

import pandas as pd

#create DataFrame
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]})

Чтобы вычислить корреляцию рейтинга Спирмена между оценками по математике и естественным наукам , мы можем использовать spearmanr() из scipy.stats:

from scipy.stats import spearmanr

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

#напечатать ранговая корреляция Спирмена и p-значение
print(rho)

# -0.41818181818181815

print(p)

# 0.22911284098281892

Из вывода видно, что ранговая корреляция Спирмена составляет -0,41818, а соответствующее значение p равно 0,22911.

Это указывает на наличие отрицательной корреляции между результатами экзаменов по естественным наукам и математике.

Однако, поскольку p-значение корреляции не меньше 0,05, корреляция не является статистически значимой.

Обратите внимание, что мы также можем использовать следующий синтаксис, чтобы просто извлечь коэффициент корреляции или значение p:

#Коэффициент ранговой корреляции Спирмена
spearmanr(df['math'], df['science'])[0]

# -0.41818181818181815

#извлечь p-значение ранговой корреляции Спирмена
spearmanr(df['math'], df['science'])[1] 

# 0.22911284098281892

Дополнительные ресурсы

Как рассчитать ранговую корреляцию Спирмена в R
Как рассчитать ранговую корреляцию Спирмена в Excel
Как рассчитать ранговую корреляцию Спирмена в статистике

Еще от кодкамп
Статистика

Как рассчитать коэффициент внутриклассовой корреляции в Python

Коэффициент внутриклассовой корреляции (ICC или intraclass correlation coefficient) используется, чтобы определить, могут ли предметы или предметы быть надежно оценены разными
Замечательно! Вы успешно подписались.
Добро пожаловать обратно! Вы успешно вошли
Вы успешно подписались на кодкамп.
Срок действия вашей ссылки истек.
Ура! Проверьте свою электронную почту на наличие волшебной ссылки для входа.
Успех! Ваша платежная информация обновлена.
Ваша платежная информация не была обновлена.