Построение плотности распределения в Excel: от теории к практике

Анализ распределения данных — ключевой этап статистической обработки, и Excel предлагает инструменты для визуализации плотности даже без глубоких знаний в программировании. График плотности помогает выявить закономерности в наборе чисел: нормальное распределение, асимметрию, выбросы или многомодальность. Но как превратить сырые данные в наглядную кривую?

Многие пользователи ошибочно считают, что для этого нужны специализированные программы вроде R или Python. На деле же Excel 2019/2021/365 справится с задачей за 10-15 минут — если знать последовательность действий и нюансы настройки. В этой статье разберём два основных подхода: построение гистограммы с наложенной кривой плотности и использование встроенной функции НОРМ.РАСП для теоретического распределения.

Вы узнаете, как подготовить данные, выбрать оптимальное количество интервалов, добавить линию тренда и даже автоматизировать процесс с помощью Power Query. А для тех, кто работает с большими массивами, мы раскроем секрет использования надстройки Analysis ToolPak — она ускорит расчёты в 3-5 раз.

📊 Какой версией Excel вы пользуетесь?
Excel 2016 или старше
Excel 2019
Excel 2021
Excel 365 (онлайн/десктоп)
Другая программа (указать в комментариях)

1. Подготовка данных: 5 правил для точного графика

Качество графика плотности на 80% зависит от исходных данных. Прежде чем строить распределение, проверьте массив на соответствие критериям:

🔹 Объём выборки. Минимальный порог — 30 наблюдений. Для небольших наборов (менее 20 значений) кривая плотности будет ненадёжной из-за высокой вариативности. Если данных мало, используйте точечную диаграмму вместо плавной кривой.

🔹 Тип данных. Плотность распределения строят только для количественных переменных (возраст, доход, время реакции). Категориальные данные (пол, цвет, бренд) визуализируют через столбчатые диаграммы или круги.

🔹 Выбросы. Экстремальные значения (например, доход в 1 млн ₽ при среднем в 50 тыс. ₽) искажают график. Проверьте данные на аномалии с помощью функции =КВАРТИЛЬ() или правила 3 сигм:

=ЕСЛИ(A2>СРЗНАЧ($A$2:$A$100)+3*СТАНДОТКЛОН($A$2:$A$100);"Выброс";"Норма")
⚠️ Внимание: Если выбросов более 5% от общего числа наблюдений, рассмотрите возможность их исключения или использования робастных методов (например, медианного сглаживания).

🔹 Сортировка. Отсортируйте данные по возрастанию (Данные → Сортировка от минимального к максимальному). Это упростит визуальный анализ гистограммы и поможет выявить пробелы в распределении.

🔹 Пустые ячейки. Удалите или заполните пропуски (например, средним значением). Функция =СЧЁТЗ() поможет найти количество непустых ячеек в столбце.

Удалить выбросы (или обосновать их сохранение)

Проверить тип данных (только числовые значения)

Отсортировать массив по возрастанию

Заполнить пропуски или исключить их

Проверить объём выборки (минимум 30 наблюдений)-->

2. Метод 1: Гистограмма + линия тренда (для начинающих)

Самый простой способ визуализировать плотность — построить гистограмму и добавить к ней сглаженную линию. Этот метод не требует установки надстроек и работает во всех версиях Excel.

📌 Шаг 1. Построение гистограммы

  1. Выделите столбец с данными.
  2. Перейдите на вкладку Вставка → Вставить гистограмму (в Excel 2016+ она называется "Гистограмма Парето" или просто "Гистограмма").
  3. В открывшемся окне укажите диапазон данных и диапазон карманов (интервалов). Если карманы не заданы, Excel разобьёт данные автоматически.

📌 Шаг 2. Настройка интервалов

По умолчанию Excel использует алгоритм Стерджеса для расчёта числа интервалов (k = 1 + 3,322 * log(n), где n — объём выборки). Для данных с сильной асимметрией лучше задать интервалы вручную:

  • 📏 Ширина интервала = (максимум – минимум) / количество интервалов. Оптимальное число — от 5 до 20.
  • 🔢 Границы: округлите до "красивых" чисел (например, 0–10, 10–20 вместо 3,2–12,8).

