morthan2006: (Default)
morthan2006 ([personal profile] morthan2006) wrote2015-06-09 07:25 am

Н. Яу, «Искусство визуализации в бизнесе. Как представить сложную информацию простыми образами»

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

Введение

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

Статистика — это рассказывание историй посредством данных.

1. Как рассказать историю с помощью данных

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

Пример диаграммы в New York Times. Данные представлены кратко, ярко и красиво. Основные моменты отмечены комментариями. Символы и цвета объясняются в легенде и примечаниях.

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

Не только данные делают рассказ интересным. Важно то, как вы о них рассказываете и как их подаёте. От этого зависит, запомнят ли их люди.

Подходите к визуализации так, как будто вы собираетесь рассказать историю. Что именно вы хотите сделать:

  • репортаж?
  • рассказ о жизни?
  • убедить людей в необходимости каких-то действий?

Всегда следует искать две вещи: паттерны и зависимости.

Паттерны

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

  • На сколько пунктов он меняется за сутки?
  • За неделю?
  • За месяц?
  • Были ли пики? Почему? Какие события с этим связаны?

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

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

Паттерны могут присутствовать не обязательно во временном измерении:

Когда
происходит повышение коммунальных тарифов?
О чём
чаще всего говорит президент?
Где
безработица выше среднего?

...и так далее.

Зависимости

Диаграммы и графики для визуального сравнения и сопоставления величин и распределений.

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

Сомнительные данные

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

Дизайн


Объясните кодировки

Всегда разъясняйте условные обозначения в визуализации. Что означают цвета? Каков масштаб?

Дайте осям названия

Всегда указывайте названия и шкалу (линейная, логарифмическая и т.д.).

Держите геометрию под контролем

Сумма углов секторной диаграммы — 360°. Сумма процентов — 100%.

В столбцовой диаграмме используется только высота. В пузырьковой — площадь кругов, а не радиус/диаметр.

Укажите источники

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

Учитывайте аудиторию

Каждая аудитория воспринимает графику по-разному. Исходя из этого нужно выбирать тип графики.

Резюме

  1. Начните с вопроса
  2. Осмотрите данные критическим взглядом
  3. Определитесь с целью визуализации
  4. Узнайте, для кого это предназначено

2. Как обращаться с данными

Сбор данных


Данные от других людей

Всегда проверяйте на неточности и опечатки. Изучите контекст: когда были собраны эти данные? кем? каким образом?

Самостоятельный поиск данных

Google — рулит! Там можно много чего найти, в том числе и данные.

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

Многие институты публикуют большие наборы данных по разным вопросам.

Извлечение данных

Если данные найти удалось, но они разбросаны по куче разных источников, надо сводить их вместе, по возможности автоматизируя этот процесс. Очень хорошо для анализа web-страниц подходит Python с библиотекой Beautiful Soup.

Форматирование данных

Есть много разных форматов данных, разработанных для удобной машинной обработки:

  • текст с разделителями (CSV/DSV);
  • объектная нотация JavaScript (JSON);
  • XML.

Для форматирования есть много интересных (иногда бесплатных) инструментов:

  • Google Refine (гуглить, раньше лежал на Google Code);
  • Mr. Data Converter;
  • Mr. People;
  • программы табличных вычислений.

Ещё можно писать скрипты-конверторы на том же Python.

Резюме

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

3. Выбор инструментов для визуализации данных

Табличные процессоры (Excel, Calc, Google Docs).
Все знают, никому не интересно.
Many Eyes
Web-приложение, разработанное в IBM. Реализует много функций визуализации, как обычных, так и экспериментальных. Недостаток: все данные, загружаемые к ним на сайт, публикуются открыто.
Tableau Software
Только под Windows, платная, умеет то же, что и Excel.
Your.Flowingdata
Web-приложение для сбора персональных данных.

Идеальных приложений не существует. Пробуйте разные, комбинируйте результаты.

Программирование

Python
Удобный, гибкий и понятный язык. Много готовых библиотек (например, NumPy и SciPy).
PHP
Очень распространён. Иногда попадаются хорошие библиотеки (например, Sparkline Graphing Library).
Processing
Язык программирования с открытыми исходниками. Предназначен специально для визуализаторов данных.
Flash и ActionScript
Дорогая и популярная поделка. Обычно, работает в большинстве браузеров из коробки. Основной плюс: интерактивность. Основные минусы: дорого и сложно.
HTML, JavaScript и CSS
Бесплатно, интерактивно, работает в браузерах ещё лучше, чем Flash. Есть куча библиотек на все случаи жизни. Но надо учиться работать.
R
Свободная программная среда для статистических вычислений с открытым исходным кодом и очень хорошим графическим функционалом. Существует много R-пакетов на все случаи жизни. Достоинства: умеет практически всё, что нужно. Недостатки: ШГ не очень красиво выглядит, требует постобработки.

Иллюстрирование

Adobe Illustrator
Всем известный платный векторный редактор. Если есть деньги — берите.
Inkscape
Всем известный бесплатный векторный редактор. Если нет денег — ничуть не хуже иллюстратора.

Маппинг

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

Карты Google, Yahoo и Microsoft
Собственно, сабж. Открываете в окне, делаете скриншот — и вперёд, к новым свершениям.
ArcGIS
Настольная программа для создания карт. Крутая и навороченная. Стоит денег.
Modest Maps
Flash- и ActionScript-библиотека для карт на основе тайлов, также совместима с Python. BSD-лицензия.
Polymaps
То же, что и предыдущее, только на HTML5.
R
Вообще-то, он не предназначен для маппинга. Но добрые люди, как обычно, накатали для этого пакет. И даже не один. Но все — тупые и примитивные.

Резюме

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

4. Визуализация паттернов во времени

Что искать во времени?

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

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

Дискретные моменты времени


Столбцы

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

После создания базового варианта диаграммы следует рассмотреть её с позиций сторителлинга. Какие сведения почерпнёт из неё неосведомлённый зритель? Что из того, что мы хотели сказать ему, останется непонятым? Творчески доработайте диаграмму: раскраска, сноски, дополнительные отметки и т.д.

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

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

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

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

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

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

Сетка по одной из осей (или даже по двум) позволяет проще ориентироваться в точках и сравнивать их друг с другом.

Непрерывные данные

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

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

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

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

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

Резюме

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


Post a comment in response:

This account has disabled anonymous posting.
If you don't have an account you can create one now.
HTML doesn't work in the subject.
More info about formatting