Перейти до змісту
Увійти

Теорія

Коефіцієнт кореляції: як дві метрики рухаються разом

Як виміряти спільний рух двох метрик коефіцієнтом кореляції (Пірсона і Спірмена) і чому саме по собі це нічого не доводить про причину.

~10 хв читання · 11 вправ · 250 балів

Перед початком

Більше грошей на рекламу — більше замовлень?

Новий модуль у продуктовій команді Котокорму — про те, як метрики пов'язані між собою. Минулого тижня постало запитання: чи справді більший рекламний бюджет дає більше замовлень. Звучить очевидно, але на даних цього ніхто не перевіряв.

У цьому уроці ти візьмеш десять тижнів рекламних витрат і замовлень, побудуєш графік і зведеш те, наскільки тісно вони рухаються разом, до одного числа — коефіцієнта кореляції, пам'ятаючи, чого він довести не може.

Як читати діаграму розсіювання

Діаграма розсіювання — перше, що варто побудувати, коли підозрюєш зв'язок між двома метриками. Кожна крапка — одне спостереження, тут один тиждень: рекламні витрати по осі x, замовлення з реклами по осі y.

Мультяшний кіт біля ноутбука: з одного боку помаранчевий мегафон розсипає монети, з іншого стоять коробки корму, між ними пунктирна стежка.
Питання дня: коли Котокорм витрачає більше на рекламу, чи зростають замовлення?

Читай її в три проходи:

  • напрямок. Крапки піднімаються зліва знизу вправо вгору (додатний зв'язок), опускаються (від'ємний) чи не мають нахилу взагалі?
  • форма. Вони йдуть приблизно прямою смугою, кривою чи окремими скупченнями?
  • розкид. Наскільки щільно вони тримаються смуги? Вузька смуга — сильний зв'язок, розмита хмара — слабкий.

Реальні дані майже ніколи не лежать на ідеальній прямій. За десять тижнів Котокорму крапки явно дрейфують угору, але в тижні 4 витрати були більші, ніж у тижні 3, а замовлень менше. Це нормально: свята, брак товару й конкуренти додають шуму. Закономірність звучить як «більші витрати зазвичай супроводжуються більшими замовленнями», а не «кожен долар дає однакову кількість замовлень».

Рекламні витрати й замовлення з реклами за 10 тижнівКожна крапка — один тиждень. Замовлень зазвичай більше в тижні з більшими рекламними витратами, але крапки не лежать на ідеальній прямій.

Дані графіка

Рекламні витрати, USDЗамовлення з реклами
20020
30023
35030
40028
45036
Показати ще 5 рядків
50033
55042
60038
65048
70044

Малюй графік до будь-яких обчислень: одне число може сховати криву чи викид, які око помітить одразу.

  • Так
    «Тижні з більшими витратами зазвичай дають більше замовлень, кілька тижнів випадають із тенденції.»

    Напрямок, сила й винятки в одному реченні.

  • Не так
    «Крапки йдуть угору, тож кожні додаткові 100 дол. дають однаково замовлень.»

    Сприймає шумний дрейф як ідеальну пряму.

Коваріація: чи рухаються метрики разом?

Коваріація перетворює нахил діаграми розсіювання на число. Для кожного тижня беремо два відхилення: наскільки витрати відрізняються від свого середнього (x − x̄) і наскільки замовлення відрізняються від свого (y − ȳ). Перемножуємо їх.

cov(x,y)=1n−1∑i=1n(xi−xˉ)(yi−yˉ)\text{cov}(x,y) = \frac{1}{n-1}\sum_{i=1}^{n}(x_i-\bar{x})(y_i-\bar{y})
Коваріація: середній добуток відхилень. Додатна означає, що змінні мають тенденцію рухатися разом; від'ємна — що в протилежних напрямках.

Графік: Рекламні витрати й замовлення з реклами за 10 тижнів · є вище

  • Обидва вище середнього або обидва нижче: добуток додатний.
  • Одне вище, а друге нижче: добуток від'ємний.
Дві пари котів на гойдалках: ліворуч обидва злітають разом, праворуч один піднімається, коли інший опускається.
Коваріація питає одне: чи метрики здебільшого зростають і падають разом, чи навпаки?

