Пособие по журналистике данных 1.0
Loading

Как использовать визуализацию данных для поиска взаимосвязей

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

— Уильям С. Кливленд: визуализация данных

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

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

Выявление взаимосвязей с помощью визуализации

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

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

Чтобы более эффективно находить взаимосвязи в данных, очень помогают описанные ниже шаги:

Рис 68. Data insights: a visualization (Gregor Aisch)

Как визуализировать данные

Визуализация позволяет в совершенно новом свете увидеть данные. Наглядное представление может быть самым разным.

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

Рис 69. Tips from Tufte: Sparklines (Gregor Aisch)

В целом, графики позволяют изображать величины, придавая им визуальные характеристики геометрических фигур. Очень многое было написано об эффективности индивидуальных визуальных характеристик, но если суммировать коротко: с цветами работать сложно, ключевым является расположение. На диаграмме рассеяния, например, два измерения передаются координатами на осях x и y. Вы даже можете изобразить третье измерение – цветом или размером изображенных символов. Линейные графики особенно подходят для изображения изменений во времени, а гистограммы отлично подходят для сравнения категорийных данных. Можно накладывать элементы друг на друга. Если хотите сравнить небольшие группы данных, можно изобразить различные варианты одного графика (их также называют сетчатыми диаграммами). Во всех графиках можно использовать различные шкалы (линейную или логарифмическую, например), чтобы изучить данные с разных сторон.

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

Рис 70. Cloropeth (Gregor Aisch)

Что касается связей, четвертый по важности тип визуализации – это график. Графики показывают взаимосвязи (линии) между элементами данных (узлами). Расположение узлов высчитывается более-менее сложными алгоритмами разметки графиков, которые позволяют сразу же увидеть структуру внутри сети. Главное в визуализации с помощью графиков – найти верный способ моделирования самой сети. Не все массивы данных уже имеют встроенные связи, и даже в тех массивах, где они есть, это не самые интересные характеристики. Иногда журналисту приходится самому находить линии между узлами. Отличный пример — Социальный граф Сената США, где линии соединяют сенаторов, проголосовавших одинаково в 65% случаев.

Анализируйте и интерпретируйте то, что видите

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

  • Что я вижу на рисунке? То ли это, что я ожидал увидеть?

  • Просматриваются ли какие-то интересные закономерности?

  • Что это означает в контексте имеющихся данных?

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

Фиксируйте свои наблюдения и действия

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

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

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

  • Для чего создана диаграмма?

  • Как я обработал данные, чтобы получить ее?

  • Какую информацию сообщает диаграмма?

Преобразуйте данные

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

Возможные преобразования:

Увеличение

Чтобы рассмотреть какую-либо деталь на изображении

Группировка Чтобы соединить элементы в одну группу

Фильтрование

Чтобы (временно) удалить те элементы, которые не представляют интереса

Удаление резко отличных значений

Чтобы убрать отдельные точки, которые не отражают 99% массива данных.

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

Какие инструменты использовать

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

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

  • Электронные таблицы: LibreOffice, Excel или Google Docs

  • Фреймворки для статистического программирования: R (r-project.org) или Pandas (pandas.pydata.org)

  • Геоинформационные системы (GIS): Quantum GIS, ArcGIS, GRASS

  • Библиотеки для визуализации: d3.js (mbostock.github.com/d3), Prefuse (prefuse.org), Flare (flare.prefuse.org)

  • Инструменты обработки данных: Google Refine, Datawrangler

  • Программы для визуализации без программирования: ManyEyes, Tableau Public (tableausoftware.com/products/public)

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

Пример: Взносы кандидатов в президенты США

Возьмем для примера базу данных финансирования президентских выборов в США, которая содержит около 450 000 взносов для кандидатов в президенты. Файл CSV весит 60 Мб, поэтому он слишком большой для таких программ, как Excel.

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

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

Кандидат Сумма ($)

Обама, Барак

72,453,620.39

Ромни, Митт

50,372,334.87

Перри, Рик

18,529,490.47

Пол, Рон

11,844,361.96

Кейн, Герман

7,010,445.99

Гингрич, Ньют

6,311,193.03

Поуленти, Тимоти

4,202,769.03

Хантсмен, Джон

2,955,726.98

Бакманн, Мишель

2,607,916.06

Санторум, Рик

1,413,552.45

Джонсон, Гари Ирл

413,276.89

Рёмер, Чарльз Э. Бадди III

291,218.80

