Как рассчитать корреляцию Спирмена в Excel: формулы, примеры и интерпретация

Если вам нужно оценить силу и направление связи между двумя количественными переменными, но данные не соответствуют нормальному распределению или содержат выбросы, корреляция Спирмена станет оптимальным решением. В отличие от пирсоновской корреляции, этот непараметрический метод анализирует ранги значений, а не их абсолютные величины. В Excel расчет коэффициента Спирмена требует либо ручного ранжирования данных с последующим применением формулы, либо использования надстройки Анализ данных — но оба способа имеют нюансы, которые мы разберем ниже.

Типичная ошибка новичков — попытка применить функцию =КОРРЕЛ() для непараметрической корреляции. Эта функция вычисляет только коэффициент Пирсона и даст неверные результаты для ранговых данных. Правильный алгоритм включает: 1) присвоение рангов каждому значению в выборках, 2) расчет разностей этих рангов, 3) применение формулы Спирмена. Далее мы покажем оба метода — вручную и с помощью надстройки, — а также объясним, как интерпретировать полученные значения от -1 до +1.

Что такое корреляция Спирмена и когда её использовать

Коэффициент ранговой корреляции Спирмена (ρ или rho) измеряет степень монотонной зависимости между двумя переменными. В отличие от Пирсона, он не требует линейной связи и нормального распределения данных, что делает его универсальным инструментом для:

  • 📊 Анализа ordinalных данных (например, оценки по шкале Лайкерта: "совсем не согласен" — "полностью согласен").
  • 🔍 Выявления нелинейных зависимостей, которые Пирсон "не видит".
  • 🛠️ Работы с небольшими выборками (n < 30) или данными с выбросами.
  • 📈 Сравнения ранжировок (например, экспертных оценок двух судей).

Формула коэффициента Спирмена основана на разностях рангов (di) пар значений:

ρ = 1 – (6 × Σdi2) / (n × (n2 – 1)), где:

  • di — разница между рангами i-й пары значений;
  • n — количество пар.
⚠️ Внимание: Если в данных есть повторяющиеся значения (связки), им присваивается средний ранг. Например, для значений 5, 5, 7 ранги будут 1.5, 1.5, 3. Это влияет на точность коэффициента!

Подготовка данных в Excel: правила форматирования

Перед расчетом корреляции Спирмена необходимо:

  1. Убедиться, что обе выборки имеют одинаковое количество наблюдений (нет пропущенных ячеек).
  2. Разместить данные в двух соседних столбцах (например, A2:A21 и B2:B21).
  3. Исключить текстовые значения и формулы — только числовые данные.

Пример корректной таблицы:

УчастникОценка теста 1 (X)Оценка теста 2 (Y)
18578
27265
39088
46870

Если в ваших данных есть повторяющиеся значения, используйте функцию =РАНГ.СР() для автоматического присвоения средних рангов. Например, для ячейки C2 (ранг X) введите:

=РАНГ.СР(B2; $B$2:$B$21; 1)

Третий аргумент 1 указывает на сортировку по убыванию (для возрастания используйте 0).

Метод 1: Расчет корреляции Спирмена вручную (по формуле)

Этот способ подходит для небольших выборок (n ≤ 50) и позволяет понять математику процесса. Следуйте шагам:

  1. Присвойте ранги каждой переменной (столбцы C и D для X и Y соответственно).
  2. Рассчитайте разности рангов (di) в столбце E: =C2-D2.
  3. Возведите разности в квадрат (столбец F): =E2^2.
  4. Посчитайте сумму квадратов разностей (=СУММ(F2:F21)).
  5. Примените формулу Спирмена в любой ячейке:
=1-(6*F22)/(СЧЁТ(B2:B21)*(СЧЁТ(B2:B21)^2-1))

Пример расчета для 4 пар значений:

XYРанг XРанг Ydidi2
85783300
72654400
90881100
68702200
Σdi2:0

В этом случае ρ = 1 (идеальная положительная корреляция), так как ранги полностью совпадают.

⚠️ Внимание: Если сумма квадратов разностей (Σdi2) равна нулю, коэффициент Спирмена автоматически становится 1 или -1 (в зависимости от направления ранжирования). Это указывает на строгую монотонную зависимость.

Присвоены ранги для обеих переменных|Рассчитаны разности рангов (di)|Возведены разности в квадрат|Посчитана сумма квадратов|Применена формула Спирмена-->

Метод 2: Автоматический расчет с помощью надстройки «Анализ данных»

Для больших выборок (n > 50) удобнее использовать встроенную надстройку Excel:

  1. Активируйте надстройку: Файл → Параметры → Надстройки → Управление: Надстройки Excel → Перейти → Отметьте "Пакет анализа" → OK.
  2. В меню Данные появится кнопка Анализ данных. Выберите Корреляция.
  3. Укажите входной интервал (оба столбца с данными, например $B$1:$C$21).
  4. Отметьте Метки в первой строке, если заголовки есть.
  5. Выберите выходной диапазон (например, ячейку E1).

Надстройка выведет матрицу корреляций, где значение на пересечении столбцов X и Y — это коэффициент Пирсона. Чтобы получить Спирмена, предварительно замените исходные данные их рангами (как в Методе 1), а затем примените надстройку к ранжированным столбцам.

Пример выходных данных:

Ранг XРанг Y
Ранг X10.95
Ранг Y0.951

Здесь коэффициент Спирмена равен 0.95 (сильная положительная корреляция).

Ручной (по формуле)|Надстройка "Анализ данных"|Функции Excel без надстройки|Другой инструмент (R, Python и т.д.)-->

