12 заметок с тегом

теория

Позднее Ctrl + ↑

Алгоритм Δλ: визуальные атомы, часть 2

Продолжение заметки о визуальных атомах. Сегодня поговорим о прямоугольниках, отрезках и линиях.

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

Прямоугольники единичной ширны складываются в столбиковую диаграмму:

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

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

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

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

Видим, что проблема для группы 1,5-2 года стоит острее, чем для группы 2-2,5 года — хоть доступность садов в ней и выше, но нуждающихся в садике детей намного больше.

По такому же принципу прямоугольники образуют квадратные и тримэп-диаграммы:

Отрезок
Отрезок визуализирует частицу данных, состоящую из двух связанных элементов.

Это может быть связь двух объектов, например, брачный союз людей разных профессий:

Связь «до и после» двух значений одного и того же параметра, например, количество высокооплачиваемых должностей в различных индустриях:

.
Связанные попарно значения, например, результаты ответов на вопросы теста, личный и средний по соотечественникам:

Или пара связанных пространственных координат, например, начальное и конечное положение мяча при ударе по воротам:

Линия
Линия показывает путь или историю объекта во времени. Для линии важны не только точка начала, точка конца и связь (как в отрезке), но и форма пути между ними. Линии сливаются в потоки и делятся на русла.

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

Частным случаем линии является географический маршрут.

Частицы данных — французы армии Наполеона, наступающие на Москву и отступающие обратно

О мини-графике и географических атомах (точке, области, объекте и маршруте) я расскажу в третьей, заключительной заметке.

Следующая теоретическая заметка выйдет 4 июля.

Алгоритм Δλ: визуальные атомы, часть 1

Сегодня я расскажу о наглядном визуальном кодировании частиц, из которого естественным образом вырастает содержательная и наглядная визуализация.

После ответа на вопрос о том, что является элементарной частицей данных, задумайтесь, как её лучше всего показать. Элементарная частица данных — это визуальный атом, и её воплощение должно быть атомарным. Основные визуальные атомы: пиксель, точка, круг, черта, квадрат, ячейка, объект, прямоугольник, отрезок, линия и мини-график. Выбор атома следует из свойств частицы данных и её поведения в реальности данных.

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

Эффективность предприятия в прошлой заметке также складывается из пикселей — тонн продукции:

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

В простом случае точки занимают свои позиции и отображаются на графике по отдельности:

Медалисты всех олимпиад в беге на 100 м
Годовая зарплата и результативность ведущих американских бейсболистов (по командам)
Активность американцев в разное время суток

Иногда точки соединяет кривая:

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

Для складывания элементов в стопки в одном измерении подходят чёрточки:

Для составления столбиковых диаграмм используют квадратики:

Иногда точки просто накладывают друг на друга с прозрачностью, в таком случае яркие точки показывают наиболее распространённые значения:

Температурные рекорды в РФ
Землетрясения с 1898 года

Большое количество точек сливают в круги, потоки и облака, в них точки перестают быть различимыми:

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

Круг
Круг помимо цвета и расположения имеет радиус, который кодирует дополнительное измерение данных. Классический пример элементарных частиц-кругов — страны на Гэпмайндере, где изменяющийся со временем радиус круга показывает рост популяции:

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

Другие примеры:

Круги — крупные американские компании, радиус показывает их «вес» (рыночную стоимость), цвет — размер налоговой ставки
Круги — картины Пабло Пикассо, радиус показывает стоимость проданных на аукционах картин, цвет — тип (масло/акварель-гуашь)

Ячейка
Ячейка — это элемент регулярной сетки, как правило, квадратной формы. Линейные размеры ячейки не имеют значения. Частицы данных распределяются по сетке, а их свойства суммируются или усредняются и отображаются цветом ячейки.

Суммирование может быть примитивным (чем больше, тем ярче):

Или оценочным, например, с использованием светофорного градиента «хорошо-плохо»:

В этом примере на одной сетке просуммированы сон и ходьба городских жителей:

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

Классический пример Эдварда Тафти — график соотношения массы мозга и массы тела с животными вместо точек. Легенда не требуется:

Точки-воины и мирные жители в визуализации потерь Второй мировой войны:

Лабораторная визуализация характеристик танков из игры WoT, размеры танков на графике соответствуют реальным размерам:

Диаграммы и графики о флагах мира, собранные из флагов:

График изменения шерсти амурского тигра из шерстинок показывает не только длину, но и густоту шерсти, и появление подшёрстка:

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

Следующая теоретическая заметка выйдет 20 июня.

Алгоритм Δλ: элементарные частицы данных

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

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

Вот типичный интерактивный бизнес-отчёт:

