Расчет корреляции в Excel: подробное руководство с примерами

При попытке определить зависимость между двумя наборами данных в Microsoft Excel многие пользователи сталкиваются с ошибкой #Н/Д или получают некорректные значения коэффициента корреляции из-за неправильного выбора функции. Наиболее частая проблема — использование функции КОРРЕЛ для нелинейных зависимостей или ранжированных данных, где требуется коэффициент Спирмена. Например, если вы анализируете связь между баллами студентов (порядковые данные) и временем подготовки, линейная корреляция Пирсона даст искаженный результат.

В этой статье разберем, как правильно выбрать метод расчета (Пирсона, Спирмена или Кендалла), построить корреляционную матрицу для нескольких переменных и визуализировать зависимость с помощью диаграммы рассеяния. Особое внимание уделим распространенной ошибке с несовпадающими диапазонами данных, которая приводит к сбою вычислений. Все примеры адаптированы для Excel 2016–2023 и Excel Online.

1. Виды корреляции и когда их использовать

В Excel доступны три основных коэффициента корреляции, каждый из которых применяется для разных типов данных:

  • 📊 Пирсона (КОРРЕЛ) — для линейных зависимостей между непрерывными переменными (например, рост и вес). Чувствителен к выбросам.
  • 📈 Спирмена (СПИРМЕН) — для монотонных зависимостей и порядковых данных (рейтинги, ранги). Устойчив к выбросам.
  • 🔄 Кендалла (КЕНДАЛЛ) — альтернатива Спирмену для небольших выборок (менее 30 наблюдений). Реже используется в Excel.

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

📊 Какой коэффициент корреляции вы используете чаще?
Пирсона
Спирмена
Кендалла
Не знаю, что это

2. Пошаговый расчет корреляции Пирсона

Для вычисления линейной корреляции используйте функцию =КОРРЕЛ(массив1; массив2). Рассмотрим пример с данными о рекламных расходах (B2:B10) и продажах (C2:C10):

=КОРРЕЛ(B2:B10; C2:C10)

Важные нюансы:

  • 🔢 Диапазоны должны быть одинакового размера. Если в одном массиве 10 ячеек, а в другом 9 — Excel вернет ошибку.
  • 📉 Коэффициент варьируется от -1 до 1: 1 — сильная положительная связь, -1 — отрицательная, 0 — связь отсутствует.
  • ⚠️ Если результат близок к 0, это не всегда означает отсутствие связи — проверьте данные на нелинейность (например, параболическую зависимость).

Удалите пустые ячейки и текстовые значения|Проверьте совпадение количества наблюдений в обоих массивах|Убедитесь, что данные непрерывные (не ранги)|Визуализируйте зависимость на диаграмме рассеяния перед расчетом-->

3. Коэффициент Спирмена: инструкция для ранговых данных

Функция =СПИРМЕН(массив1; массив2) анализирует монотонные зависимости. Например, связь между местами участников соревнований (D2:D15) и их временем завершения этапа (E2:E15):

=СПИРМЕН(D2:D15; E2:E15)

Отличия от Пирсона:

КритерийПирсонСпирмен
Тип данныхНепрерывныеРанги/порядковые
Чувствительность к выбросамВысокаяНизкая
Минимальный размер выборки5–1010–20
Интерпретация 0.5Средняя линейная связьСредняя монотонная связь
⚠️ Внимание: Если в данных есть повторяющиеся ранги (например, два участника на 3-м месте), Спирмен автоматически присваивает им средний ранг (3.5). Это может исказить результат для небольших выборок.

4. Корреляционная матрица для нескольких переменных

Чтобы одновременно проанализировать связи между несколькими переменными (например, возраст, доход и расходы на развлечения), используйте надстройку "Анализ данных":

  1. Перейдите на вкладку ДанныеАнализ данныхКорреляция.
  2. Укажите входной диапазон (включая заголовки столбцов).
  3. Отметьте Метки в первой строке и выберите выходной диапазон.

Результат — таблица с коэффициентами корреляции для всех пар переменных. Например:

ВозрастДоходРасходы
Возраст10.45-0.12
Доход0.4510.78
Расходы-0.120.781

В этом примере видна сильная связь между доходом и расходами (0.78), но почти отсутствует зависимость между возрастом и расходами (-0.12).

5. Визуализация корреляции: диаграмма рассеяния

Диаграмма рассеяния помогает оценить характер зависимости до расчета коэффициента. Постройте ее так:

  1. Выделите два столбца с данными (например, B2:C10).
  2. Перейдите на вкладку ВставкаВставить диаграмму рассеяния (X, Y).
  3. Добавьте линию тренда: кликните правой кнопкой по точкам → Добавить линию тренда → выберите Линейная и отметьте Показать уравнение на диаграмме.

