складність 2/5 Безкоштовно
Correlation
Одне число про те, наскільки щільно дві змінні лягають на пряму. Воно не каже нічого про нахил тієї прямої, а близьке до нуля не означає, що вони не пов’язані.
Інтуїція
Кореляція стискає зв’язок між двома змінними в одне число між −1 і 1. Це стиснення і є всією суттю, і всією проблемою: одне число не може нести форму зв’язку, а те, яке воно несе, відповідає на вужче питання, ніж припускає більшість читачів.
Питання, на яке вона відповідає, — наскільки щільно ці точки лягають на пряму. Не наскільки сильно вони пов’язані і не наскільки змінюється y, коли змінюється x. Це три різні питання, і кореляція відповідає лише на перше [1, §7.6].
Формальне визначення
Візьміть кожну змінну, відніміть її середнє й поділіть на її стандартне відхилення — те, що [1, §7.3] називає переведенням у стандартні оцінки. Помножте два стандартизовані ряди поточково й візьміть середнє, як каже формула вгорі сторінки.
Саме з кроку стандартизації й походить тлумачення. Сама лише коваріація, яку [1, §7.4] визначає як середній добуток двох відхилень, має одиниці x, помножені на одиниці y, тож її не можна порівнювати між парами змінних. Ділення на обидва стандартні відхилення прибирає одиниці й притискає результат у [−1, 1].
Воно прибирає ще дещо, і це перший сюрприз.
Як це працює
Оскільки обидві змінні стандартизовано, будь-яке масштабування кожної з них скорочується. Наслідок у тому, що кореляція не пов’язана з нахилом [1, §7.6]. Зв’язок, у якому y росте на одну десятитисячну на одиницю x, і зв’язок, у якому він росте на десять тисяч, мають однакову кореляцію, якщо обидва однаково щільні.
За це варто триматися, бо «сильно корельовані» часто чують як «великий ефект». Кореляція 0.99 між двома змінними каже, що точки лежать близько до прямої. Вона не каже геть нічого про те, чи зрушення x на одну одиницю рухає y сильно, чи на щось, не варте вимірювання.
Де застосовується
Як перше просіювання по багатьох парах змінних, де матриця кореляцій дешева й показує, які зв’язки варто намалювати. Як вхід для відбору ознак, де сильно корельовані ознаки сигналять про надлишковість. І як основа R²: у простій лінійній регресії це рівно квадрат кореляції — тож r 0.7 відповідає 49% дисперсії, а не 70% чогось.
[2, §1.3.3.26] перелічує питання, на які відповідає діаграма розсіювання, і сам цей перелік доводить суть: чи пов’язані X і Y та чи пов’язані X і Y лінійно — це два окремі питання в ньому. Кореляція відповідає лише на друге.
Чому і коли
Беріть її, коли маєте підстави чекати лінійного зв’язку, коли обидві змінні приблизно симетричні й коли ви й так подивитеся на діаграму розсіювання. Беріть натомість рангову кореляцію, коли зв’язок монотонний, але викривлений, або коли ймовірні викиди.
Не беріть її саму. Це число є підсумком картинки, і підсумок вірний лише для однієї форми картинки.
Практичний приклад
Чотири демонстрації, усі в scripts/correlation.py. Перша перевіряє твердження
про нахил.
Python 13 рядків Показати код Сховати код
import numpy as np
def pearson(x, y):
"""Standard scores, then the mean of their products (Think Stats 7.4-7.5)."""
zx = (x - x.mean()) / x.std()
zy = (y - y.mean()) / y.std()
return float((zx * zy).mean())
x = np.linspace(-3, 3, 400)
for m in (0.0001, 0.01, 1.0, 10000.0):
print(f"{'m * x':>14}{m:>12g}{pearson(x, m * x):>12.6f}")Вивід
the same relationship at four steepnesses
y = slope r
m * x 0.0001 1.000000
m * x 0.01 1.000000
m * x 1 1.000000
m * x 10000 1.000000Вісім порядків величини нахилу, одне значення r.
Нульова кореляція, досконала залежність
[1, §7.6] перестерігає, що кореляція біля нуля не дає права робити висновок про відсутність зв’язку — r Пірсона міряє лише лінійні зв’язки, а там, де зв’язок нелінійний, вона недооцінює силу. Доведено до краю:
y is an exact function of x in every row below
relationship r R^2 of the right fit
y = x (linear) 1.000000 1.000000
y = x^2 (symmetric) -0.000000 1.000000
y = |x| -0.000000 0.937506
y = cos(pi x) 0.000000 0.893510У кожному рядку y визначено через x точно — у цій таблиці немає жодного
шуму. Три з чотирьох показують кореляцію нуль. Змінна може бути досконалою
функцією іншої й не корелювати з нею зовсім.
Той самий підсумок, чотири різні картинки
Anscombe's quartet: four datasets, one summary
set mean x var x mean y var y r fitted line
I 9.00 11.00 7.501 4.127 0.816 y = 3.00 + 0.50x
II 9.00 11.00 7.501 4.128 0.816 y = 3.00 + 0.50x
III 9.00 11.00 7.500 4.123 0.816 y = 3.00 + 0.50x
IV 9.00 11.00 7.501 4.123 0.817 y = 3.00 + 0.50xАнскомб збудував їх у 1973 році, і вони лишаються найощаднішим аргументом на користь того, щоб малювати дані. Кожне число, яке подає кореляційний аналіз, збігається на всіх чотирьох; лінійним зв’язком із розкидом є лише перший. Другий — чиста парабола, третій — точна пряма з однією зіпсованою точкою, а четвертий не містить жодної варіації в x, крім одного-єдиного спостереження — тож одна точка задає і нахил, і кореляцію.
Що відновлюють ранги
Pearson against Spearman
relationship Pearson Spearman
y = exp(x), monotone 0.9012 1.0000
y = log(x), monotone 0.9248 1.0000
y = x with one outlier -0.1792 0.8891
y = x^2 on symmetric x -0.0000 -0.0022Заміна значень їхніми рангами — це друге перетворення, яке описує [1, §7.3], — виправляє перші два рядки точно: монотонний зв’язок є досконало монотонним у рангах, хоч якої він форми.
Третій рядок — той, який варто запам’ятати. П’ятдесят точок, що лежать точно на прямій, плюс один викид, і Пірсон подає −0.18 — не просто ослаблену, а перевернуту за знаком. Спірмен подає 0.89, бо ранг не може бути екстремальним: викид є просто найбільшим значенням, а не значенням, у сорок разів більшим, ніж мало б бути.
Останній рядок є межею цього трюку. Ранги не рятують зв’язку, який не є монотонним.
Типові помилки
Читати r як розмір ефекту. Кореляція за побудовою не залежить від масштабу, тож вона не може сказати вам, наскільки рухається y. Якщо питання саме в цьому, підженіть пряму й подайте нахил у його одиницях [1, §7.6].
Читати r біля нуля як незалежність. Це дає право лише на один висновок: немає лінійного зв’язку. У таблиці вище є три контрприклади, де залежність точна [1, §7.6].
Підносити його до квадрата в голові. r = 0.7 не є «на 70 відсотків пов’язані». Його квадрат є часткою поясненої дисперсії, а 0.49 відчувається інакше, ніж 0.7 [3, §10.5].
Дозволяти одній точці вирішувати. Один викид зрушив кореляцію з +1 до −0.18 вище [1, §7.7]. Завжди малюйте, перш ніж вірити [1, §7.6].
Брати її за свідчення причинності. Кореляція симетрична, а причинність — ні, і третя змінна може породити весь зв’язок [1, §7.8] — див. конфаундинг, де та сама регресія на тому самому ґатунку даних правильна в одному світі й дуже неправильна в іншому.
Ще не прочитаноДочитайте сторінку до кінця — і вона вважатиметься прочитаною.
Зберігайте свій прогресЗ доступом назавжди кожна дочитана сторінка позначається, і ви продовжуєте з того місця, де зупинилися, на всіх своїх пристроях.
Відкрити доступПеревірте себе
3 запитання
Кожну відповідь пояснено: який розділ вона перевіряє і з якого джерела.
Джерела
- Think Stats — 7. Relationships between variablesbook · звірено 2026-09-20https://greenteapress.com/thinkstats2/html/thinkstats2008.html
- e-Handbook of Statistical Methods — 1.3.3.26 Scatter Plotstandard · звірено 2026-09-20https://www.itl.nist.gov/div898/handbook/eda/section3/scatterp.htm
- Think Stats — 10. Linear least squaresbook · звірено 2026-10-04https://greenteapress.com/thinkstats2/html/thinkstats2011.html