Визуализация нескольких усреднённых параметров показывает положение дел, но не объясняет почему эти цифры таковы, что на них влияет и что можно улучшить. В приведённом примере нет живой массы данных, только застывшие, расчитанные внутри системы срезы. Попробуем взглянуть на задачу иначе: представим реальность данных, в которой завод выпускает продукцию. Каждый день производство отгружает тонны масла и сопутсвующих продуктов с некоторой долей брака, бригады сменяют друг друга, машины простаивают из-за отсутствия сырья, ломаются, проходят плановое техобслуживание. Данных и сущностей так много, что кажется, что показать их все на одной визуализации невозможно.

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

Во временной развёртке появляется ещё один тип частиц: часы простоя. Их суть и визуальное обозначение — дыра в производительности. Разные причины простоя закодируем цветом «дыры». Вот как выглядит результат дневной работы одной из машин:

Утром машина начала выдавать брак и пришлось потратить несколько часов на ремонт, ещё час она выходила на рабочий режим, после чего её производительность стала отличной. Эффективность за день получилась всего 22% из-за плохого старта.

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

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

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

Следующая теоретическая заметка выйдет 30 мая.

Алгоритм Δλ: главная идея и шаги

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

В примере с Московским марафоном, элементарная частица данных — это бегун, масса — толпа бегунов. Каркас основной визуализации составляет карта с маршрутом забега и временным слайдером.

Та же масса на каркасе, образованном осью времени, даёт диаграмму финишей:

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

Другие примеры частиц данных:
— солдат и мирный житель в визуализация потерь «Fallen.io»,
— землетрясение в истории землетрясений,
— час активности или сна на диаграмме о ритме жизни городов,
— гол и голевой момент в футбольной аналитике,
— попытка ответа на вопрос в статистике тренажёра ПДД,
— танк в сравнении характеристик танков WoT,
— трата в анализе личных расходов,
— доллар на логарифмической мани-грамме.

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

Создание визуализации сводится к следующим шагам:

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

    Вместе шаги составляют алгоритм визуализации, который я сформулировала на основе собственного опыта и лабораторных проектов. Я нигде не встречала подобного подхода, поэтому скромно назову его алгоритмом Лаборатории данных :-)

    Чтобы познакомиться с нашим алгоритмом «из первых рук» и научиться его применять, приходите на брейнвошинг по визуализации данных, который я проведу в Москве, 23 и 24 апреля.

    Следующая теоретическая заметка выйдет 16 мая.

    Реальность данных и постановка задачи

    Качественная визуализация показывает реальность данных под определённым углом, который интересует наблюдателя. Реальность данных отвечает на вопрос «Что происходит?», а постановка задачи (угол) — на вопрос «Зачем мы исследуем данные?» или, иначе говоря, «Что мы ищем?»

    Вернёмся к примеру с маршрутными такси. Реальность данных:

    Автобусы перевозят пассажиров по маршрутам общественного транспорта. Маршрут состоит из остановок, за день на маршруте выполняется несколько рейсов. Расписание движения по маршруту для каждого рейса задано временем прибытия на остановку. В каждый момент о каждой «машине» известны координаты, скорость и количество пассажиров на борту, а также какой рейс по какому маршруту она выполняет, и какой водитель за рулём.

    Транспортные аналитики хотят выяснить:
    Как меняется загруженность автобусов на маршруте в среднем в течение дня?
    Как часто и насколько серьёзно нарушается расписание движения?
    Где находятся, насколько загружены, как сильно отклоняются от расписания автобусы в данный момент времени?

    Реальность данных диктует пространственную структуру: маршрут, разделённый на участки разной длины между остановками. В такой структуре присутсвуют все объекты (остановки, участки между ними, машины на маршруте), к ним легко привязать соответствующие данные: опоздания — к точками остановок, превышения скорости — к фрагментам маршрута, загруженность — к участкам между остановками, на которых она остаётся неизменной. На маршруте можно визуализировать текущее положение и скорости автобусов, статистику рейса, усреднённые данные за часть суток и за календарный период.

    «Загруженность автобусов в среднем в течение дня» перестаёт быть абстрактным значением, вычисленным в недрах системы и показанным в таблице. Она раскладывается на «элементарные» загруженности рейсов на разных участках маршрута в разное время.

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

    Задачу о визуализации нарушений на одном из маршрутов я решала в рубрике «Вопрос-ответ». Вот как будет выглядеть сводка по нарушениям на маршруте утром, днём и вечером:

    Опоздания по утрам и вечерам концентрируются в разных частях маршрута.

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

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

    Одна реальность данных в зависимости от постановки задачи выражается в разных форматах визуализации. Но в отличие от отчётов, которые отвечают на вопросы «в лоб», визуализации построены на едином фундаменте, «дружат» между собой и легко объединяются в интуитивно понятные связки.

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

    Следующая теоретическая заметка выйдет 11 апреля.

    Ранее Ctrl + ↓