зачем нужна визуализация данных
Многомерные данные и оценка качества их визуализации
Итак, начнем с простого: What is Data?
В машинном обучении, данные представлены как массивы чисел, например: пиксели в изображениях. Удобно представлять эти данные не как массивы чисел, а как векторы в многомерном пространстве. Тогда, датасет — это облако точек в пространстве большой размерности. Но, к сожалению, в 99,99% задач машинного обучения, у нас размерность гораздо больше, чем 3. Обычно, это несколько сотен. Конечно, представить себе пространство размером 512 будет очень сложно для человека. Поэтому, конечно хочется уменьшить эту размерность. Но, прежде чем это сделать, давайте разберемся, зачем вообще нужно визуализировать данные?
Why visualize?
Визуализация — это часть исследования тренировочных данных. Таким образом, мы можем понять, какие классы у нас лучше всего разделены. Например, если какие-то сэмплы плохо размечены, неправильно размечены, или же их лучше убрать из тренировки.
Полезно визуализировать данные не только тренировочные, но и продакшн. Предположим, если у нас продакшн данные немного смещаются, происходит data drift, тогда, границы нашей модели, которые разделяют классы, будет уже неверна и предсказания мы будем получать уже совсем не те. Это актуально для сезонных данных.
Следующий аспект, для чего нужно визуализировать данные — найти outliers. Например, если в backend что-то пошло не так, и в модель классификации отзывов у вас приходят не отзывы клиентов, а слова из товарных чеков для совершенно другой модели. Вроде бы, это тоже слова, но домен уже другой, и какие-то статистические метрики могут не обнаружить разницу.
С мотивацией разобрались, теперь встает вопрос: как уменьшить размерность с нескольких сотен до 2D или 3D, таким образом, чтобы сохранилась главная структура наших данных?
Конечно, ответ на этот вопрос уже есть, существует много алгоритмов, в том числе линейные. Однако, для данных очень большой размерности, линейные алгоритмы не работают, так как очень сложно интерпретировать разные измерения. Поэтому, используют нелинейные алгоритмы понижения размерности или алгоритмы для обучения многообразием (Manifold Learning) К ним относятся MDC, t-SNE, LargeVis, UMAP, TRIMAP и другие.
В этом многообразии алгоритмов, их гипер параметров понятно, что проекция данных на меньшей размерности будет совершенно разная и она нам будет говорить совершенно разную историю. Хороший пример: проектирование нашей земли на плоскость. Карта, которую все мы знаем по урокам географии в школе, очень сильно искажается на краях, и в действительности, Россия не такая уж большая, как нам говорили учителя.
Как этого избежать? Ответ прост — нужно ввести какую-то метрику, которая будет показывать, насколько верна наша проекция данных в меньшей плоскости. И на основе этой метрике, мы сможем подобрать гипер-параметры, которые нам нужны.
Projection quality metrics
Прежде чем выбрать метрику, необходимо понять, какие свойства и факторы проекции нам нужны.
Мы бы хотели, чтобы наша визуализация или проекция, отображала глобальную структуру как можно четче. Чтобы оценить глобальную структуру, была придумана такая метрика, как Global Score.
Авторы утверждают, что можно взять методы главных компонентов PCA, как идеальный метод по сохранению глобальной структуры, так как кроме глобальной структуры, PCA ничего и не использует.
Если взять PCA, как эталон, то мы сможем сравнить с ним все остальные алгоритмы. Как мы это сделаем? Просто возьмем и посчитаем ошибку восстановления из меньшей размерности в большую размерность для наших данных. И посчитаем ту же самую ошибку для данных, которые мы уже понизили с помощью метода главных компонентов. На основе этого, посчитаем Global Score, где максимум будет у данных пониженной размерности методом главных компонентов, а все остальные методы будут иметь немного меньше.
В данном случае, учитывается взаимосвязь точек внутри маленьких соседств. Что для этого использовать? Самый прямолинейный метод — взять и прогнать KNN на наших данных с пониженной размерностью и выбрать тот метод, который имеет наибольший тест accuracy. Но, проблема данного способа заключается в том, что это supervised, мы должны иметь доступ до лейблов наших данных. А также, KNN будет давать больше привилегий той визуализации, которая разделяет кластеры, чем больше, тем лучше.
Можно попробовать другой прямолинейный метод — посчитать ошибку Sammon’s error. Идея очень простая, мы считаем для каждой точки дистанцию до любой другой точки в оригинальном и пониженном пространстве и считаем разницу между этими дистанциями. В пониженном пространстве, дистанция до всех точек была такая же, как в оригинале.
Проблема этого метода заключается в том, что он не учитывает проклятие размерности: в большой размерности, дистанция между каждыми точками гораздо больше, чем в пониженной размерности.
Существует и дополнительный метод, по которому мы должны учитывать не дистанцию, как число, а ранк, то есть порядок точек по дистанции до определенно выбранного сэмпла. Мы хотим, чтобы при понижении размерности, вокруг конкретной точки ее соседство было точно таким же, как и в оригинальном пространстве. При этом, мы наказываем точки, которые подходят слишком близко к локальному соседству, в которое они не должны входить.
Для этого, мы вводим такую метрику, как надежность (Trustworthiness) Она гарантирует нам при выборе любого сэмпла, что все ближайшие точки будут ближайшими и в оригинальном пространстве.
Еще одна метрика — прерывность (Discontinuity), которая гарантирует то, что точки из локального соседства не будут уходить слишком далеко, в какой-то совершенно другой край визуализации.
Данная метрика интересна тем, что она работает на глобальной структуре и локальной структуре. Метрика используется для сравнения многообразий между собой, а также, для сравнения тех же многообразий с отличающейся размерностью (в оригинальной и уменьшенной)
Стабильность — тот неочевидный фактор, который тоже нужно учитывать. Когда мы прогоняем алгоритмы через наши данные, должна показываться примерно одна и та же картинка. Чтобы оценить стабильность, была придумана такая метрика, как Procrustes distance.
Например, у нас есть исходные данные в трехмерном пространстве, мы проецируем их, а далее берем, и проецируем не все наши данные, а только сэмпл, получаем проекцию.
Затем, пытаемся Y’ замапить в нашу оригинальную визуализацию. Эта проблема называется Orthogonal Procrustes Problem. Мы используем Procrustes Transformations: смещение, поворот, равномерное масштабирование. Здесь необходимо понять, насколько эти проекции разные и насколько они похожи.
Далее, нужно измерить и рассчитать оптимальную трансформацию, измерить дистанцию между каждой соответствующей точкой, и средняя дистанция из всего датасета будет наша Procrustes distance.
На примере ниже очень хорошо видно влияние стабильности на отображении данных. Один датасет мы визуализируем при помощи UMAP и t-SNE. Если рассматривать UMAP, визуализация получилась достаточно стабильной, можно заметить примерно такую же структуру многообразия, примерно такие же кластеры.
Таким образом, мы выявили некоторые метрики, которые можно использовать на практике для оценки визуализации: Global Score, KNN accuracy, Trustworthiness & Discontinuity, IMD.
Материал проработан совместно с ИТ-библиотекой Innevia
Визуализация данных: способы, инструменты, полезные ссылки
Информация усваивается лучше, если подать ее в виде красивых схем, графиков и диаграмм. Это называется визуализация данных — о ней и поговорим.
Сегодня она особенно важна — контента стало слишком много, люди в нем просто тонут. Визуально представленная информация более привычна и понятна человеческому глазу, с помощью нее можно быстро донести любые мысли и идеи.
Зачем визуализировать данные?
Привлекать больше трафика на сайт. Люди лучше воспринимают и запоминают зрительную информацию. К тому же рассматривать картинки и искать взаимосвязи довольно увлекательно, а значит, так вы повысите время нахождения пользователей на сайте, и, следовательно, их вовлеченность и лояльность к вашей компании.
Анализировать большой набор данных и делать статистику/отчеты. Чаще всего визуализацию используют именно здесь. Например, чтобы посчитать прибыль компании за год. Гораздо проще прийти к логичному заключению, глядя на график, где один из столбцов находится выше всех остальных, чем пролистать несколько страниц статистики в Google Sheets или Excel.
Доступно объяснять сложные вещи и явления. С помощью визуализации спокойно заменить целые куски текста и выделять взаимосвязи. А еще это просто красиво, так что какая-нибудь инфографика станет прекрасным дополнением для вашего новостного или аналитического портала или блога.
Базовые принципы визуализации
Чтобы визуализация действительно работала, здесь, как и везде, нужно придерживаться правил.
Предлагаем вам познакомиться с четырьмя основными принципами визуализации, которые сформулировал экономист, специалист по визуализации данных и презентациям Джон Швебиш (Jon Schwabish).
1. Ясность данных
За графиками в отчетах и статьях в блогах людям интересна прежде всего история. В графике она состоит из различных данных — цифр, дат, имен. Но это не значит, что нужно разместить на нем сразу все данные, которые у вас есть. Не стоит перегружать схемы лишней информацией — лучше пусть ее будет меньше, но данные будут проверенными и понятными.
2. Меньше визуального шума
Избегайте визуального шума — темных или тяжелых линий сетки, лишних иконок и меток, большого количества текста, теней и градиентов, чрезмерного объема.
3. График и текст — единое целое
Весьма распространен так называемый «эффект слайд-шоу», когда схема отдельно, текст отдельно. Но это не есть хорошо — надо, чтобы графики и текст дополняли друга друга. Поэтому легенду, поясняющую значение линии, столбика, точки, нужно размещать прямо на графике или в конце линии.
Характеристики, которые можно определить сразу
Информацию о мире мы узнаем и совершенно неосознанно. Чисто на подкорке остаются определенные визуальные характеристики (форма, контраст), которые мы можем заметить и определить сходу, не особо всматриваясь в изображение. Но круг этих характеристик ограничен — сначала наш мозг считывает то, что знает, а только потом достраивает полноценную картину. Это тоже нужно учитывать при работе с визуализацией.
Основные способы визуализации
Перечисляем самые распространенные способы визуализации, с примерами.
Графики
Наверное, самый привычный для нас вид визуализации данных. Именно графики мы видим в учебниках в школе, с ними же первым делом знакомимся, когда начинаем осваивать Excel.
Графики строятся по осям X и Y и показывают зависимость данных друг от друга. Они, в свою очередь, делятся еще на несколько подвидов — подробнее о каждом по ссылкам ниже.
Диаграммы и графики: как улучшить восприятие пользователя на сайте
С каждым днем информации становится все больше и дизайнеры ищут решения, которые помогут пользователям легче воспринимать большие объемы данных. Одним из таких способов является построение различных диаграмм и графиков. В этой статье мы расскажем как визуализация данных помогает пользователям лучше усваивать информацию, как улучшить дизайн диаграмм и графиков и увеличить продажи с помощью оформления данных.
Как пользователь воспринимает информацию
Проведенные исследования показывают, что большинство людей являются визуалами и легче воспринимают информацию с помощью изображений. Наглядные иллюстрации помогают пользователям представить информацию, понять зависимости и сделать соответствующие выводы. Поговорим о том, зачем визуализировать данные и как мозг человека воспринимает графики и изображения.
Зачем нужна визуализация данных
Визуализация данных помогает не только оформить данные для облегчения восприятия, но и вызывает эмоциональный отклик у пользователя. Графики и диаграммы делают статьи интереснее, вовлекают читателей, помогают им наглядно представить информацию.
Кроме того, такое представление данных лучше запоминается пользователям, привлекает внимание к информации. Однако, данные должны быть оформлены таким образом, чтобы пользователь мог легко обработать большой объем информации и быстро проанализировать существующие зависимости.
Как мы выделяем важное
Также очень важно учитывать особенности своей целевой аудитории. Люди разного возраста, пола, интересов замечают разную информацию. Поэтому необходимо знать своего клиента, прежде чем создавать визуализацию данных.
Способы визуализации данных
Рассмотрим виды различных диаграмм и графиков, с помощью которых можно графически представить информацию.
Столбчатая диаграмма
Самый распространенный вид диаграмм. Данные разбиваются на категории, каждая представляется в виде столбца, высота которого отображает соответствующую величину.
Линейчатая диаграмма
Линейный график
Иногда под графиком закрашивают область, чтобы нагляднее указать на объем данных:
Круговая диаграмма
Географическая диаграмма
Такой тип диаграмм используется для анализа данных с точки зрения географического положения. К примеру, какая доля респондентов проживает в регионах и прочее.
Стрим-график
Пузырьковая диаграмма
Так назвали диаграмму, которая показывает взаимосвязь трех параметров. Точки располагаются как на линейном графике, а область вокруг каждой из них показывает третью составляющую.
Данные типы диаграмм знакомы пользователям, поэтому чаще всего используются при проектировании интерфейсов и создания дизайна.
10 правил построения графиков и диаграмм
Итак, подведем итоги. С помощью визуализации данных дизайнер может:
Однако, если график не будет понятен пользователю, все эти преимущества будут бесполезны. Мы составили 10 правил, которые помогут правильно составить графики и облегчить восприятие диаграмм пользователем.
Правило 1. Формулировка идеи
Построение графика начинается не с выбора цвета точек или интервалов между столбцами. В первую очередь нужно определиться с целью: зачем нужна диаграмма и как она может быть полезна клиенту? Не стоит создавать графики только ради графиков.
Также нужно следовать принципу «одно представление = одна идея». Если вы хотите показать динамику роста цен на продукцию, не показывайте на графике изменение количества клиентов и ежедневную выручку. Это только отвлекает от главной идеи и мешает восприятию.
Правило 2. Подходящий тип графика
Выбранный тип графика должен не вводить пользователя в замешательство, а помогать ему воспринимать информацию. Графики и диаграммы нужны, чтобы сравнивать данные друг с другом. Существует несколько способов сравнения и каждому из них соответствует определенный тип графика:
1. Выделение доли по отношению к целому. Например, нужно показать, сколько процентов из всего населения России живет в селах. Лучше всего такое сравнение делать с помощью круговой диаграммы:
2. Изменение во времени. Чтобы показать, как данные менялись с течением времени, лучше всего использовать линейные графики, пузырьковые диаграммы. С помощью них можно отразить рост или падение цен, колебания значений в определенном интервале и многое другое.
3. Соотношение данных друг с другом. Если нужно сравнить данные и показать, как они соотносятся между собой, используют столбчатые и линейчатые диаграммы. С помощью столбцов можно сделать это наиболее наглядно.
4. Частота попаданий в интервал. Иногда нужно показать, в какой период времени происходили те или иные действия. Для этиих целей используют столбчатые диаграммы и линейные графики, которые показывают временные изменения и распределение данных.
5. Корреляция. Показать, как данные зависят друг от друга также можно с помощью линейного графика. Также иногда применяют специальные матрицы (чем темнее цвет ячейки, тем сильнее зависимость):
Сформулировав основную идею и определив подходящий график можно приступать к оформлению данных.
Правило 3. Упорядочивание данных
Чтобы пользователю было легче сравнивать информацию, выискивать закономерности и делать выводы, нужно располагать данные в логическом порядке. Например, чтобы понять, как распределяются величины на этом графике, нужно всматриваться и запоминать их расположение:
Если мы упорядочим столбцы по убыванию, разницы становится очевидной:
Правило 4. Подбор цвета
При проектировании диаграмм в дизайне важно правильно подобрать цветовую гамму.
Во-первых, все графики на макете должны придерживаться единого стиля. Если этого не происходит, страница теряет свою привлекательность.
В-третьих, при построении графиков программы обычно выбирают цвета случайным образом. Дизайнеру следует продумать собственную цветовую схему, которая бы сочеталась с общей концепцией сайта.
Правило 5. Упрощение
Графики не должны выглядеть «загроможденными» информацией. Это ухудшает восприятие и отвлекает от конечной цели. Поэтому диаграммы должны быть простыми, без лишних элементов, и в то же время понятными пользователю.
Правило 6. Выделение главного
В этом пункте стоит вспомнить о приоритетах, про которые мы рассказывали ранее. Пользователю нужно видеть главную мысль, то, что хочет сказать дизайнер. Например, если мы хотим сделать акцент на том, что прибыль компании увеличилась к 2019 году, можно выделить эти данные ярким цветом, а остальные затемнить:
Важно помнить, что мы хотим показать пользователю и делать акценты на главной идее. Так график привлечет внимание и запомнится клиенту.
Правило 7. Понятный формат данных
Отдельно стоит сказать о легенде. Текст должен быть читабельным, иначе пользователь не захочет разбираться в представленной информации и проигнорирует изображение.
Правило 8. Согласованность
Правило 9. Нет 3D эффектам
Пришла эра плоского дизайна (подробнее об этом стиле мы писали здесь) и 3D эффекты потеряли свою привлекательность. К тому же, такой прием значительно ухудшает восприятие графика, так как непонятны конечные значения из-за 3D представления данных. Это хорошо видно, если сравнить два графика:
Правило 10. Пространство
При построении графиков, гистограмм, нужно уделять внимание пространству между столбцами, графиком и легендой и прочим интервалам. О значимости пространства и его использовании можно прочитать в этой статье.
Следуя этим правилам можно превратить графики и диаграммы в элемент сайта, который привлечет внимание пользователя, запомнится, поможет визуализировать информацию. Уделяя внимание таким мелочам, дизайнеры создают концепции, которые влияют на эмоциональное состояние клиентов и, как следствие, на конверсию сайта.
Студия дизайна IDBI всегда старается прорабатывать все детали на сайте, делать графики, изображения понятными для пользователей. Это можно увидеть в наших работах, которые представлены в разделе «Портфолио».
6 принципов эффективной визуализации данных
Ключевые принципы создания полезных и информативных графиков
Визуализация данных является важным этапом в процессе постижения науки о данных. Здесь вы представляете свои результаты и сообщаете о них в графическом формате, который является интуитивно понятным и лёгким для понимания.
Визуализация данных требует большой работы, большой труд по очистке и анализу уходит на перегонку и превращение грязных данных в красивые графики и диаграммы. Но даже с подготовленными данными всё равно приходится придерживаться определённых принципов или методологий, чтобы создать полезную, информативную графику.
Тем не менее при написании этой статьи я черпал вдохновение в книге Эдварда Тафта «Beautiful Evidence», которая содержит шесть принципов, посвящённых тому, как сделать графики данных полезными. Именно эти принципы отделяют полезные графики от бесполезных.
Эта статья также в значительной степени вдохновлена книгой Роджера Д. Пенга «Exploratory Data Analysis in R» Она доступна бесплатно на Bookdown, и вы можете прочитать её, чтобы узнать больше о EDA.
Давайте ближе познакомимся с этими принципами.
1. Покажите сравнение (контрольная и экспериментальная группы)
Демонстрация сравнения — основа хорошего научного исследования. Доказательства гипотезы всегда связаны с чем-то другим. Возьмём пример: вы говорите: «Тёмный шоколад улучшает концентрацию внимания и способность к обучению». Важный вопрос в этом утверждении — «по сравнению с чем?» Без сравнения (относительная гипотеза) утверждение бесполезно.
Один из способов показать сравнение — контрольная и экспериментальная группы. Люди одной группы будут есть шоколад, люди во второй группе — не будут. Таким образом, вы сможете сравнить влияние шоколада на концентрацию и способность к обучению на основе результатов теста или путём измерения активности мозга.
При создании графиков для презентации вашего исследования вы можете составить график для контрольной и экспериментальной групп с помощью ящика с усами. Таким образом, читатели получают чёткое представление об эффекте эксперимента.
При создании графики для представления вашего исследования вы можете построить график контрольной и лечебной группы с помощью прямоугольной диаграммы. Таким образом, читатели получают чёткое представление о последствиях лечения.
2. Причинно-следственная связь и объяснение
Далее следует объяснение, показывающее причинно-следственную связь в размышлениях над вопросом, на который вы пытаетесь ответить. Если вы показали, что в экспериментальной группе получен эффект, а в контрольной группе его нет, вы должны сформулировать гипотезу из доказательств, почему это так.
Возвращаясь к предыдущему примеру, допустим, что испытуемые из экспериментальной группы получили более высокие баллы по тесту, и это показывает, что тёмный шоколад улучшает концентрацию. Важный вопрос: почему это именно так?
Этот вопрос важен потому, что он помогает поднять другие вопросы, которые могут либо опровергнуть, либо подкрепить вашу гипотезу на протяжении всего исследования.
Чтобы показать причинно-следственную связь или механизм, вы можете измерить активность мозга контрольной и экспериментальной групп и построить графики результатов, показав их рядом. С помощью графика тестовых баллов и графика активности мозга вы увидите причину того, почему принимавшие шоколад испытуемые получили более высокие баллы, т. е. ответ на вопрос, как тёмный шоколад улучшает когнитивные функции.
3. Данные со многими переменными (более двух переменных)
Реальный мир сложен, и отношения между двумя событиями обычно нелинейны. Поэтому в исследованиях у вас есть атрибуты или переменные, которые вы можете измерить. Все эти переменные по-разному взаимодействуют друг с другом. Некоторые из них могут быть путающими, в то время как другие могут быть важными атрибутами, объясняющими взаимосвязь событий.
Как вы уже знаете, корреляция не подразумевает причинно-следственной связи. Поэтому не лучшее решение — ограничивать свое исследование только двумя переменными: это приводит к ошибочным выводам. Таким образом, вы должны показать как можно больше данных на своих графиках. Это может помочь вам выявить любую путаницу в ваших данных.
Возьмем парадокс Симпсона, парадокс в вероятностной статистике, когда «при объединении групп исчезает тенденция, возникающая в разных группах данных». Чтобы проиллюстрировать:
4. Не позволяйте инструментам управлять анализом
Хороший рассказчик знает, как удержать внимание людей, рассказывая историю продуктивно. Рассказчик не ограничивается самой историей, но может уникальным образом выразить историю, сочетая различные виды восприятия и включая множество образов, что делает историю живой.
Аналогичным образом хороший визуализатор данных не ограничивается имеющимися под рукой инструментами для работы с визуализацией. Визуализирующий данные человек имеет возможность переключаться от одной формы выражения (например, линий или кругов) к использованию нескольких режимов представления.
Например, вместо того чтобы создавать отчёты, содержащие только текст, используйте инфографику: изображения, диаграммы, слова, числа и т. д., всё это обогатит информацию. Обладая обилием информации и графиков, читатели могут наблюдать множество различных корреляций доказательства в одном месте. Так что помните, что вы рассказываете историю. Не позволяйте инструментам ограничивать ваше мышление. Пусть анализ управляет инструментами, создаёт сногсшибательные, богатые доказательствами графики.
5. Документируйте свои графики соответствующими метками, шкалами и источниками данных
Когда вы впервые смотрите на график, то сначала видите заголовок, а затем метки контекста графика. Без них график не рассказывает ничего. Хорошие отчёты/графики должным образом документируются, при этом каждому графику присваиваются соответствующие шкалы и метки. Источники данных, используемые для создания графиков, также имеют решающее значение. Таким образом, хорошая практика заключается в сохранении кода, который применялся для генерации данных и графиков: это позволяет воспроизводить данные. Это также добавляет достоверности вашим графикам. Более того, сохраняя код, вы можете редактировать график в случае необходимости.
6. Содержание превыше всего
В конечном счёте, независимо от всех вышеперечисленных принципов, без контента, качественного, актуального и целостного, ваша графика будет бесполезна или она будет вводить в заблуждение. Другими словами, «мусор внутри, мусор снаружи». Прежде чем сообщать о каком-либо результате, убедитесь, что результат — это нечто интересное и важное. Независимо от того, насколько красива или наглядна ваша графика, бесполезные результаты никому не нужны. Нечто интересное — это личный опыт или что-то, навеянное Интернетом. В любом случае всегда задавайте вопросы: так идея становится реальностью.
Заключение
Визуализация данных — это невероятный навык. Вы можете взять данные и превратить их в красивую графику и сюжеты, рассказывающие людям историю. В эпоху, когда данные растут в геометрической прогрессии, всё большее значение приобретает умение рассказать историю с помощью данных. Это лучший момент, чтобы научиться новому. И резюме принципов:
Я оставляю цитату американского математика Джона Тьюки, который открыл новую эру статистики:
Простой график привнёс больше информации в сознание аналитика данных, чем любое устройство.
Для более глубокого понимания этих принципов я рекомендую обратиться к книге Роджера Д. Пенга «Exploratory Data Analysis in R» (ссылку на нее я оставлю чуть ниже).
Ресурсы и ссылки
Если вы хотите узнать больше о визуализации данных, посмотрите эти замечательные бесплатные книги: