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


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

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

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

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

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

т = р * √ n-2 / √ 1-r 2

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

Пример: корреляционный тест в Python

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

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

Например, предположим, что у нас есть следующие две таблицы в 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]

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

 from scipy. stats . stats import pearsonr

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

(0.8076177030748631, 0.004717255828132089)

Вот как интерпретировать результат:

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

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

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

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

 #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

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

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

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

Введение в коэффициент корреляции Пирсона
Что считается «сильной» корреляцией?
Пять гипотез корреляции Пирсона

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *