В этой заметке я хочу описать два типа графиков для одномерных данных, а именно
  • гистограмма
  • ящик с усами


image

Рассмотрим произвольную выборку вещественных чисел X=(x_1,..., x_N), будем обозначать порядковую статистику x_{[k]}, такую что x_{[1]}\leq\ldots\leq x_{[k]}\leq\ldots\leq x_{[N]}.

Гистограмма


Скорее всего все поменять этот тип графика из школьной или университетской программы, который выглядит приблизительно так как на картинке.

Пример гистограммы

Прежде всего необходимо помнить, что значения входной выборки располагаются по оси x, а по оси y располагается число раз, которое данное значение встретилось (назовем их отсчеты). Гистограмма позволяет огрубить и сделать набор данных более компактным, при этом не умаляя его специфичность.
Важными характеристиками гистограммы являются следующие:
  • число столбцов (которые называются bins или bars)
  • абсолютные или плотностные отсчеты по оси y
  • как сгруппированы данные

Столбцы


В подавляющем большинстве случаев гистограмма определена на отрезке I=[min(X)-\varepsilon_1; max(X)+\varepsilon_2], где X — исходная выборка, \varepsilon_1, \varepsilon_2 вспомогательные константы, округляющие до ближайших “читаемых” чисел, которые в каждом случае зависят от масштаба и, обычно, это делители десятки в масштабе исходных данных. Если вдруг стало интересно, как ставить отсечки в данных, то можно посмотреть ссылку: R (pretty).

Так же обычно гистограммы делят отрезок I на подотрезки равной длины и, вот, выбор числа отрезков является искусством, хотя можно привести несколько формул:
  • Правило Стёрджеса (Не фотограф). n=1+log_{2}N
  • Правило Скотта. n=3.5\cdot\hat{\sigma}\cdot N^{-1/3}
  • Правило Фридмана-Дьякониса. n=2\cdot IQR\cdot N^{-1/3}

где n — число столбцов, N — размер исходной выборки, \hat{\sigma} — оценка стандартного отклонения, IQR=X_{[3/4N]}-X_{[1/4 N]} — интерквартильное расстояние, которое еще встретится ниже.

Так же можно отметить несколько правил здравого смысла:
  • хорошо чтобы в большинстве столбцов было больше одного исходного значения
  • каждый столбец гистограммы требует хотя бы одного пикселя по ширине, и в целом ограничение “не более 200” столбцов достаточно распространено

В противном случае, если число столбцов избыточно, а исходных данных мало, гистограмма будет напоминать штрих-код, как например на рисунке ниже.

Штрихкод

Ось Y


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

Так как обычная гистограмма является оценкой плотности, то мы можем суммировать столбцы и получить оценку функции вероятности следующим образом: s_i=\sum_{j=1}^{i} n_i/N. Два следующих графика построены по одним и тем же данным, слева не нормализованная гистограмма, справа аккумулированные значения нормализованной гистограммы.
Абсолютные значения, гистограмма Эмпирическая функция распределения

Группировка данных


До сих пор был рассмотрен случай, когда у нас есть характеристика, на которую мы просто хотим взглянуть, обычно намного более интересно сравнивать поведение одной и той же характеристики для различных подгрупп. В таком случае гистограмма будет иметь следующий вид.

Гистограмма с тремя группами c уклонением

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

В сухом остатке


Для отрисовки гистограммы необходимо определить
  • Число столбцов
  • Нужна ли нормализация и аккумулирование данных
  • Способ отображения различных групп

Для отрисовки гистограммы для каждой группы требуется хранить следующие значения:
  • n+1 значение границ столбцов, где самое первое значение x-координата левой границы самого левого столбца, а последнее — x-координата правой границы самого правого столбца
  • n значений — количество элементов попавших в каждый из столбцов.

Диаграмма размаха


“Ящик с усами” не имеет официально устоявшегося названия, а называть его “ящиком с усами“ у меня язык не поворачивается, тем более когда ящиков несколько, а диаграмма размаха хоть и не очень частотное, но более благозвучное название. Приведем пример трех ящиков слева отображены соответствующие значения исходных данных (не являются частью диаграммы размаха). Прежде всего необходимо отметить, что в случае диаграмм размаха, исходная характеристика откладывается по оси Y, а ось X условна и представляет собой группирующую переменную.

Диаграмма размаха, пример

Чтобы нарисовать ящик для одной группы про исходные данные необходимо знать всего три характеристики:
  • Первый квартиль Q_{25}=X_{[1/4 N]}
  • Медиану Q_{50} = X_{[1/2 N]}
  • Третий квартиль Q_{75} = X_{[3/4 N]}