Маккоттер, Тадеус Дж.

37,030.00

Хотя в таблицу указаны суммы в порядке убывания, нам это мало говорит о закономерностях в ранжировании кандидатов. Рис 71 демонстрирует иное представление данных – в виде графика или точечной диаграммы, на которой видны те же данные, что и в таблице, плюс закономерности внутри области. Например, точечная диаграмма позволяет быстро сравнить разрыв между Обамой и Ромни или между Ромни и Перри, не вычисляя разницу. (Примечание: точечная диаграмма была составлена в R. Ссылки на исходный код вы найдете в конце главы).

Рис 71. visualizations to spot underlying patterns (Gregor Aisch)

Теперь перейдем к более обширной картине массива данных. На первом этапе с помощью простого скрипта я визуализировал все взносы за период времени. Как видно, взносы почти всех кандидатов ничтожно малы по сравнению с тремя наиболее крупными значениями. Дальнейший анализ показывает, что эти огромные взносы пришли из «Фонда победы Обамы 2012» (по-другому «Супер ПАК»), а именно 29 июня ($450 тыс.), 29 сентября ($1,5 млн.) и 30 декабря ($1,9 млн.).

Рис 72. Three clear outliers (Gregor Aisch)

В то время как сами взносы от «Супер ПАК» уже без сомнения дают отличный повод для написания статьи, можно взглянуть шире. Дело в том, что эти крупные взносы отвлекают наше внимание от маленьких взносов, сделанных частными лицами. Поэтому уберем их из поля зрения. Такое преобразование обычно называют исключением резко отклоняющихся значений. Вновь изобразив данные на графике, мы видим, что большинство взносов составляли от $10 тыс. до -$5 тыс.

Рис 73. Removing the outliers (Gregor Aisch)

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

  • 10 мая Стивен Джеймс Дэвис из Сан-Франциско, юрисконсульт Banneker Partners, перечислил Обаме $25 800.

  • 25 мая Синтия Мёрфи из Литл-Рок, специалист по связям с общественностью в Murphy Group, перечислила Обаме $33 300.

  • 15 июня $30 800 было возвращено Синтии Мёрфи, в результате чего ее фактический взнос составил $2 500.

  • 8 июля $25 800 было возвращено Стивену Джеймсу Дэвису, в результате чего его фактический взнос составил $0.

Что любопытного в этих цифрах? Деньги, возвращенные Синтии Мёрфи ($30 800), эквивалентны максимальному годовому взносу, который может внести частное лицо в пользу комитетов национальной партии. Возможно, она хотела объединить два взноса в одну транзакцию, но ей было отказано. Деньги, возвращенные Стивену Джеймсу Дэвису ($25 800) теоретически равны разнице между $30 800 и $5 000 (максимально возможный взнос в любой другой политический комитет).

Еще один любопытный вывод из последнего графика – это горизонтальная линия, показывающая взносы республиканским кандидатам: от $5 000 до $2 500. Для большей наглядности я изобразил только взносы кандидатам-республиканцам. Получившийся график – это отличный пример выявления закономерностей, которые иначе не удалось бы обнаружить.

Рис 74. Removing outliers 2 (Gregor Aisch)

Мы видим, что многие кандидаты-республиканцы получили взносы по $5 000. При более близком рассмотрении видно, что таких взносов 1234, т.е. только 0,3% от общего числа взносов. Но так как взносы равномерно распределены во времени, просматривается линия. Интересно то, что частные взносы ограничены суммой в $2 500. Следовательно, каждый доллар сверх лимита был возвращен спонсору, в результате чего возникла вторая линия на уровне -$2 500. Такая закономерность не прослеживается, если проанализировать взносы в пользу Барака Обамы.

Рис 75. Removing outliers 3 (Gregor Aisch)

Таким образом, было бы интересно выяснить, почему тысячи спонсоров кандидатов-республиканцев не знали об ограничении, существующем для частных взносов. Для дальнейшего анализа рассмотрим общее количество взносов в размере $5 000 на каждого кандидата.

Рис 76. Donations per candidate (Gregor Aisch)

Конечно, это не совсем точная картина, так как не учитывается общее количество взносов каждому кандидату. Следующий график показывают долю взносов в сумме $5 000 на каждого кандидата.

Рис 77. Where does the senator’s money come from?: donations per candidate (Gregor Aisch)

Какой можно сделать вывод

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

Исходный код

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

Грегор Эйш Open Knowledge Foundation