При попытке определить зависимость между двумя наборами данных в 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–10 | 10–20 |
| Интерпретация 0.5 | Средняя линейная связь | Средняя монотонная связь |
⚠️ Внимание: Если в данных есть повторяющиеся ранги (например, два участника на 3-м месте), Спирмен автоматически присваивает им средний ранг (3.5). Это может исказить результат для небольших выборок.
4. Корреляционная матрица для нескольких переменных
Чтобы одновременно проанализировать связи между несколькими переменными (например, возраст, доход и расходы на развлечения), используйте надстройку "Анализ данных":
- Перейдите на вкладку
Данные→Анализ данных→Корреляция. - Укажите входной диапазон (включая заголовки столбцов).
- Отметьте
Метки в первой строкеи выберите выходной диапазон.
Результат — таблица с коэффициентами корреляции для всех пар переменных. Например:
| Возраст | Доход | Расходы | |
|---|---|---|---|
| Возраст | 1 | 0.45 | -0.12 |
| Доход | 0.45 | 1 | 0.78 |
| Расходы | -0.12 | 0.78 | 1 |
В этом примере видна сильная связь между доходом и расходами (0.78), но почти отсутствует зависимость между возрастом и расходами (-0.12).
5. Визуализация корреляции: диаграмма рассеяния
Диаграмма рассеяния помогает оценить характер зависимости до расчета коэффициента. Постройте ее так:
- Выделите два столбца с данными (например,
B2:C10). - Перейдите на вкладку
Вставка→Вставить диаграмму рассеяния (X, Y). - Добавьте линию тренда: кликните правой кнопкой по точкам →
Добавить линию тренда→ выберитеЛинейнаяи отметьтеПоказать уравнение на диаграмме.
Примеры интерпретации:
- 📌 Точки образуют прямую линию → подходит корреляция Пирсона.
- 🌀 Точки образуют кривую → проверьте нелинейную зависимость (например, логарифмическую).
- 🟢 Коэффициент R² на линии тренда > 0.7 → сильная связь.
⚠️ Внимание: Если на диаграмме видно несколько групп точек (кластеров), рассчитывайте корреляцию отдельно для каждой группы. Общий коэффициент будет недостоверным.
6. Распространенные ошибки и как их избежать
Ошибки при расчете корреляции в Excel делятся на три категории:
- Ошибки данных:
- 🚫 Текстовые значения в числовых массивах (например, "Н/Д" вместо 0).
- 🔄 Несовпадающее количество наблюдений в двух выборках.
- Ошибки метода:
- 📉 Использование Пирсона для нелинейных данных.
- 🔢 Расчет Спирмена для выборки менее 10 наблюдений.
- Ошибки интерпретации:
- 🤔 Принятие корреляции за причинно-следственную связь (например, "чем больше пожарных на пожаре, тем больше ущерб" — корреляция не означает, что пожарные виноваты).
- 📊 Игнорирование выбросов, искажающих коэффициент.
Чтобы проверить данные на выбросы, используйте функцию =КВАРТИЛЬ для расчета межквартильного размаха (IQR). Формула для определения границ выбросов:
=КВАРТИЛЬ(диапазон; 1) - 1.5*(КВАРТИЛЬ(диапазон; 3) - КВАРТИЛЬ(диапазон; 1)) // Нижняя граница
=КВАРТИЛЬ(диапазон; 3) + 1.5*(КВАРТИЛЬ(диапазон; 3) - КВАРТИЛЬ(диапазон; 1)) // Верхняя граница
Как удалить выбросы автоматически?
1. Добавьте вспомогательный столбец с формулой =ЕСЛИ(И(A2>нижняя_граница; A2<верхняя_граница); A2; "").
2. Скопируйте только видимые значения (без пустых ячеек) в новый диапазон для анализа.
7. Продвинутые техники: корреляция в Power Query и VBA
Для больших наборов данных (тысячи строк) удобнее использовать Power Query:
- Импортируйте данные в Power Query через
Данные→Из таблицы/диапазона. - Выберите столбцы для анализа → вкладка
Добавить столбец→Статистика→Корреляция.
Для автоматизации расчетов в 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
🔹 Почему КОРРЕЛ возвращает ошибку #Н/Д?
Ошибка возникает в трех случаях:
- Диапазоны разного размера (например, 10 и 9 ячеек).
- В данных есть текст или пустые ячейки.
- Стандартное отклонение одного из массивов равно 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).