Корреляция vs причинность — в чём разница

Коротко

Корреляция — статистическая связь между двумя переменными: когда одна растёт, другая тоже растёт (или падает). Причинность (каузальность) — когда изменение одной переменной вызывает изменение другой. Корреляция не означает причинность — это одно из главных правил в аналитике и одна из самых частых ловушек на собеседованиях.

Что такое корреляция

Корреляция измеряет силу и направление линейной связи между двумя переменными. Значение от −1 до +1.

Коэффициент Пирсона (r) — для линейных связей между непрерывными переменными:

r = Σ((xᵢ - x̄)(yᵢ - ȳ)) / √(Σ(xᵢ - x̄)² · Σ(yᵢ - ȳ)²)
r Интерпретация
0.9–1.0 Очень сильная положительная
0.7–0.9 Сильная положительная
0.4–0.7 Умеренная положительная
0.0–0.4 Слабая или отсутствует
< 0 Отрицательная (аналогично по модулю)

Коэффициент Спирмена (ρ) — для монотонных (не обязательно линейных) связей. Работает с рангами, устойчив к выбросам. Используйте, когда данные порядковые или распределение далеко от нормального.

from scipy import stats

# Пирсон — линейная связь
r, p_value = stats.pearsonr(x, y)

# Спирмен — монотонная связь
rho, p_value = stats.spearmanr(x, y)

Пример: корреляция между временем на сайте и количеством покупок может быть r = 0.6. Это значит, что пользователи, проводящие больше времени, в среднем покупают чаще. Но не значит, что увеличение времени на сайте приведёт к росту покупок.

Что такое причинность

Причинность (каузальность) — X является причиной Y, если изменение X непосредственно вызывает изменение Y при прочих равных условиях.

Три критерия причинности (по Бредфорду Хиллу, упрощённо):

  1. Связь существует — X и Y коррелируют
  2. Временной порядок — X происходит раньше Y
  3. Нет альтернативных объяснений — исключены конфаундеры (скрытые факторы)

Корреляция — необходимое, но не достаточное условие причинности. Чтобы доказать причинность, нужен эксперимент или специальные методы.

Ключевые отличия

Корреляция Причинность
Что показывает Связь между переменными Одна переменная вызывает изменение другой
Направление Симметрична (r(X,Y) = r(Y,X)) Асимметрична (X → Y ≠ Y → X)
Как установить Статистический расчёт по данным Эксперимент (A/B-тест) или квазиэксперимент
Конфаундеры Не учитывает Нужно исключить
Достаточность Не доказывает причинность Включает корреляцию + контроль условий

Ложные корреляции

Ложная (spurious) корреляция возникает, когда две переменные коррелируют, но не связаны причинно. Причины:

Конфаундер (скрытый фактор) — третья переменная влияет на обе:

Мороженое ↗          ↗ Утопления
          Жаркая погода

Продажи мороженого коррелируют с количеством утоплений (r ≈ 0.7). Причина — жаркая погода: люди чаще покупают мороженое и чаще купаются.

Случайное совпадение — при большом количестве переменных какие-то неизбежно коррелируют. На сайте tylervigen.com собраны забавные примеры: потребление сыра коррелирует с количеством людей, запутавшихся в простынях.

Обратная причинность — не X вызывает Y, а Y вызывает X. Пример: «города с большим числом больниц имеют выше смертность». Не больницы вызывают смерть — в крупных городах больше и больниц, и людей.

В аналитике конфаундеры встречаются постоянно. Пользователи, которые используют фичу X, лучше конвертируются — но, возможно, они просто более мотивированы изначально.

Как доказать причинность

A/B-тест — золотой стандарт. Случайное распределение пользователей устраняет конфаундеры. Если в тестовой группе метрика выросла — это причинный эффект.

Рандомизация → исключает конфаундеры
→ разница между группами = причинный эффект

Подробнее про A/B-тесты — в гайде по A/B-тестированию и тренажёре.

Естественный эксперимент — когда рандомизация происходит «сама» (изменение закона, технический сбой). Пример: сервер упал для 30% пользователей — можно сравнить поведение затронутых и незатронутых.