Додаємо добутки й ділимо на n − 1. Якщо метрики зростають і падають разом, переважають додатні добутки й коваріація додатна. Якщо одна зростає, коли друга падає, — від'ємна. Якщо вони непов'язані, добутки мають різні знаки, і сума опиняється близько нуля.

Для десяти тижнів Котокорму сума добутків — 12 460, явно додатна, тож коваріація — 12 460 / 9 ≈ 1 384.

Слабке місце — одиниці виміру. Коваріацію вимірюють у доларах × замовлення, тож її розмір залежить від масштабу: запиши витрати в центах — і вона виросте в сто разів, хоча насправді нічого не змінилося. Тому коваріація показує напрямок, але не силу зв'язку.

  • Так
    Сума добутків відхилень = +12 460 → витрати й замовлення зазвичай рухаються разом.
  • Не так
    «Коваріація — 1 384, отже, зв'язок дуже сильний.»

    Розмір коваріації залежить від одиниць; читати можна лише її знак.

r Пірсона: коваріація без одиниць виміру

Коефіцієнт кореляції Пірсона розв'язує проблему одиниць коваріації: її ділять на розкид обох змінних:

r = Σ(x − x̄)(y − ȳ) / √[Σ(x − x̄)² × Σ(y − ȳ)²]

r=∑(xi−xˉ)(yi−yˉ)∑(xi−xˉ)2∑(yi−yˉ)2,−1≤r≤1r = \frac{\sum (x_i-\bar{x})(y_i-\bar{y})}{\sqrt{\sum (x_i-\bar{x})^2 \sum (y_i-\bar{y})^2}}, \quad -1 \le r \le 1
Коефіцієнт кореляції Пірсона (r): коваріація, стандартизована до фіксованої шкали від -1 до 1, незалежно від одиниць виміру.

Долари й замовлення скорочуються, і лишається чисте число від −1 до 1:

  • r = 1: усі крапки на прямій, що зростає;
  • r = −1: усі крапки на прямій, що спадає;
  • r = 0: немає лінійного зв'язку.

Оскільки r не має одиниць, зміна масштабу змінної його не зсуває. Витрати в доларах, гривнях чи центах, замовлення поштучно чи дюжинами: r той самий. Додавання сталої теж нічого не змінює. Саме тому r можна порівнювати між метриками й командами.

Два обмеження. r вимірює лише прямолінійні зв'язки: U-подібний зв'язок, коли і дуже малі, і дуже великі значення йдуть із малими замовленнями, може дати r близько 0. І r нічого не каже про нахил: r = 0,95 не повідомляє, скільки замовлень купує кожен долар. Це робота регресії з наступного уроку.

  • Так
    Витрати в дол. чи в гривнях: r ≈ 0,95 в обох випадках.

    r не має одиниць виміру.

  • Не так
    «r = 0,95, тож кожен додатковий долар дає 0,95 замовлення.»

    r — це не нахил.

Знак — це напрямок, розмір — це сила

Читай r у два окремі кроки.

  1. Знак показує напрямок. Плюс означає, що метрики зазвичай зростають разом; мінус — що одна зазвичай падає, коли інша зростає. Мінус не означає «погано» чи «слабко»: час доставки й повторні замовлення, що рухаються в протилежних напрямках, — саме те, чого варто очікувати.
  2. Відстань від нуля показує силу. Дивись на |r|, значення без знака. r = −0,8 і r = 0,8 однаково сильні.

Поширений орієнтир для |r|:

  • менше 0,3: слабкий;
  • від 0,3 до 0,7: помірний;
  • понад 0,7: сильний.

Ці межі неформальні. В охайних продуктових даних (перегляди сторінок і сесії) 0,7 може бути буденним; у шумних поведінкових (бали опитування й витрати) 0,4 може бути цінною знахідкою. І навіть сильне r лише описує, як дві метрики рухаються разом у цих даних: воно не каже, яка з них, якщо взагалі якась, керує іншою.

У реченні називай обидві частини: «сильний від'ємний зв'язок: у повільніших містах зазвичай менше повторних клієнтів».

  • Так
    r = −0,8: сильний, від'ємний.
  • Не так
    r = −0,8 слабший за r = 0,3, бо менший за нуль.

    Порівнює значення зі знаком замість |r|.

