Корреляция 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 при прочих равных условиях.
Три критерия причинности (по Бредфорду Хиллу, упрощённо):
- Связь существует — X и Y коррелируют
- Временной порядок — X происходит раньше Y
- Нет альтернативных объяснений — исключены конфаундеры (скрытые факторы)
Корреляция — необходимое, но не достаточное условие причинности. Чтобы доказать причинность, нужен эксперимент или специальные методы.
Ключевые отличия
| Корреляция | Причинность | |
|---|---|---|
| Что показывает | Связь между переменными | Одна переменная вызывает изменение другой |
| Направление | Симметрична (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-тестированию.