Собесов

Karpov Stepik: Корреляция vs причинно-следственная связь

Статистика и теорверКорреляцияЛёгкаяJunior

Условие

Аналитик считает корреляцию между «количеством походов в спортзал в месяц» и «доходом» на выборке 5000 человек — r = 0.42. Делает вывод: «спорт повышает доход». В чём ошибка? Какие возможны альтернативные объяснения? Как корректно проверить гипотезу?

Решение

Правило: «correlation ≠ causation»

Корреляция между X и Y может объясняться:

  1. X → Y — причина в X.
  2. Y → X — обратная причинность (reverse causation).
  3. Z → X, Z → Y — общая причина (confounder).
  4. Selection bias — отбор в выборку зависит и от X, и от Y.
  5. Случайность — на больших выборках любой r будет значим.

Альтернативы для «спорт vs доход»

  • Reverse: высокий доход → есть время и деньги на абонемент → больше походов.
  • Confounder — возраст: 35-45 лет = пик дохода и пик заботы о здоровье.
  • Confounder — район: жить в дорогом районе = и доход, и спортзал рядом.
  • Confounder — образование: высшее → выше доход, и более забота о ЗОЖ.
  • Self-selection: в выборке могут быть пользователи приложения, отобранные по интересу к здоровью.

Корректная проверка

Идеал — рандомизированный эксперимент: случайно выдать половине бесплатные абонементы, через год сравнить доходы. Возможно для научной работы; в продукте — почти нет.

Реальные методы:

  1. Регрессия с контрольными переменными:

    import statsmodels.formula.api as smf
    model = smf.ols('income ~ gym_visits + age + education + city',
                    data=df).fit()
    print(model.summary())

    Коэффициент при gym_visits после контроля над confounders — менее смещён, но всё ещё уязвим к ненаблюдаемым переменным.

  2. Propensity Score Matching: для каждого «спортсмена» подобрать пару «не-спортсмена» с похожими наблюдаемыми характеристиками; сравнить доходы.

  3. Instrumental Variable (IV): переменная, связанная с X, но не с Y напрямую (например, расстояние до ближайшего спортзала).

  4. Difference-in-Differences (если есть time-series): группа, начавшая ходить в спорт vs не начавшая, разница в динамике дохода.

  5. Natural experiment: правительство открыло бесплатные спортзалы в одном районе → quasi-random.

Pearson vs Spearman vs Kendall

  • Pearson r: линейная связь, чувствителен к выбросам, нужна нормальность для тестов значимости.
  • Spearman ρ: ранговая корреляция, любая монотонная связь.
  • Kendall τ: ранговая, более робастна на малых выборках.
from scipy import stats
stats.pearsonr(df.gym, df.income)     # (0.42, p)
stats.spearmanr(df.gym, df.income)    # часто чуть меньше

Знаменитые «фейковые» корреляции

  • Потребление маргарина в США vs разводы в штате Мэн (r=0.99).
  • Количество фильмов с Николасом Кейджем vs утопления в бассейнах.

Подбор пар по тысячам метрик гарантирует «значимые» корреляции — это multiple testing, не реальная связь.

Подводные камни

  1. «r = 0.42 → большой эффект»: всё зависит от области. В социалке r=0.3 уже сильно, в физике r=0.99 слабовато.
  2. Pearson на нелинейной связи даёт низкий r, хотя связь сильная (квадратичная).
  3. Выбросы ломают Pearson: одна точка может дать r=0.7 или r=-0.1.
  4. Конфаундеры: контроль над наблюдаемыми не решает проблему ненаблюдаемых. IV / RCT — единственный выход.
  5. Стат. значимость r ≠ важность r: при n=10⁶ даже r=0.01 имеет p<0.001.
  6. Гранулярность: r на агрегатах (по городам) часто больше, чем по индивидуумам (Simpson paradox).
  7. «Регрессия → причинность» — нет. Регрессия — это условное среднее с допущениями. Без random assignment / IV — это всё ещё корреляция, просто частная.

Эталонный ответ

Ошибка — вывод о причинности из корреляции. Альтернативы:

  • Обратная связь (доход → спорт);
  • Confounders (возраст, образование, район);
  • Selection bias.

Корректная проверка: RCT (если возможно), регрессия с контролем confounders, propensity score matching, IV, diff-in-diff, natural experiment.

Pearson r=0.42 говорит только о линейной связи; для каузального вывода нужен дизайн, который исключает альтернативы.

Хочешь увидеть разбор?

Зарегистрируйся бесплатно — откроется развёрнутое решение этой задачи и ещё 4 на выбор.

Зарегистрироваться и увидеть разбор
Уже есть аккаунт? Войти