📌 Шаг 3. Добавление линии плотности

  1. Щёлкните правой кнопкой по любому столбцу гистограммы и выберите Добавить линию тренда.
  2. В настройках линии выберите тип Полиномиальная (порядок 3–6) или Скользящее среднее (период 3–5).
  3. Отметьте галочки Показать уравнение на диаграмме и Поместить на диаграмму величину достоверности аппроксимации (R²).
⚠️ Внимание: Полиномиальная линия тренда может давать ложные пики на краях графика. Для точного распределения используйте ядерное сглаживание (см. Метод 3).

🔧 Дополнительная настройка:

  • 🎨 Измените цвет линии на контрастный (например, красный для гистограммы и синий для тренда).
  • 📊 Добавьте ось частот (щелчок правой кнопкой по оси Y → Формат оси).
  • 🔍 Увеличьте прозрачность столбцов гистограммы до 50% для лучшей видимости линии.

3. Метод 2: Теоретическая кривая с функцией НОРМ.РАСП

Если ваши данные приближены к нормальному распределению, можно наложить на гистограмму теоретическую кривую Гаусса. Это поможет сравнить эмпирические данные с идеальной моделью.

📌 Шаг 1. Расчёт параметров распределения

В отдельных ячейках вычислите:

  • Среднее: =СРЗНАЧ(диапазон)
  • Стандартное отклонение: =СТАНДОТКЛОН.В(диапазон)
  • Минимум/максимум: =МИН(диапазон) и =МАКС(диапазон)

📌 Шаг 2. Создание ряда значений для кривой

В новом столбце создайте последовательность чисел от MIN – 3*СТАНДОТКЛОН до MAX + 3*СТАНДОТКЛОН с шагом (MAX – MIN)/100. Например:

=A2 + (($B$2 - $A$2)/100)

где A2 — первое значение ряда, B2 — последнее.

📌 Шаг 3. Расчёт плотности нормального распределения

В соседнем столбце используйте функцию =НОРМ.РАСП(x; среднее; стандартное_отклонение; ЛОЖЬ), где:

  • x — значение из ряда (столбец Шага 2),
  • ЛОЖЬ — возвращает плотность (а не интегральную функцию).

📌 Шаг 4. Построение комбинированной диаграммы

  1. Постройте гистограмму по исходным данным (см. Метод 1).
  2. Щёлкните правой кнопкой по диаграмме → Выбрать данныеДобавить ряд.
  3. В качестве значений X укажите столбец с рядом чисел, в качестве значений Y — столбец с плотностями.
  4. Правой кнопкой по новому ряду → Изменить тип диаграммы → выберите График с маркерами.
Параметр Формула Пример для данных 10–100
Среднее =СРЗНАЧ(A2:A100) 55
Стандартное отклонение =СТАНДОТКЛОН.В(A2:A100) 28,3
Минимум ряда =МИН(A2:A100) - 3*СТАНДОТКЛОН -30
Максимум ряда =МАКС(A2:A100) + 3*СТАНДОТКЛОН 135

4. Метод 3: Ядерное сглаживание (продвинутый уровень)

Для данных с нестандартной формой распределения (многомодальные, асимметричные) подходит ядерная оценка плотности (Kernel Density Estimation, KDE). В Excel её реализуют через надстройку Analysis ToolPak или вручную с помощью матричных формул.

📌 Шаг 1. Установка Analysis ToolPak

  1. Перейдите в Файл → Параметры → Надстройки.
  2. Внизу окна выберите Управление: Надстройки ExcelПерейти.
  3. Отметьте Пакет анализа и нажмите OK.

📌 Шаг 2. Настройка параметров KDE