Як обчислити r вручну

На невеликих даних r можна порахувати за п'ять кроків. Візьмімо п'ять сторінок товарів з 1–5 відгуками й конверсією 9, 8, 10, 11 і 12%.

  1. Середні. Відгуки: x̄ = 3. Конверсія: ȳ = 10.
  2. Відхилення. Відгуки: −2, −1, 0, 1, 2. Конверсія: −1, −2, 0, 1, 2.
  3. Добутки відхилень, потім сума: 2 + 2 + 0 + 1 + 4 = 9.
  4. Суми квадратів. Відгуки: 4 + 1 + 0 + 1 + 4 = 10. Конверсія: 1 + 4 + 0 + 1 + 4 = 10.
  5. Ділення. r = 9 / √(10 × 10) = 9 / 10 = 0,9.

У знаменнику корінь із добутку двох сум квадратів. Часта помилка — додати їх або забути корінь: 9 / 100 = 0,09 виглядає як «немає зв'язку», хоча насправді він сильний.

Допомагає перевірка на здоровий глузд: r ніколи не виходить за межі від −1 до 1. Якщо вийшло 1,4 чи −2, помилка десь у кроках 3–5.

  • Так
    r = 9 / √(10 × 10) = 0,9
  • Не так
    r = 9 / (10 × 10) = 0,09

    Забуто корінь, і сильний зв'язок перетворюється на «жодного».

r на справжніх даних

На справжніх даних кроки ті самі, просто арифметику робить таблиця. Для десяти тижнів Котокорму:

Набір даних · 10 рядків

Тижневі рекламні витрати Котокорму та замовлення з реклами

Десять тижнів рекламних витрат і замовлень, віднесених до реклами. Синтетичні дані, створені для цього курсу; використовуються і в наступному уроці.

weekad_spend_usdorders_from_ads
120020
230023
335030
440028
545036

Перші 5 з 10 рядків

Завантажити CSV
  • середні витрати x̄ = 470 дол., середні замовлення ȳ = 34,2;
  • сума добутків відхилень = 12 460;
  • сума квадратів відхилень витрат = 231 000; сума квадратів відхилень замовлень = 749,6;
  • r = 12 460 / √(231 000 × 749,6) ≈ 12 460 / 13 159 ≈ 0,95.

У таблиці CORREL(діапазон витрат; діапазон замовлень) дає ті самі 0,95.

Як про це повідомити: «сильний додатний лінійний зв'язок за десять тижнів». Три звички роблять число чесним:

  • кажи, на чому. r описує ці десять тижнів і діапазон витрат 200–700 дол. Про 2 000 дол. на тиждень він не каже нічого;
  • згадуй винятки. Тиждень 4 випав із тенденції; хто подивиться на графік, це побачить;
  • пам'ятай про n. Десять точок — мала вибірка. Сильне r на десяти точках варто сприймати серйозно, але один незвичний тиждень усе ще може його помітно зсунути.

Графік: Рекламні витрати й замовлення з реклами за 10 тижнів · є вище

Не менш важливо, чого r не каже: це не нахил і не доказ, що реклама спричиняє замовлення.

  • Так
    «r ≈ 0,95 за десять тижнів із витратами 200–700 дол.: сильний додатний зв'язок.»
  • Не так
    «r = 0,95, тож за 2 000 дол. на тиждень замовлення зростатимуть так само.»

    Розтягує r далеко за межі даних, з яких його отримано.

Чотири пояснення однієї кореляції

Коли дві метрики рухаються разом, ту саму діаграму розсіювання можуть дати щонайменше чотири історії:

  • пряма причинність. A змінює B. Це показує контрольований тест ціни: ціну піднімають для випадкової половини відвідувачів і бачать там менше замовлень;
  • зворотна причинність. B змінює A. Клієнти з довгим стажем ставлять вищий NPS, але, можливо, це довге користування робить продукт милішим, а не навпаки;
  • змішувальний чинник. Третя змінна керує обома. Флеш-розпродаж дає сплеск трафіку, який і гальмує сайт, і породжує запити на повернення; повільний сайт і повернення корелюють, хоча одне не спричиняє іншого;
  • випадковість. За короткий період дві непов'язані послідовності можуть збігтися випадково, як сон офісного кота й щоденні замовлення за один місяць.
