Один из способов количественной оценки взаимосвязи между двумя переменными — использовать Коэффициент корреляции Пирсона, измеряющий линейную связь между двумя переменными.
Всегда принимает значение от -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.
Дополнительные ресурсы
Следующие руководства содержат дополнительную информацию о коэффициентах корреляции:
Введение в коэффициент корреляции Пирсона
Что считается "сильной" корреляцией?
Пять допущений для корреляции Пирсона