В Данные → Анализ данных выберите Гистограмма. В окне параметров:

  • 📌 Укажите входной интервал (ваши данные) и интервал карманов (см. Метод 1).
  • 📌 Отметьте Вывод графика и Параметры вывода (новый лист).
  • 📌 В поле Парето (сортированная гистограмма) укажите ЛОЖЬ.

📌 Шаг 3. Ручное ядерное сглаживание

Для большего контроля используйте формулу ядерной оценки:

=СУММПРОИЗВ(($A$2:$A$100 - B2)/$H$2; EXP(-((($A$2:$A$100 - B2)/$H$2)^2)/2)) / (СЧЁТ($A$2:$A$100)  $H$2  КОРЕНЬ(2 * ПИ()))

где:

  • B2 — текущая точка на оси X,
  • $H$2полоса пропускания (bandwidth, подберите вручную, например, =1,06 СТАНДОТКЛОН (СЧЁТ)^(-1/5)).
⚠️ Внимание: Ядерное сглаживание чувствительно к выбору полосы пропускания. Слишком большое значение "размоет" пики, слишком маленькое — сделает график "рваным". Оптимальный диапазон: 0,5–2 * стандартное отклонение.

🔍 Сравнение методов:

Метод Плюсы Минусы Когда использовать
Гистограмма + тренд Простота, скорость Неточность на краях Быстрый анализ
НОРМ.РАСП Точность для нормальных данных Не подходит для асимметрии Проверка нормальности
Ядерное сглаживание Универсальность, гладкость Сложность настройки Сложные распределения

5. Автоматизация: Power Query для больших данных

Если вам регулярно приходится строить распределения для массивов на 10 000+ строк, ручная настройка станет утомительной. Power Query (вкладка Данные → Получить данные) автоматизирует подготовку данных и построение интервалов.

📌 Шаг 1. Импорт данных

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

📌 Шаг 2. Группировка по интервалам

  1. Выберите столбец с данными → Преобразовать → Группировка.
  2. В настройках группировки укажите:
    • 📌 Столбец: ваш числовой столбец,
    • 📌 Имя нового столбца: "Интервал",
    • 📌 Операция: в диапазоне (binning),
    • 📌 Размер диапазона: ширина интервала (например, 5 или 10).