Примеры интерпретации:

  • 📌 Точки образуют прямую линию → подходит корреляция Пирсона.
  • 🌀 Точки образуют кривую → проверьте нелинейную зависимость (например, логарифмическую).
  • 🟢 Коэффициент R² на линии тренда > 0.7 → сильная связь.
⚠️ Внимание: Если на диаграмме видно несколько групп точек (кластеров), рассчитывайте корреляцию отдельно для каждой группы. Общий коэффициент будет недостоверным.

6. Распространенные ошибки и как их избежать

Ошибки при расчете корреляции в Excel делятся на три категории:

  1. Ошибки данных:
    • 🚫 Текстовые значения в числовых массивах (например, "Н/Д" вместо 0).
    • 🔄 Несовпадающее количество наблюдений в двух выборках.
  2. Ошибки метода:
    • 📉 Использование Пирсона для нелинейных данных.
    • 🔢 Расчет Спирмена для выборки менее 10 наблюдений.
  3. Ошибки интерпретации:
    • 🤔 Принятие корреляции за причинно-следственную связь (например, "чем больше пожарных на пожаре, тем больше ущерб" — корреляция не означает, что пожарные виноваты).
    • 📊 Игнорирование выбросов, искажающих коэффициент.

Чтобы проверить данные на выбросы, используйте функцию =КВАРТИЛЬ для расчета межквартильного размаха (IQR). Формула для определения границ выбросов:

=КВАРТИЛЬ(диапазон; 1) - 1.5*(КВАРТИЛЬ(диапазон; 3) - КВАРТИЛЬ(диапазон; 1))  // Нижняя граница

=КВАРТИЛЬ(диапазон; 3) + 1.5*(КВАРТИЛЬ(диапазон; 3) - КВАРТИЛЬ(диапазон; 1)) // Верхняя граница

Как удалить выбросы автоматически?

1. Добавьте вспомогательный столбец с формулой =ЕСЛИ(И(A2>нижняя_граница; A2<верхняя_граница); A2; "").

2. Скопируйте только видимые значения (без пустых ячеек) в новый диапазон для анализа.

7. Продвинутые техники: корреляция в Power Query и VBA

Для больших наборов данных (тысячи строк) удобнее использовать Power Query:

  1. Импортируйте данные в Power Query через ДанныеИз таблицы/диапазона.
  2. Выберите столбцы для анализа → вкладка Добавить столбецСтатистикаКорреляция.

Для автоматизации расчетов в VBA используйте этот код (создает корреляционную матрицу для выделенного диапазона):

Sub CorrelationMatrix()

Dim rng As Range, outRng As Range

Set rng = Selection

Set outRng = Application.InputBox("Выберите ячейку для вывода матрицы", Type:=8)

outRng.Resize(rng.Columns.Count, rng.Columns.Count).Value = _

Application.WorksheetFunction.Correl(rng, rng)

End Sub

Скопируйте код в редактор VBA (Alt + F11), создайте новый модуль и запустите макрос. Результат появится в указанной ячейке.

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

🔹 Почему КОРРЕЛ возвращает ошибку #Н/Д?

Ошибка возникает в трех случаях:

  1. Диапазоны разного размера (например, 10 и 9 ячеек).
  2. В данных есть текст или пустые ячейки.
  3. Стандартное отклонение одного из массивов равно 0 (все значения одинаковые).

Решение: проверьте размеры диапазонов и очистите данные от нечисловых значений.

🔹 Как интерпретировать коэффициент корреляции 0.4?

Значение 0.4 указывает на слабую положительную линейную связь (для Пирсона). Для Спирмена это соответствует слабой монотонной зависимости. Практические рекомендации:

  • Если выборка мала (менее 30 наблюдений), связь статистически незначима.
  • Проверьте диаграмму рассеяния — возможно, зависимость нелинейная.
🔹 Можно ли рассчитать корреляцию для трех переменных?

Прямой коэффициент корреляции существует только для пар переменных. Для трех и более используйте:

  • Множественную регрессию (вкладка ДанныеАнализ данныхРегрессия).
  • Корреляционную матрицу (описано в разделе 4).
🔹 В чем разница между корреляцией и ковариацией?

Ковариация (=КОВАРИАЦИЯ.В) показывает направление связи (положительное или отрицательное) и ее масштаб в абсолютных единицах. Корреляция нормализует ковариацию, приводя значение к диапазону [-1; 1], что упрощает сравнение связей между разными парами переменных.

Формула связи: Корреляция = Ковариация / (Ст.откл.X * Ст.откл.Y).

🔹 Как рассчитать корреляцию в Google Sheets?

В Google Таблицах используйте те же функции, но с английским синтаксисом:

  • =CORREL(B2:B10; C2:C10) — аналог КОРРЕЛ.
  • =PEARSON(B2:B10; C2:C10) — то же, что и CORREL.
  • =SPEARMAN(B2:B10; C2:C10) — для ранговой корреляции (требуется подключение надстройки Analysis Toolpak).