Статистика

Как выполнить корреляционный тест в Python (с примером)

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

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

Всегда принимает значение от -1 до 1, где:

  • -1 указывает на совершенно отрицательную линейную корреляцию
  • 0 указывает на отсутствие линейной корреляции
  • 1 указывает на совершенно положительную линейную корреляцию

Чтобы определить, корреляция является статистически значимым, можно рассчитать соответствующий t-показатель и значение p.

Формула для расчета t-оценка коэффициента корреляции (r):

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

Затем p-значение рассчитывается как соответствующие два- одностороннее значение p для t-распределения с n-2 степенями свободы.

Пример: корреляция Тест на Python

Чтобы определить, является ли коэффициент корреляции между двумя переменными статистически значимым, вы можете выполнить корреляционный тест на Python с использованием функции pearsonr из библиотеки SciPy.

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

Например, предположим, что у нас есть следующие два массива в Python:

#создать два массива

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

Мы можем импортировать функцию pearsonr и вычислить коэффициент корреляции Пирсона между двумя массивами:

from scipy.stats.stats import pearsonr
#расчет коэффициента корреляции и значения p между x и y

pearsonr(x, y)
# (0.8076177030748631, 0.004717255828132089)

Вот как интерпретировать вывод:

  • Коэффициент корреляции Пирсона (r): 0,8076
  • Двустороннее значение p: 0,0047

Поскольку коэффициент корреляции близок к 1, это говорит нам о сильной положительной связи между двумя переменными.

И поскольку соответствующее значение p меньше 0,05, мы заключаем, что существует статистически значимая связь между двумя переменными.

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

#коэффициент корреляции (с округлением до 4 знаков после запятой)
r = round(pearsonr(x, y)[0], 4)

print(r)

# 0.8076

#p-value ( округляется до 4 десятичных знака)
p = round(pearsonr(x, y)[1], 4)

print(p) 

# 0.0047

Эти значения немного легче читать по сравнению с выходными данными исходной функции pearsonr.

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

Следующие руководства содержат дополнительную информацию о коэффициентах корреляции:

Введение в коэффициент корреляции Пирсона
Что считается "сильной" корреляцией?
Пять допущений для корреляции Пирсона

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

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

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