Инструментальные переменные — метод для ситуаций, когда A/B-тест невозможен. Находим переменную, которая влияет на X, но не влияет на Y напрямую. Сложный метод, на собеседованиях встречается редко.

Difference-in-Differences (DiD) — сравнение «до и после» между группой, на которую повлияло изменение, и контрольной группой. Используется, когда нельзя провести рандомизированный эксперимент.

Типичная ошибка

Самая частая ошибка аналитика — интерпретировать наблюдаемую корреляцию как причинность и строить на этом рекомендации.

❌ «Пользователи, которые прошли онбординг, покупают подписку в 3 раза чаще.
    Значит, нужно заставить всех проходить онбординг.»

✅ «Пользователи, прошедшие онбординг, покупают чаще.
    Но, возможно, мотивированные пользователи и онбординг проходят,
    и подписку покупают. Нужен A/B-тест: обязательный vs опциональный онбординг.»

Когда на собеседовании показывают график с корреляцией и спрашивают «Что вы порекомендуете?» — правильный ответ всегда начинается с «Корреляция не означает причинность, нужен эксперимент».

Потренироваться отвечать на такие вопросы можно в тренажёре по статистике и разделе примеры вопросов.

Вопросы с собеседований

Приведите пример, когда корреляция не означает причинность. — Продажи мороженого и утопления коррелируют, но причина — жаркая погода (конфаундер). Другой пример: пользователи мобильного приложения, которые включают уведомления, активнее — но, возможно, активные пользователи чаще включают уведомления (обратная причинность).

Как доказать причинно-следственную связь? — Провести рандомизированный эксперимент (A/B-тест). Случайное распределение пользователей по группам устраняет конфаундеры. Если A/B-тест невозможен — использовать квазиэкспериментальные методы: DiD, инструментальные переменные, regression discontinuity.

Коэффициент корреляции между фичей X и конверсией = 0.8. Стоит ли инвестировать в развитие фичи X? — Нет однозначного ответа. Корреляция 0.8 — сильная, но может объясняться конфаундером. Например, продвинутые пользователи чаще используют фичу X и чаще конвертируются. Для решения нужен A/B-тест: показать фичу X рандомной группе и сравнить конверсию.

Что такое конфаундер? — Скрытая переменная, которая влияет и на предполагаемую причину, и на следствие. Создаёт ложную корреляцию. Пример: образование влияет и на зарплату, и на здоровье — поэтому зарплата и здоровье коррелируют, но повышение зарплаты не улучшит здоровье напрямую.

В чём разница между коэффициентами Пирсона и Спирмена? — Пирсон измеряет линейную связь, Спирмен — монотонную (не обязательно линейную). Спирмен работает с рангами и устойчив к выбросам. Если зависимость нелинейная, но монотонная, Спирмен покажет сильную корреляцию, а Пирсон — слабую.


Потренируйтесь решать задачи — откройте тренажёр с 1500+ вопросами для подготовки к собеседованиям аналитиков.

FAQ

Корреляция = 0 означает, что связи нет?

Нет. Коэффициент Пирсона измеряет линейную связь. Переменные могут иметь сильную нелинейную зависимость (парабола, синусоида) при r ≈ 0. Поэтому всегда полезно смотреть на scatter plot перед расчётом корреляции.

Можно ли установить причинность без эксперимента?

Можно приблизиться к каузальному выводу с помощью квазиэкспериментальных методов: Difference-in-Differences, инструментальные переменные, regression discontinuity, propensity score matching. Но рандомизированный эксперимент (A/B-тест) остаётся золотым стандартом.

Почему на собеседованиях так часто спрашивают про корреляцию и причинность?

Потому что это проверка критического мышления. Аналитик, который видит корреляцию и сразу даёт рекомендацию — опасен. Аналитик, который задаёт вопрос «А нет ли здесь конфаундера?» — полезен. Это один из маркеров уровня кандидата.

Что читать дальше?

Книга «The Book of Why» Джуды Перла — про каузальный вывод доступным языком. Для практики — тренажёр по статистике и A/B-тестированию.