Кореляція

Вступ до Statistics у Python

Maggie Matsui

Content Developer, DataCamp

Зв'язки між двома змінними

Точкова діаграма звичок сну ссавців: загальний сон на день проти REM-сну на день

  • x = пояснювальна/незалежна змінна
  • y = відгукова/залежна змінна
Вступ до Statistics у Python

Коефіцієнт кореляції

  • Кількісно описує лінійний зв'язок між двома змінними
  • Число між -1 і 1
  • Модуль відповідає силі зв'язку
  • Знак (+ або -) відповідає напряму зв'язку
Вступ до Statistics у Python

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

0,99 (дуже сильний зв'язок)

Точкова діаграма: точки дуже близько до невидимої прямої

Вступ до Statistics у Python

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

0,99 (дуже сильний зв'язок)

Точкова діаграма: точки дуже близько до невидимої прямої

              0,75 (сильний зв'язок)

Точкова діаграма: точки далі від невидимої прямої

Вступ до Statistics у Python

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

0,56 (помірний зв'язок)

Точкова діаграма: точки ще далі від невидимої прямої

Вступ до Statistics у Python

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

0,56 (помірний зв'язок)

Точкова діаграма: точки ще далі від невидимої прямої

             0,21 (слабкий зв'язок)

Точкова діаграма: точки майже випадково розкидані

Вступ до Statistics у Python

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

0,04 (немає зв'язку)

Точкова діаграма: точки повністю випадково розкидані

  • Знаючи значення x, ми нічого не дізнаємось про y
Вступ до Statistics у Python

Знак = напрям

0,75:  зі зростанням x зростає y

Точкова діаграма: y зростає зі зростанням x

-0,75:  зі зростанням x y зменшується

Точкова діаграма: y зменшується зі зростанням x

Вступ до Statistics у Python

Візуалізація зв'язків

import seaborn as sns

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

Точкова діаграма: sleep_rem проти sleep_total

Вступ до Statistics у Python

Додавання трендової лінії

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

plt.show()

Точкова діаграма: sleep_rem проти sleep_total з лінійним трендом

Вступ до Statistics у Python

Обчислення кореляції

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

 

msleep['sleep_rem'].corr(msleep['sleep_total'])
0.751755
Вступ до Statistics у 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}$$

  • Варіації цієї формули:
    • тау Кендалла
    • ро Спірмена
Вступ до Statistics у Python

Давайте потренуємось!

Вступ до Statistics у Python

Preparing Video For Download...