Как посчитать корреляцию
Чтобы проверить, связаны ли два показателя статистически, нужно посчитать корреляцию. Метод возвращает числовое значение от −1 до +1, которое показывает направление и силу взаимосвязи. Положительный результат означает совместный рост переменных, отрицательный – движение в противоположных направлениях. На 2026 год расчет выполняют вручную, в электронных таблицах, статистических пакетах или через онлайн-инструменты.
Формула коэффициента корреляции Пирсона
Пирсон (Pearson) – базовый параметрический метод для количественных данных с нормальным распределением. Он измеряет линейную зависимость.
$$ r = \frac{n\sum xy - (\sum x)(\sum y)}{\sqrt{[n\sum x^2 - (\sum x)^2][n\sum y^2 - (\sum y)^2]}} $$Где:
- $n$ – количество пар наблюдений
- $\sum xy$ – сумма произведений парных значений
- $\sum x$, $\sum y$ – суммы значений по каждому признаку
- $\sum x^2$, $\sum y^2$ – суммы квадратов значений
Для ранговых или не нормальных данных применяют корреляцию Спирмена (Spearman’s rho) или Кендалла (Kendall’s tau), где вместо исходных значений используются ранги наблюдений.
Как посчитать корреляцию вручную за 5 шагов
Разбор на наборе из 5 пар. Переменная $X$ – часы самоподготовки. Переменная $Y$ – баллы за тест.
| Наблюдение | $X$ | $Y$ | $X \cdot Y$ | $X^2$ | $Y^2$ |
|---|---|---|---|---|---|
| 1 | 1 | 2 | 2 | 1 | 4 |
| 2 | 2 | 1 | 2 | 4 | 1 |
| 3 | 3 | 5 | 15 | 9 | 25 |
| 4 | 4 | 3 | 12 | 16 | 9 |
| 5 | 5 | 6 | 30 | 25 | 36 |
| Σ | 15 | 17 | 61 | 55 | 75 |
- Суммируйте столбцы: $\sum x = 15$, $\sum y = 17$, $\sum xy = 61$, $\sum x^2 = 55$, $\sum y^2 = 75$.
- Вычислите числитель: $5 \cdot 61 - (15 \cdot 17) = 305 - 255 = 50$.
- Найдите первый множитель подкоренного выражения: $5 \cdot 55 - 15^2 = 275 - 225 = 50$.
- Найдите второй множитель: $5 \cdot 75 - 17^2 = 375 - 289 = 86$.
- Разделите числитель на корень из произведения: $r = 50 / \sqrt{50 \cdot 86} \approx 50 / 65,57 \approx 0,762$.
Полученное значение $0,762$ указывает на высокую прямую линейную зависимость.
Калькулятор корреляции
Инструмент выше автоматически вычисляет коэффициент Пирсона по загруженным парам данных. Он строит таблицу промежуточных сумм, исключает строки с пропусками и возвращает результат с точностью до 4 знаков. Для проверки монотонных связей переключите на ранговый алгоритм в настройках метода.
Расчет в Excel и Google Таблицах
Встроенные функции обрабатывают массивы до 30 000 строк без задержек.
Поэлементный расчет:
- Откройте пустую ячейку
- Введите
=КОРРЕЛ(A2:A101; B2:B101)для русской локали или=CORREL()для английской - Нажмите Enter. Функция игнорирует текстовые ячейки и обрабатывает пропуски
Матрица взаимосвязей:
- Подключите надстройку «Пакет анализа» (Файл → Параметры → Надстройки → Перейти → надстройки анализа)
- Выберите: Данные → Анализ данных → Корреляция
- Укажите диапазон всех переменных, отметьте галочку «Метки в первой строке»
- На выходе получите симметричную таблицу, где пересечение столбцов показывает силу связи каждой пары
Google Таблицы используют синтаксис =CORREL() и поддерживают динамические массивы. При обновлении исходных ячеек коэффициент пересчитывается мгновенно.
Шкала интерпретации результатов
Согласно шкале Чэддока, принятой в эконометрике и социологии, значения трактуются так:
- $0,00–0,29$ – слабая или отсутствующая связь
- $0,30–0,49$ – умеренная
- $0,50–0,69$ – заметная
- $0,70–0,89$ – высокая
- $0,90–0,99$ – весьма высокая
Знак перед числом определяет направление. При $r = -0,85$ одна переменная растет, вторая падает с почти зеркальной синхронностью. Помните, что коэффициент фиксирует только линейный или монотонный паттерн. U-образные и циклические зависимости дадут близкий к нулю результат, несмотря на явную взаимозависимость.
Python и R для больших массивов данных
При работе с датасетами от 10 000 строк ручные вычисления и табличные функции замедляются. Скриптовые языки используют оптимизированные библиотеки на C.
Python (pandas + scipy):
import pandas as pd
from scipy.stats import pearsonr
df = pd.read_csv('data.csv')
r, p_value = pearsonr(df['X'], df['Y'])
R (base):
cor.test(data$X, data$Y, method = "pearson")
Оба подхода вычисляют $p$-value – вероятность получить такой коэффициент случайно при нулевой гипотезе об отсутствии связи. При $p < 0,05$ зависимость признается статистически значимой.
Почему корреляция не доказывает причинно-следственную связь
Коэффициент лишь констатирует синхронность изменений. Совместный рост продаж зонтов и количества аварий на дорогах не означает, что зонты вызывают аварии. Оба показателя зависят от третьего скрытого фактора – интенсивности дождя. Это явление называют spurious correlation (ложная корреляция).
Дополнительные ограничения:
- Выбросы искажают линейную оценку. Один аномальный замер может сместить $r$ на $0,2–0,3$
- Ограниченный диапазон значений занижает коэффициент. Если выборка сформирована только из крайних значений, реальный $r$ окажется выше
- Нестационарные данные (с трендом или сезонностью) дают завышенную связность. Перед расчетом ряды необходимо продифференцировать или детрендировать
Результаты эмпирических расчетов требуют кросс-валидации и проверки на репрезентативность выборки.