Помаранчевий цінник розпродажу посилає стрілки до ноутбука, що повільно вантажиться, і до купи коробок із замовленнями; між ними стрілки немає.
Змішувальний чинник: розпродаж і гальмує сайт, і піднімає замовлення, тож вони рухаються разом без причинного зв'язку.

Коефіцієнт кореляції однаковий у всіх чотирьох випадках, тож розрізнити їх він не може. Допомагають знання поза даними (що ще змінилося?), час (що сталося раніше?), більше даних (чи повторюється це?) і найкраще — контрольований експеримент, де ти сам випадково змінюєш A і стежиш за B.

  • Так
    «Час завантаження й повернення зростають разом у дні розпродажів; розпродаж — імовірний змішувальний чинник.»
  • Не так
    «Повільні сторінки змушують людей просити повернення, тож пришвидшимо сайт, щоб їх зменшити.»

    Обирає пряму причинність, не виключивши спільного чинника.

Пірсон чи Спірмен

r Пірсона будується з відхилень від середнього, тож одне крайнє значення може ним заволодіти. Припустімо, у 5-му тижні про Котокорм згадує блогер, і реклама отримує 120 замовлень замість 36. r Пірсона падає з 0,95 приблизно до 0,26, хоча дев'ять тижнів із десяти й далі охайно зростають разом із витратами.

Коефіцієнт рангової кореляції Спірмена (ρ) — стійка альтернатива:

  1. Заміни кожне значення його рангом: 1 для найменшого, n для найбільшого (однакові значення отримують середній ранг).
  2. Порахуй r Пірсона на рангах.

Тиждень блогера тепер стає просто рангом 10, хай яким великим він був, і ρ тримається приблизно на 0,78. На чистих десяти тижнях обидва коефіцієнти дають 0,95.

Спірмен також вимірює будь-яке стабільне зростання чи спадання, не лише пряму, тож підходить для зв'язку, що зростає, а потім вирівнюється.

Бери Спірмена, коли метрика скошена (сума замовлення, дохід на користувача), має викиди або порядкова (оцінка 1–5). Пірсона — для приблизно симетричних даних із прямолінійним візерунком. В обох випадках поглянь на сам дивний тиждень: викид часто найцікавіший рядок у таблиці.

  • Так
    Один крайній тиждень у даних → повідомити ρ Спірмена ≈ 0,78 і розібратися з тим тижнем.
  • Не так
    «r упав до 0,26, отже, реклама перестала працювати.»

    r Пірсона зсунув один викид, а не інші дев'ять тижнів.

Список перевірки, перш ніж довіряти кореляції

Сильна кореляція — привід дослідити, а не висновок. Перш ніж діяти, зроби чотири перевірки:

  1. Чи є правдоподібний змішувальний чинник? Чи зростали витрати в ті самі тижні, що й сезонний пік, акція чи брак товару в конкурента? Якщо так, частину роботи може робити цей третій чинник.
  2. Чи може стрілка вказувати навпаки? Іноді результат керує «причиною»: команда, що бачить зростання замовлень, може у відповідь підняти рекламний бюджет.
  3. Чи досить велика вибірка, щоб виключити випадковість? Десять точок випадково збігаються значно легше, ніж сто. Чи повторюється закономірність в іншому періоді?
  4. Чи розв'яже питання експеримент? Якщо рішення дороге, зміни витрати сам: більший бюджет у випадково обраних регіонах чи тижнях, звичайний — в інших, і порівняй.

Зверни увагу, чого в списку немає: порогу для r. Немає значення, навіть 0,99, вище за яке кореляція стає причинністю. Високе r лише каже, що закономірність стабільна; перевірки підказують, чому вона може бути.

  • Так
    «r = 0,95. Далі: перевірити, що ще змінювалося в тижні з великими витратами, а тоді протестувати додатковий бюджет у кількох регіонах.»
  • Не так
    «r понад 0,7, отже, причинність доведено.»

    Жодне значення r не доводить причинності.

Готові потренуватися?

Виконайте вправи уроку й отримайте 250 балів, коли пройдете його вперше.

Розпочати вправи