Корреляция

Введение в статистику на Python

Maggie Matsui

Content Developer, DataCamp

Связь между двумя переменными

Диаграмма рассеяния привычек сна млекопитающих: общее время сна в день и фаза быстрого сна в день

  • x = объясняющая/независимая переменная
  • y = зависимая/отклик переменная
Введение в статистику на Python

Коэффициент корреляции

  • Количественно описывает линейную связь между двумя переменными
  • Число от -1 до 1
  • Модуль соответствует силе связи
  • Знак (+ или -) указывает на направление связи
Введение в статистику на Python

Модуль = сила связи

0,99 (очень сильная связь)

Диаграмма рассеяния с точками, очень близкими к невидимой линии

Введение в статистику на Python

Модуль = сила связи

0,99 (очень сильная связь)

Диаграмма рассеяния с точками, очень близкими к невидимой линии

              0,75 (сильная связь)

Диаграмма рассеяния с точками, дальше отстоящими от невидимой линии

Введение в статистику на Python

Модуль = сила связи

0,56 (умеренная связь)

Диаграмма рассеяния с точками, ещё дальше от невидимой линии

Введение в статистику на Python

Модуль = сила связи

0,56 (умеренная связь)

Диаграмма рассеяния с точками, ещё дальше от невидимой линии

             0,21 (слабая связь)

Диаграмма рассеяния с точками, выглядящими почти полностью случайно рассеянными

Введение в статистику на Python

Модуль = сила связи

0,04 (связь отсутствует)

Диаграмма рассеяния с точками, выглядящими полностью случайно рассеянными

  • Зная значение x, ничего нельзя сказать о y
Введение в статистику на Python

Знак = направление

0,75:  при росте x растёт и y

Диаграмма рассеяния, где y растёт по мере роста x

-0,75:  при росте x убывает y

Диаграмма рассеяния, где y убывает по мере роста x

Введение в статистику на Python

Визуализация зависимостей

import seaborn as sns

sns.scatterplot(x="sleep_total", y="sleep_rem", data=msleep)
plt.show()

Диаграмма рассеяния sleep_rem и sleep_total

Введение в статистику на Python

Добавление линии тренда

import seaborn as sns
sns.lmplot(x="sleep_total", y="sleep_rem", data=msleep, ci=None)

plt.show()

Диаграмма рассеяния sleep_rem и sleep_total с линией тренда

Введение в статистику на Python

Вычисление корреляции

msleep['sleep_total'].corr(msleep['sleep_rem'])
0.751755

 

msleep['sleep_rem'].corr(msleep['sleep_total'])
0.751755
Введение в статистику на Python

Способы вычисления корреляции

  • В этом курсе используется: корреляция Пирсона   ($r$)
    • Наиболее распространённая
    • $\bar{x} =$ среднее значение $x$
    • $\sigma_x =$ стандартное отклонение $x$

$$ r = \frac{1}{n - 1} \sum_{i=1}^{n} \frac{(x_i - \bar{x})(y_i - \bar{y})}{\sigma_x \cdot \sigma_y}$$

  • Другие варианты формулы:
    • Тау Кендалла
    • Ро Спирмена
Введение в статистику на Python

Давайте потренируемся!

Введение в статистику на Python

Preparing Video For Download...