Корреляция простыми словами
Карьерник — квиз-тренажёр в 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+ вопросами для собесов.