Корреляция простыми словами

Карьерник — квиз-тренажёр в Telegram с 1500+ вопросами для собесов аналитика. SQL, Python, A/B, метрики. Бесплатно.

Короткое объяснение

Корреляция — мера того, насколько две переменные «ходят вместе».

  • Высокая корреляция: когда X растёт, Y тоже растёт (или падает).
  • Низкая корреляция: X и Y слабо связаны.

Корреляция — число от −1 до +1.

Интерпретация

Значение Что означает
+1.0 идеальная положительная связь
+0.7 до +0.9 сильная положительная
+0.4 до +0.6 умеренная положительная
+0.1 до +0.3 слабая положительная
0 нет связи
−0.1 до −0.3 слабая отрицательная
−0.4 до −0.6 умеренная отрицательная
−0.7 до −0.9 сильная отрицательная
−1.0 идеальная отрицательная

Примеры

Положительная корреляция ~ +0.8

Рост человека и вес. Высокие обычно тяжелее.

Отрицательная корреляция ~ -0.6

Цена товара и количество проданных. Выше цена → меньше покупок.

Нет корреляции ~ 0

Цвет глаз и зарплата.

Типы корреляции

1. Pearson (Пирсон)

Линейная связь между числовыми переменными.

r = Σ(xᵢ − x̄)(yᵢ − ȳ) / sqrt(Σ(xᵢ − x̄)² × Σ(yᵢ − ȳ)²)

В Python:

import numpy as np
np.corrcoef(x, y)[0, 1]

Предположения:

  • Числовые переменные
  • Линейная связь
  • Нормальное распределение

2. Spearman (Спирмен)

Монотонная связь (не обязательно линейная). Работает с рангами.

from scipy.stats import spearmanr
corr, p = spearmanr(x, y)

Лучше, если данные не нормальные или связь нелинейная.

3. Kendall's tau

Альтернатива Spearman, более устойчив к выбросам.

from scipy.stats import kendalltau

В pandas

import pandas as pd

df.corr()                    # все корреляции в DataFrame
df['a'].corr(df['b'])        # две колонки
df.corr(method='spearman')   # Spearman вместо Pearson

В SQL

-- Postgres
SELECT CORR(x, y) FROM data;

В MySQL нет встроенной функции — через формулу.

Важно: correlation ≠ causation

Классическое предупреждение.

Если корреляция между продажами мороженого и утоплениями = 0.9 — не значит, что мороженое топит людей. Третья переменная — жара — влияет на оба.

Корреляция говорит: они связаны. Не говорит: одно вызывает другое.

Как найти причину

  • Expert knowledge
  • A/B-тест (randomized experiment)
  • Causal inference методы (IV, DiD, RCT)

Подробнее: корреляция vs причинность.

Что НЕ измеряет корреляция

1. Нелинейные связи (Pearson)

Y = X² — корреляция около 0, но связь идеальная. Используйте Spearman или scatter plot.

2. Силу эффекта

R = 0.8 не говорит, насколько Y растёт при росте X. Для этого — регрессия.

3. Прогноз

Высокая корреляция не гарантирует будущую связь (shift in data).

Частые ошибки

1. Корреляция как причина

«Реклама коррелирует с продажами → реклама работает». Возможно, оба растут от сезонности.

2. Pearson на нелинейных данных

Pearson покажет 0 для Y = X². Используйте Spearman или разложение.

3. Выбросы

Один outlier может исказить корреляцию в разы. Предварительно чистите.

4. Корреляция на подвыборке

«У наших VIP корреляция 0.9» — а вся популяция? Берегите generalizability.

5. Корреляция и статистическая значимость

r = 0.05 на миллионе данных — значимо (p<0.05), но практически бессмысленно.

На собесе

Типичные вопросы:

«Что такое корреляция?» Мера связи двух переменных, от −1 до +1.

«Pearson или Spearman?» Pearson — линейная, числовая. Spearman — монотонная, может быть нелинейная.

«Correlation vs causation?» Корреляция = «ходят вместе». Причина — нужен эксперимент или causal inference.

«Как найти причину?» A/B-тест, randomized experiment, causal inference.

Связанные темы

FAQ

Что такое коэффициент корреляции?

Число от −1 до +1, показывает силу и направление связи.

Pearson или Spearman?

Pearson если линейная связь и числовые данные. Spearman для ранговых или нелинейных.

Высокая корреляция = причина?

Нет. Корреляция не гарантирует причинно-следственную связь.

Корреляция нуль — значит независимы?

Не обязательно. Могут быть нелинейные связи.


Тренируйте статистику — откройте тренажёр с 1500+ вопросами для собесов.