Визуализация данных — это всегда некоторое графическое построение, которое помогает исследовать имеющиеся данные. Мы строим геометрическую модель и изменяем её, чтобы представить разные аспекты данных. Также мы сталкиваемся с ограничением, которые накладывает визуальное восприятие, заключающемся в том, что размерность визуализации не может быть больше двух. Все доступные графические средства двумерны: лист бумаги или экран монитора.


На примере диаграмм для одномерных данных посмотрим, как строится геометрическая модель, как она модифицируется, и как проявляется размерность данных и визуализации.


Выбор диаграммы для одномерных данных: геометрическая модель



Простейшая геометрическая модель числовых значений


Рассмотрим ряд значений одной переменной (скорость, температура, цена и т.п.), например:


3, 1, 5, 4, 6, 5, 4, 7, 9, 8

Под одномерностью данных и будем понимать, что переменная только одна. Чтобы исследовать свойства числового ряда, построим геометрическую модель, то есть модель, где элементы данных (числовые значения) представлены с помощью геометрических объектов: точек, линий и окружностей.


Для числового ряда самое простое — это сопоставить каждому числу линию, длина которой пропорциональны числовым значениям. Например, линия, соответствующая числу 3, в три раза длиннее линии, соответствующей числу 1. Получается обычная столбиковая диаграмма:


Числа и соответствующие им линии (столбиковая диаграмма)


Преобразование визуализации для исследования разных аспектов данных


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


Значимым параметром у столбиковой диаграммы является расстояние от основания диаграммы (горизонтальной оси) до верхней точки. Это расстояние пропорционально значению переменной в некоторый момент времени. Если оставить только верхние точки и соединить их между собой, то получится график (line chart). На графике точки упорядочены по времени слева направо:


График


Если отсортировать линии не по времени, а по возрастанию или убыванию, то получится линейчатая диаграмма (bar chart). Эта диаграмма хорошо подходит для представления рейтинга и позволяет визуализировать значения переменной, упорядоченные по убыванию или возрастанию сверху вниз (по рангу). Тогда она будет похожа на упорядоченный список:


Линейчатая диаграмма


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


Гистограмма


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


Уменьшение размерности визуальной модели


Можно заметить, что рассмотренные выше диаграммы двумерны, несмотря на то, что при их помощи визуализируются одномерные данные:


  • график: время и значение переменной
  • линейчатая диаграмма: значение переменной и ранг (для горизонтальной ориентации линий)
  • гистограмма: интервал и количество значений

То есть, размерность визуализации не обязательно совпадает с размерностью данных.


Эффективно увеличивать размерность визуализации сложно, а вот уменьшить размерность можно достаточно легко. Такая модификация позволит получить еще несколько диаграмм для визуализации и моделирования значений одной переменной.


Одномерным аналогом графика является интервальная диаграмма или японская свеча (candlestick chart), часто используемая при отображении биржевых графиков. Для ее построения мы оставляем только четыре значения переменной: начальное, конечное, минимальное и максимальное. Вместо того, чтобы изучать временной интервал в подробностях, мы смотрим только на граничные (по времени и величине) значения. У интервальной диаграммы прямоугольник не закрашен, если конечное значение больше начального (рост), и закрашен, если наоборот (падение).


Интервальная диаграмма - японская свеча


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


Формула для круговой диаграммы


Мы получили круговую диаграмму (pie chart).


Круговая диаграмма


И, наконец, уменьшим размерность гистограммы. По аналогии с интервальным графиком оставим лишь несколько основных значений, характеризующих распределение: минимальное и максимальное, два квартиля и медиану. Получим диаграмму размаха или ящик с усами (box plot), на которой квартили задают границы прямоугольника, а вертикальная линия по середине, это медиана.


Диаграмма размаха - ящик с усами


Нижний вариант, предложенный "минималистом" Тафти, наглядно демонстрирует одномерность данной визуализации.


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


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