Иногда к “обязательному” набору добавляют следующие дополнительные:
  • Минимум Min = X_{[1]}
  • Максимум Max = X_{[N]}
  • Пятипроцентный персентиль Q_{5}
  • Девяностопятипроцентный персентиль Q_%7B95%7D
  • Множество экстремальных значений X<Q_{25}-1.5\cdot IQR, X>Q_{75}+1.5\cdot IQR

Таким образом, ящик с усами в разрезе будет выглядеть следующим образом.

Ящик с усами в разрезе

Некоторые моменты требуют пояснения. Ящик, то есть объект между Q_{25} и Q_{75}, практически везде ограничен этими значениями, а вот “усы” могут различаться и если вас действительно интересуют числа, необходимо уточнять, что имеется в виду в каждом отдельном случае. Самое важное это длина усов: исходим из того, что она 1.5\cdot IQR=1.5 (Q_{75}-Q_{25}).

Отметки минимума и максимума часто опускаются, экстремальные точки, то есть выходящие за пределы усов тоже опускаются либо рисуются точками или звездочками. В зависимости от структуры данных желание отрисовывать экстремальные значения может значительно увеличить объем данных для отрисовки диаграммы размаха.

Магическое число 1.5 появилось в работе Тьюки Exploratory Data Analysis (1977) и причина его появления не очень ясна, но с тех времен ничего не менялось, многие инструменты предлагают его в качестве значения по умолчанию, но позволяют выставлять произвольное, вплоть до нуля, в этом случае, “усы” будут покрывать весь отрезок от минимального до максимального значений исходных данных.

Есть предположение, что 1.5 возникло следующим образом. Ширина усов составляет 4\cdot IQR, известно, что IQR/2 для симметричных распределений совпадает с абсолютным отклонением от медианы (MAD), которая в свою очередь, является оценкой дисперсии с коэффициентом 1.48. А значит, 4\cdot IQR\approx 8\cdot MAD \approx 16/3\cdot \hat{\sigma} \approx 6\cdot\hat{\sigma}, мы получаем не безызвестные 3 сигмы влево, 3 сигмы вправо.
Иногда в качестве концов усов предлагается интервал [Q_{5}, Q_{95}], в таком случае очевидно, что всегда (если исходных данных больше 20) должны получаться точки, не попадающие внутрь интервала и поэтому их обычно игнорируют при таком подходе.

В сухом остатке


Для отрисовки “диаграммы размаха” необходимо определить:
  • способ группировки данных
  • длину усов
  • нужно ли отмечать экстремальные значения

Для отрисовки “ящика с усами” для одной группы требуется всего 3 числа.

Комментарии (8)


  1. VtD
    22.09.2015 12:13
    +1

    s/IRQ/IQR/g


    1. kokorins
      22.09.2015 12:21

      Блин, и ни как иначе =(


  1. KoGor
    22.09.2015 17:14
    +1

    На гистограмме не может быть искусственных пропусков, так что первый вариант вашей так называемой группировки — это уже столбчатая диаграмма.

    Сгруппированная квазигистограмма
    image


    1. kokorins
      23.09.2015 00:50

      Насчет «первого варианта группировки», я в целом с вами согласен, но когда писал было несколько аргументов за и против. С точки зрения структуры данных, это именно гистограмма без пропусков и воспринимать ее нужно именно как что-то без пропусков. Также ggplot2, plot.ly, matplotlib считают это вариантом представления гистограммы, хотя согласен, что не ахти какие источники, но лишь ради упоминания вводить дополнительный термин мне показалалось излишним.

      Аббревиатура исключительно одна, при первом же упоминании дается ее определение и расшифровывается название без лишних английских слов. Мне очень совестно, что вам удалось увидеть статью до исправления.


      1. KoGor
        23.09.2015 12:42
        +1

        Очень многие люди не различают обычную столбчатую диаграмму и гистограмму в принципе, а те кто в курсе, что это разные вещи, всё равно иногда путают их. Так что это важный нюанс.

        Под расшифровкой я имел ввиду использования соответствующих тегов IQR, MAD.


  1. kolpeex
    22.09.2015 17:32
    +1

    «Ящик с усами» очень похож на «Японские свечи»


    1. kokorins
      23.09.2015 00:52

      Похож, но в Японских свечах, есть дополнительные, неизвестные мне элементы.


      1. OlegUV
        24.09.2015 07:14

        Свечи, кстати, нагляднее, чем усатый ящик, как-то проще и «актуальнее» для человеческого восприятия. Хотя, тут дело привычки, наверно.