Для чего создана диаграмма?
Как я обработал данные, чтобы получить ее?
Какую информацию сообщает диаграмма?
Преобразуйте данные
Естественно, выявив из уже имеющихся визуализаций взаимосвязи, вы будете примерно представлять, что хотите получить дальше. Возможно, вы найдете какую–то интересную закономерность в массиве данных, которую захотите исследовать подробно.
Возможные преобразования:
Увеличение
Чтобы рассмотреть какую–либо деталь на изображении
Группировка Чтобы соединить элементы в одну группу
Фильтрование
Чтобы (временно) удалить те элементы, которые не представляют интереса
Удаление резко отличных значений
Чтобы убрать отдельные точки, которые не отражают 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. Для большей наглядности я изобразил только взносы кандидатам–республиканцам. Получившийся график – это отличный пример выявления закономерностей, которые иначе не удалось бы обнаружить.