Выбор диаграммы для визуализации одномерных данных


Теперь составим таблицу, которая поможет выбирать диаграммы для визуализации одномерных данных. Шесть рассмотренных диаграмм классифицированы по следующим аспектам визуализации:


  • Временная последовательность (подробно или кратко)
  • Отношение: между значениями и значений к целому
  • Распределение значений по интервалам (подробно и кратко)

Размерность Время Отношение Распределение
2D График Линейчатая диаграмма Гистограмма
1D Интервальный график («японская свеча») Круговая диаграмма Диаграмма размаха («ящик с усами»)

Выводы


  • Диаграммы для одномерных данных представлены как геометрическая модель и рассмотрены связи между различными диаграммами
  • Модификации геометрической модели (визуализации) позволяют показать разные аспекты изучаемых данных
  • Изменение размерности диаграмм позволяет представить информацию в более сжатом виде, например, для сравнения

Ссылки


Поделиться с друзьями
-->

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


  1. vintage
    09.04.2017 21:47
    -2

    Японская свеча неинтуитивнаа и не логична. Лучше тут подходит такая диаграмма: вертикальная линия показывает разброс, ус влево показывает начальное значение, ус вправо — конечное.


    1. atikhonov
      10.04.2017 09:45
      +1

      цвет, цвет в свечах гораздо показательнее (направление), чем сравнивать насечки, левее они или правее друг от друга.


      1. vintage
        10.04.2017 10:23

        Одно другое не исключает.


        1. vintage
          12.04.2017 09:23

          Нашёл картинку. Правда тут цвета не достаточно контрастные.


          image


          1. atikhonov
            12.04.2017 17:13

            вот это как раз пример, неинтуитивного и малопонятного графика.
            Японские свечи здесь гораздо уместнее.


            1. vintage
              12.04.2017 18:37

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


  1. Meklon
    09.04.2017 22:12
    +3

    Очень люблю boxplot использовать при визуализации лабораторных данных. Очень компактно. Если еще и цвет делать значимым, то плотность информации вообще дикая.
    image


    1. ikashnitsky
      10.04.2017 12:13

      Еще очень удобны засечки (notches), обозначающие доверительный интервал медианы. Можно быстро и довольно надежно судить о значимости различий между группами наблюдений.


      Пример

      image


      Примечание: TSR = Total Support Ratio — отношение численности населения в трудоспособном возрасте (15-64) к численности населения старше моложе трудоспособного возраста


      1. Meklon
        10.04.2017 12:58

        Что-то я не уловил отличий от boxplot.


        1. ikashnitsky
          10.04.2017 13:01

          Это и есть boxplot. Только добавлены засечки, обозначающие приближенно доверительный интервал медианного значения


      1. Meklon
        10.04.2017 13:08


        Я правильно понял обозначение?


        1. ikashnitsky
          10.04.2017 13:16
          +1

          да
          Но это довольно грубый и быстрый способ расчета доверительного интервала



          1. Meklon
            10.04.2017 13:22

            Ух. Красота. Жаль Seaborn не поддерживает. Надо feature request написать им. А почему грубо? И доверительный интервал для какой вероятности?
            UPD: Увидел, что для 95%


            1. ikashnitsky
              10.04.2017 13:29
              +1

              Да, это очень мощное дополнение к боксплоту.
              Ну а грубо по многим причинам. Главное (насколько я понимаю): мы визуализируем распределения с помощью боксплота, как правило, перед тем, как покрутить регрессии и посмотреть значимость различий. В большинстве случаев результаты анализа говорят нам о различиях в средних значениях, а не медианных. То есть аналитическая мощь этих засечек опирается на допущение о нормальности распределения, что редко бывает совсем уж правдой. Но все это значимо лишь в пограничных случаях (когда, кстати, и выбор 95% доверительного интервала — не более чем условность). Если различия по засечкам большие, то можно быть уверенным в их статистической значимости.


              1. Meklon
                10.04.2017 13:32
                +1

                p-value все равно считать, как и тесты на нормальность распределения. Для обзорного варианта более чем. Надо просить авторов библиотеки. Крутая штука.


              1. Meklon
                12.04.2017 00:12
                +1

                Блин, я этот параметр проглядел)) умеет seaborn.
                image


  1. Meklon
    10.04.2017 12:00
    +1

    Вот варианты маскимальной плотности сжатия информации с помощью библиотеки seaborn.
    Boxplot:
    image
    Violinplot — показывает гистограмму распределения одновременно с медианой и прочими вещами:
    image


    А еще мне очень нравится swarmplot для категорийных данных:
    image
    Или комбинация с другими вариантами одновременно:
    image


  1. Safronov
    10.04.2017 17:51

    Одномерный боксплот прекрасен!


  1. fivec
    10.04.2017 20:45

    Всегда думал что размерность определяется по количеству осей. У Вас на всех графиках две оси — почему вы считаете данные одномерными? Как по вашему выглядит трехмерный график?


    1. Meklon
      10.04.2017 23:53

      Это одномерные графики. Я выше привел примеры. По оси x не величины, а категории. Расстояния не значимы.


    1. vmalino
      11.04.2017 07:15
      +1

      Хороший вопрос — как определяется размерность. Вот рабочее определение:

      Размерность — количество независимых параметров, необходимое и достаточное, чтобы задать местоположение в пространстве.

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

      Земля шарообразная, то есть, явно трехмерная. Однако, мы спокойно обходимся двумя параметрами для ориентирования — широтой и долготой. Благодаря этому возможны и благополучно используются уже тысячелетия плоские (двумерные) географические карты.

      Карты же (физические) и являются одним из возможных вариантов трехмерного графика. Третий параметр — высота над уровнем моря — изображается цветом.
      Другой вариант трехмерного графика — пузырьковая диаграмма. Но этот вариант уже не такой эффектный. Если пузырьков, отвечающих за третье измерение, становится много, то график перестает читаться.

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

      Если мы рисуем график некоей функции y=f(x), то y — это зависимая переменная, а x — нет. Зная x, мы можем определить y (местоположение). Поэтому данные одномерные. Однако, осей у нас две, потому что мы пользуемся двумерной визуализацией. Размерность визуализации специально «избыточна» для наглядности. В данном случае, x просто задает диапазон, в котором мы смотрим значения y.

      И, наконец, про графики, которые с двумя осями, но я называю одномерными. На них вторая размерность визуализации как бы схлопывается, и мы смотрим только на одну:
      — свеча: мы отбросили протяженность во времени. На весь график мы смотрим как на один момент времени и характеризуем его несколькими значениями исходной переменной.
      — круговая диаграмма: на ней значимой является только доля, изображаемая углом. Посмотрите на это как на полярные координаты, в которых мы не пользуемся радиусом. Угол однозначно определяет местоположение на окружности. В этом смысле окружность одномерна.
      — боксплот: тут схлопывается все частотное разнообразие распределения. Мы просто помечаем отрезком на числовой оси место наиболее вероятного нахождения наших значений. Сколько их там на самом деле и как они распределены, боксплот уже не показывает, по сравнению с гистограммой.


      1. fivec
        11.04.2017 18:48

        идея понятно, но если рассматривать ваш пример со свечой в отдельный момент времени — одна свеча показывает 5 разных значений: минимум, максимум, среднее, старт, финиш. а с учетом времени — вы на одном графике отобразили 5 переменных:)
        если говорить по «плоские» графики — то они не зря называются «2D» имеется ввиду все же 2 измерения.
        к ним добавляют еще размер и цвет — получаем «bubble chart» — на плоскости визуализация 4-х независымых переменных
        круговая диаграмма — да она одномерна, еще есть например timeline и пр.