📌 Шаг 3. Подсчёт частот

  1. Добавьте новый столбец → Настраиваемый столбец.
  2. Введите формулу для подсчёта количества значений в каждом интервале:
    = Table.RowCount(Table.SelectRows(#"Шаг группировки", (x) => x[Ваш_столбец] >= [Интервал] и x[Ваш_столбец] < [Интервал] + 10))

📌 Шаг 4. Экспорт и построение графика

  1. Нажмите Закрыть и загрузить — данные вернутся в Excel в сводном виде.
  2. Постройте гистограмму по столбцам "Интервал" (ось X) и "Частота" (ось Y).
  3. Как ускорить загрузку больших файлов в Power Query?

    Используйте параметр "Загрузить в модель данных" вместо обычной загрузки на лист. Это сократит время обработки на 30–40% за счёт оптимизации движка xVelocity.

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

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

    🔴 Ошибка 1: Неправильное количество интервалов

    Слишком малое число карманов "сглаживает" важные детали, слишком большое — делает график зашумлённым.

    Решение: Используйте правило Стерджеса или Фридмана-Дьяконова:

    =ОКРУГЛВВЕРХ(2 * (МАКС(диапазон) - МИН(диапазон)) / (СЧЁТ(диапазон)^(1/3)), 0)

    🔴 Ошибка 2: Игнорирование выбросов

    Экстремальные значения искажают масштаб оси Y и форму кривой.

    Решение: Примените условное форматирование для выделения выбросов или используйте =ПЕРСЕНТИЛЬ() для обрезки 1% крайних значений.

    🔴 Ошибка 3: Некорректная ось X

    Если интервалы гистограммы неравномерны, кривая плотности будет ломаной.

    Решение: Проверьте ширину интервалов с помощью формулы:

    =B3 - B2

    где B2:B3 — соседние границы карманов.

    🔴 Ошибка 4: Перекрытие столбцов гистограммы

    По умолчанию Excel оставляет зазоры между столбцами, что искажает восприятие плотности.

    Решение: Щёлкните по столбцам → Формат ряда данных → установите Закрытие межстолбцового интервала: 0%.

    🔴 Ошибка 5: Несоответствие масштабов

    Если гистограмма и кривая плотности имеют разные оси Y, их сравнение теряет смысл.

    Решение: Настройте вторичную ось Y для кривой (правый щелчок по ряду → Формат ряда данныхПо вспомогательной оси).

    7. Практический пример: Анализ распределения доходов

    Рассмотрим реальный кейс: у нас есть данные о месячных доходах 200 респондентов (от 15 до 150 тыс. ₽). Цель — визуализировать распределение и проверить гипотезу о нормальности.

    📌 Шаг 1. Подготовка данных

    Исходные данные в столбце A2:A201. Проверяем выбросы:

    =ЕСЛИ(A2 > СРЗНАЧ($A$2:$A$201) + 3*СТАНДОТКЛОН($A$2:$A$201); "Выброс"; "")

    Находим 2 выброса (250 и 300 тыс. ₽) — исключаем их из анализа.

    📌 Шаг 2. Построение гистограммы

    Используем Analysis ToolPak с интервалом в 10 тыс. ₽. Получаем 14 карманов (от 10 до 150 тыс. ₽).

    📌 Шаг 3. Добавление кривой плотности

    Строим теоретическое нормальное распределение с параметрами:

    • Среднее: 78,3 тыс. ₽,
    • Стандартное отклонение: 22,1 тыс. ₽.

    Накладываем кривую на гистограмму и получаем R² = 0,89 — распределение близко к нормальному, но с небольшой правосторонней асимметрией.

    📌 Шаг 4. Интерпретация

    График показывает:

    • 📈 Мода (пик) — 70–80 тыс. ₽ (самый распространённый доход).
    • 🔍 Асимметрия: правый "хвост" длиннее левого — есть группа с доходами выше среднего.
    • 🎯 Вывод: для таргетированной рекламы целесообразно разделить аудиторию на 2 сегмента: до 70 тыс. ₽ и выше 100 тыс. ₽.

FAQ: Ответы на частые вопросы

Можно ли построить плотность распределения в Excel Online?

Да, но с ограничениями: в веб-версии недоступны Analysis ToolPak и некоторые типы линий тренда. Используйте гистограмму с полиномиальной линией (порядок 3–4) или экспортируйте данные в десктопную версию.

Как сохранить график плотности в высоком разрешении?

Щёлкните по диаграмме → Файл → Сохранить как → выберите формат PNG или PDF. Для векторного качества (например, для печати) используйте EMF:

  1. Копируйте диаграмму (Ctrl+C).
  2. Вставьте в Paint или Inkscape.
  3. Сохраните как SVG или EMF.
Чем отличается плотность распределения от гистограммы?

Гистограмма показывает абсолютные или относительные частоты попадания данных в интервалы, а кривая плотности — вероятность попадания в бесконечно малый интервал (производная функции распределения). Площадь под кривой плотности всегда равна 1.

Как построить распределение для категориальных данных?

Для нечисловых данных (например, оценки "отлично"/"хорошо") используйте:

  • 📊 Столбчатую диаграмму (для сравнения частот категорий),
  • 🎯 Круговую диаграмму (для доли каждой категории),
  • 📈 Диаграмму Парето (для сортировки категорий по убыванию).

Плотность распределения для таких данных не строится.

Можно ли в Excel построить 3D-распределение (например, совместную плотность двух переменных)?

Да, но с ограничениями:

  1. Используйте пузырьковую диаграмму (Вставка → Пузырьковая) для визуализации трёхмерных данных (X, Y, размер пузырька = частота).
  2. Для настоящей 3D-плотности потребуется VBA или экспорт данных в Python/R (библиотеки matplotlib или plotly).

В стандартном Excel 3D-графики плотности не поддерживаются из-за искажения перспективы.