Интерпретация результатов: что означают значения ρ

Коэффициент Спирмена варьируется от -1 до +1. Его интерпретация зависит от контекста исследования, но существуют общепринятые ориентиры:

Абсолютное значение |ρ|Сила связиПример
0.00 – 0.19Очень слабаяСвязь между ростом и предпочтениями в музыке
0.20 – 0.39СлабаяВлияние цвета упаковки на продажи (маркетинговые данные)
0.40 – 0.59УмереннаяЗависимость между временем сна и продуктивностью
0.60 – 0.79СильнаяСвязь между оценками по математике и физике
0.80 – 1.00Очень сильнаяСоотношение рангов студентов по двум экзаменам

Помимо силы связи, обращайте внимание на:

  • 🔹 Знак коэффициента: "+" означает прямую зависимость (рост X ведет к росту Y), "-" — обратную.
  • 🔹 Статистическую значимость: для n ≤ 30 используйте таблицы критических значений Спирмена; для n > 30 примените t-критерий:
=ABS(ρ) * КОРЕНЬ((n-2)/(1-ρ^2))

Сравните полученное значение с критическим t для выбранного уровня значимости (обычно 0.05).

Критические значения коэффициента Спирмена для α=0.05

n=5 → |ρ| ≥ 1.000

n=10 → |ρ| ≥ 0.648

n=15 → |ρ| ≥ 0.521

n=20 → |ρ| ≥ 0.450

n=30 → |ρ| ≥ 0.367

Типичные ошибки и как их избежать

Даже опытные пользователи Excel допускают ошибки при расчете корреляции Спирмена. Вот самые распространенные:

  • 🚫 Использование =КОРРЕЛ() для рангов: Эта функция всегда возвращает Пирсона, даже если вы передадите ей ранги. Решение: применяйте только ручную формулу или надстройку к ранжированным данным.
  • 🚫 Игнорирование связок (повторяющихся значений): Если не присваивать средние ранги, коэффициент будет завышен. Решение: используйте =РАНГ.СР().
  • 🚫 Несовпадение количества наблюдений: Если в столбцах разное число строк, Excel проигнорирует "лишние" данные. Решение: проверьте диапазоны на одинаковый размер.
  • 🚫 Отсутствие проверки на монотонность: Спирмен выявляет любые монотонные зависимости, но не различает линейные и нелинейные. Решение: стройте графики рассеяния для визуального анализа.

Для визуализации зависимости используйте диаграмму рассеяния:

  1. Выделите оба столбца с данными.
  2. Перейдите на вкладку Вставка → Вставить диаграмму → Точечная.
  3. Добавьте линию тренда: правый клик по точкам → Добавить линию тренда → выберите Линейная или Полиномиальная.

Продвинутые приемы: автоматизация и визуализация

Для регулярного анализа больших данных полезно автоматизировать процесс:

  • 📌 Создайте шаблон с формулами ранжирования и расчета ρ. Достаточно будет вставлять новые данные в столбцы A и B.
  • 📌 Используйте Power Query для импорта и предобработки данных: Данные → Получить данные → Из таблицы/диапазона.
  • 📌 Визуализируйте ранги с помощью тепловой карты: Главная → Условное форматирование → Цветовые шкалы.

Пример кода VBA для автоматического расчета Спирмена (вставьте в модуль через Alt+F11):

Function Spearman(rng1 As Range, rng2 As Range) As Double

Dim n As Long, i As Long, sumD As Double

n = rng1.Rows.Count

For i = 1 To n

sumD = sumD + (Application.WorksheetFunction.Rank(rng1.Cells(i, 1), rng1, 1) _

- Application.WorksheetFunction.Rank(rng2.Cells(i, 1), rng2, 1)) ^ 2

Next i

Spearman = 1 - (6 sumD) / (n (n ^ 2 - 1))

End Function

Теперь в ячейке можно использовать =Spearman(A2:A21; B2:B21).

FAQ: Частые вопросы по корреляции Спирмена в Excel

Можно ли рассчитать Спирмена без ранжирования данных?

Нет, коэффициент Спирмена оперирует именно рангами, а не исходными значениями. Если пропустить ранжирование, результат будет некорректным. Исключение — использование специализированных статистических пакетов (например, R или Python), где функция spearmanr автоматизирует процесс.

Что делать, если в данных много повторяющихся значений?

Присваивайте средние ранги с помощью =РАНГ.СР(). Например, для значений 10, 10, 10, 20 ранги будут 2, 2, 2, 4 (среднее от 1+2+3 для первых трех значений). Это снизит точность коэффициента, но сделает его корректным.

Как проверить значимость коэффициента Спирмена?

Для выборок размером n ≤ 30 сравните полученное |ρ| с критическими значениями из таблиц. Для n > 30 используйте t-критерий:

t = ρ * √((n-2)/(1-ρ²))

Сравните с критическим t для α=0.05 и df=n-2. Если расчетное |t| > критического, корреляция значима.

Почему мой коэффициент Спирмена отличается от Пирсона?

Это нормально! Пирсон измеряет линейную зависимость, а Спирмен — монотонную. Например, для данных с квадратичной зависимостью (параболой) Пирсон может показать 0, а Спирмен — ±1. Всегда стройте графики рассеяния для интерпретации.

Можно ли использовать Спирмена для категориальных данных?

Только если категории имеют четкий порядок (ординальные данные), например: "низкий", "средний", "высокий". Для номинальных категорий (например, цвета или бренды) Спирмен не подходит — используйте критерий хи-квадрат.