👋 Привет, меня зовут Никита. Я живу в Калифорнии и разрабатываю продукты c визуализацией данных. Пишу про датавиз и генеративный дизайн. Мои проекты: https://unovis.dev | https://cosmograph.app | https://interacta.io По вопросам писать @nikitarokotyan
Делимся с датавиз-коллегами ссылками на каналы друг друга. По этому поводу, и в продоложение темы использования ИИ для анализа данных и визуализации, я экпортировал историю сообщений каждого канала и в сыром виде дал на анализ ChatGPT.
С учетом того, что времени на экспорт и работу с GPT я потратил не больше 20 минут, получилось весьма не плохо! Чат сам не справился с тем, что бы понять, как для создания облака слов «собрать» текст сообщения из кусочков форматированного текста, но после небольшой подсказки у него получилось. А вот почистить текст он качественно не смог из-за отсутствия доступа к нужным Python пакетам.
Давно слежу за работами всех авторов, попавших в подборку. И без сомнения готов порекомендовать подписаться на каждого из них, тем более что все они раскрывют тему датавиза с разных сторон (спасибо за ее междисциплинерносность).
Эмодзи для каждого из каналов подобрал ChatGPT по их названию:
📐🔢 Designing Numbers (спасибо Наде за заглавную картинку)
🧠💯 Рациональные числа
👧📊 Настенька и графики
📊😹 Data-comics
👀📈 Визуализируй это!
🔎📊 Reveal the Data
📁💾 data.csv
📉🧹 Чартомойка
📅📚 Дата-сторителлинг
🌐👨💻 novichkov.net
🗂 Подборка в виде папки: /channel/addlist/R_JRxzYACI41ZGRi
Резюмируя, скажу, что большие языковые модели сильно изменили мой подход к работе. На мой взгляд, платные функции ChatGPT, OpenAI API и GitHub Copilot стоят как своих денег, так и времени потраченного на их изучение, поскольку позволяют значительно быстрее и качественнее осуществлять любую интеллектуальную работу.
Ждем, когда команда Figma, купившая Diagram (https://diagram.com), качественно внедрит инструменты искусственного интеллекта себе в интерфейс, и можно будет визуализации рисовать там, а код для их интерактивных воплощений будет генерироваться автоматически.
Недавно в одной рассылке мне попалась статья How do we actually "pull stories out of data”?
Мы часто говорим, что анализ раскрывает данные, находит в них паттерны и позволяет превратить их в истории. Но как именно это происходит?
Человек — не робот и не может легко и быстро увидеть скрытые зависимости и последовательности в любом числовом ряде. Погружение в данные — это сложный процесс, соединяющий опыт и интуицию. А доменные и научные знания подсказывают, в какую сторону смотреть и какие вопросы задавать.
Журналистика данных смотрит на данные с точки зрения раскрытия истории: «смотрите, мы нашли такие зависимости и вот какие выводы мы можем из них сделать». С научной же точки зрения это будет не совсем корректный подход, потому что любые данные могут рассказать много разных историй одновременно.
Аналитики не могут интерпретировать данные кроме как в контексте «мы нашли вот такие зависимости в этом наборе данных». При этом никогда нет стопроцентной уверенности, что гипотеза и интерпретация верны. Можно что-то предположить и проверить на 9999 значениях, но не факт, что следующее десятитысячное значение даст такой же результат и не опровергнет начальное предположение.
Автор статьи приводит пример, как именно он работает с данными, чтобы попробовать сформулировать алгоритм. Задача такая: в интернет магазине некоторые товары стали продаваться активнее и надо понять: почему это произошло и временное ли это явление.
1. Первым пунктом стоит проверить, а точно ли продажи увеличились, насколько и как именно. Это даст необходимое доменное знание и общее понимание проблемы, которые скорее всего помогут с ответом на «почему».
2. Дальше можно начать думать о причинах. Но не получится сразу погрузиться в данные и начать искать зависимости. Сначала стоит понять, кто пользователи и как именно они покупают товары. Например, связано ли увеличение продаж с увеличением покупателей или каждый из них купил по несколько единиц товара? Ответы на подобные вопросы вызывают ещё больше вопросов: а откуда пришли пользователи, сколько обычно они покупают, были ли рекламные компании и тд.
Здесь главная опасность — упасть в кроличью нору и закопаться в этих дополнительных загадках. Нужно понять какие из них имеют смысл, потому что многие скорее всего не дадут никакой новой и интересной информации. Помогут доменные знания и опыт. Поэтому если их нет (впрочем и если есть — тоже), очень полезно показывать промежуточные результаты и советоваться с экспертами, которые этими знаниями уже обладают.
3. В какой-то момент приходит понимание, что предварительные исследования пора сворачивать, потому что идеи для них заканчиваются и начинает вырисовываться какая-то картинка. Итогом всего исследования становится общее непротиворечивое описание ситуации, которое отвечает всем критериям изначального вопроса и учитывает всё найденное до этого. Это развёрнутый ответ на вопрос «что именно произошло?».
Стоит, правда, помнить, что это лишь гипотезы и они могут оказаться ложными, если данные были некорректные или нельзя было учесть какой-то неизвестный фактор. А на часть вопросов может не быть ответов вообще.
Ссылка на статью: https://counting.substack.com/p/how-do-we-actually-pull-stories-out
Никита Рокотян как-то давно постил статью про использование радужных палитр в визуализациях (в особенности на картах), которые как раз лучше не ипользовать (плохая контрастность, совсем не различимы при нарушении восприятия цвета и плохо отражают данные).
Вчера прислали ссылку на материалы оттуда и там есть отличные подборки палитр для карт. Примеры и гайд, как выбрать свою.
🪐 В Cosmograph наконец появилась поддержка лейблов! 🥳🎉
Не так давно мы добавили её в Cosmos, нашу библиотеку по визуализации графов с открытым кодом. А с сегодняшнего дня можно просто загрузить CSV через вэб-приложение Cosmograph и там автоматически появятся подписи к узлам.
Помимо этого, мы добавили возможность просмотра таблицы с данными по выделенным узлам и ребрам прямо в приложении, чего тоже очень не хватало для быстрого визуального анализа графа.
Напомню, что Cosmograph является одним из самых быстрых инструментов по визуализации графов на сегодняшней день. При этом он работает прямо в браузере!
https://cosmograph.app
🦆 🗺️ Милое исследование Яндекса об упоминании животных в названиях улиц.
https://yandex.ru/company/researches/2023/animal-streets
(Состав авторов не знаю, но среди них точно есть @designing_numbers)
💻👩🎤 Всем, кто хотел бы научиться создавать свои, ни на что не похожие визуализации, рекомендую курс генеративного дизайна от Генклуба, который будет проходить онлайн с 15 мая по 9 июня.
Пишу об этом не по чьей-то просьбе, а потому, что на самом деле считаю генеративный дизайн крайне увлекательным и полезным занятием. И я сам пришел в визуализацю данных именно благдаря своим экспериментам в криэйтив кодинге много лет назад.
https://course.genclub.club
Но! Для ChatGPT уже есть плагины, один из которых позволяет загружать данные и работать с ними с помощью Python. То есть, можно будет выбрать CSV файл, и попросить ChatGPT его проанализировать и построить графики! Еще пол года назад я с уверенностью рассказывал, что ИИ аналитиков не скоро заменит, и вот готов взять свои слова назад.
Что бы получить доступ к плагинам, нужно записаться в лист ожидания (у меня самого пока доступа нет). А просто узнать поподробнее и посмотреть примеры, можно здесь.
🤖 Как AI может помочь в визуализации данных
Последний месяц я активно тестирую различные AI для задачь датавиза: ChatGPT (с GPT-3.5 и GPT-4), Google Bard и GitHub Copilot. В моей работе сейчас много инжереной составляющей, поэтому речь пойдет в первую очередь о работе с кодом.
1️⃣ Начнем с ChatGPT, как с главного хедлайнера. Он может действительно многое!
Например, можно ему закинуть массив данных в незнакомом формате и попросить с ним что-то сделать: допустим написать код на D3 для визуализации их определенным образом. И скорее всего, он справится! А если что-то будет не так, можно написать об ему этом и попросить исправить.
Также ChatGPT прекрасно справляется с базовым анализом данных. Недавно, мне нужно было понять, можно ли из большого и сложного массива данных расчитать несколько показателей и как. Мне лень было самому разбираться в структуре этих данных, так что я просто закинул его в ChatGPT, спросил, и через несколько секунд получил ответ. Можно попросить данные переформатировать или даже что-то посчитать и вывести результат.
Еще одна задача, которая дается ему легко, это написание документации к коду. Реально можно просто вставить туда ваш код и ChatGPT сгенерирует достойную документацию.
Чуть сложнее дела обстоят с написанием алгоритмов, направленных на решение каких-то конкретных задач, но и это возможно. GPT-4 справляется такими задачами значительно лучше GPT-3.5. На днях я писал новые функции для работы с текстом в SVG (дела с этим там обстоят очень плохо), и GPT-4 сгенерировл код, которым я в итоге пользуюсь за небольшими изменениями. Если хотите больше конкретики, вот, например, я попросил его добавить опцию жесткого переноса слов, когда они не влазят в заданную ширину.
Идем дальше: код-ревью. Можно попросить ChatGPT оценить свеженаписанный код. Не все комментарии оказываются релеватнты (часто потому, что у него отсутствует более широкий контекст), но в среднем один-два комментариев из пяти стоят того, что бы над них подумать.
Знаю, что многие еще использует ChatGPT для написания тестов. Я лично не пробовал, потому что тесты для визуализаций пишу редко.
(продолжение следует)
P.S. Если вам тоже есть чем поделиться, добро пожаловать в комментарии
🗂 Каналы по папкам
В телеграмме появилась новая фича — можно делиться папкой (нужно обновить приложение, чтобы воспользоваться).
У нас есть сообщество авторов про управление продуктами, и мы решили с ребятами собрать всё это в единую папку и рассказать про неё вам. Если вам интересна эта тема, то рекомендую!
А ещё собрал в отдельную папку самые активные каналы про визуализацию и BI, которые читаю сам. Это уже если будет интересно скопом подписаться на что-то по теме канала.
Ну и ещё напомню, что у меня есть гигантский список каналов и чатов про BI и аналитику в блоге, это если захотите выбрать что-то конкретное.
П.С. После добавления папка становится вашей, вы можете отписаться от каких-то каналов или добавить свои любимые. Делитесь своими подборками в комментариях.
#дайджест
🪐 Мы на днях выложили новую версию Cosmos, нашей библиотеки для визуализации больших графов. Главное нововведение: к узлам теперь можно добавлять подписи, а также события на действия мыши! Подробнее об этих и других изменениях читайте на GitHub: https://github.com/cosmograph-org/cosmos/releases/tag/1.3.0
А если хотите просто посмотреть, то вот демо граф театральных постановок в Лондоне с 1660 по 1880 годы. Розовоые узлы — театры, фиолетовые - постановки. Связи показывают, в каких театрах шли какие из постановок: https://hkfplk.csb.app (на iOS не запустится из-за ограничений системы)
Проекты из Data Art & Storytelling мне искренне понравились, советую посмотреть!
Читать полностью…🌍 Divided World
Для конкурса WDVP сделал работу по сравнению стран мира. Мне хотелось «разделить» мир на «черное и белое» не с помощью чьих-то убеждений, но с помощью данных. В конкурсе решил поучаствовать, так как давно была идея именно так показать эти данные.
Для меня это был интересный опыт — не совсем профильный для меня жанр с элементами сторителлинга, плюс пришлось вспомнить как кодить используя d3.js. В итоге получилась интересная, сложная работа. Посмотрим, что скажет жюри, обещают результаты 10-ого февраля.
Спасибо большое всем, кто помогал идеями, было очень полезно! Круто иметь друзей-проффесионалов, у кого можно спросить совета.
#пример
Новая «Исповедь аналитика» — уже через час!
В 21:00 по Москве начинаем разговор в прямом эфире с крутым специалистом по визуализации данных Никитой Рокотяном.
Никита — не только обладатель World Data Visualization Prize-2019. Ещё он создатель веб-библиотеки визуализации данных Unovis и соавтор Cosmograph — самого быстрого браузерного инструмента визуализации графов. Человек, которому точно есть что нам рассказать.
Занимайте места в зрительном зале и подключайтесь! https://youtu.be/q6s6xrDdLUU
🥳 🎉 Представляю Unovis — новую библиотеку визуализации данных для React, Angular, Svelte, а также «голого» TypeScript и JavaScript.
У меня второй большой (после Космографа) open source анонс в этом году, который будет интересен в первую очередь веб-разработчикам. Сегодня мы выложили в открытый доступ дитавиз библиотеку, над которой я работаю уже на протяжении последних трех лет (разработка началась в стартапе Volterra, и продолжилать в купившей его компании F5).
Немного об отличительных особенностях Unovis:
• 🏗 Удобно интегрируется в React, Angular и Svelte, что дает возможность использовать одну библиотеку в совсем разных проектах;
• 🗺 Помимо классических графиков умеет рисовать детальные карты и графы;
• 💇 Легко кастомизируется под ваш стиль (спасибо CSS переменным);
• 📖 Детальная документация и галерея примеров с кодом для разных фреймворков.
Если заинтерисовались, добро пожаловать на сайт библиотеки unovis.dev, и не забудьте лайкнуть наш репозиторий на GitHub!
🤯 В ChatGPT завезли фунционал, который может запускать код, и, как следствие, анализировать и визуаилизировать данные.
Я решил на пробу скормить ему данные с Екатеринбуржской метеостации за последние 140 лет, которые хранятся не в самом легкочитаемом формате. И затем спросить, что можно понять по этим данным, а также попросить построить графики. И тут началось самое интересное!
ChatGPT долго не мог понять формат данных, но продолжал самостоятельно пробовать разные подходы, что бы их прочитать, а я просто сидел и несколько минут наблюдал за его потугами. И вдруг с 18 попытки у него получилось! Он нарисовал графики среднемесячных значений температуры и количества осадков за поледние 10 лет.
Вишенкой на торте стало то, что когда следующим шагом я попросил его нарисовать климатические полоски (climate stripes) за последние 100 лет, ChatGPT уже зная, как читать такие данные, справился очень быстро, да еще и рассказал об истории этого графика и как его читать! Можно сравнить с аналогичными графиками, которые я делал пару лет назад: /channel/dataviznews/378
На видео к посту привожу весь процесс. Впечатляюще!
🤖 Как AI может помочь в визуализации данных: Часть 2
Написание второй части поста про использование искуcственного интеллекта (а именно, больших языковых моделей) в задачах визуализации данных затянулась (первая - тут), зато за прошедшие два месяца у меня выкристаллизовалось понимание того, какими функциями я действительно пользуюсь теперь каждый день. В этот раз акцент будет больше на написание кода.
1️⃣ В прошлый раз я писал про ChatGPT, и могу еще раз подтвердить, что это отличный источник знаний и универсальный помошник. Каждый раз, когда я не знаю, как что-то сделать, то спрашиваю у него, а не у поисковика. Он отлично пишет код и неплохо манипулирует данными. Так что если вы хотите делать уникальные визуализации, но не умеете программировать, ChatGPT может вам помочь.
Отдельно хочу упомянуть, что у OpenAI есть API, который позволяет автоматизировать использование моделей ChatGPT, и строить на их основе собственные инструменты. Расскажу для чего я его использую в следующий раз.
2️⃣ Github Copilot (https://copilot.github.com). За три месяца использования Сopilot я все больше готов его рекомендовать. Сервис, по сути, интегрируется в редактор кода и предлагает вам автоподсказки в процессе программирования. Сперва они казались мне не особо ценными, но Copilot учится на вашем коде, и со временем начинает неплохо угадывать, что вам нужно. Многие куски кода, которые он мне предлагает, я использую не глядя и почти всегда они работают.
Из неочевидных возможностей, Copilot хорошо оставляет комментарии к коду и помогает писать документацию (что является одной из сложнейших и скучнейших задач на мой взгляд), и это мне очень нравится.
3️⃣ Google Bard (https://bard.google.com). После анонса Барда я активно пользовался им какое-то время, но перестал, потому что по ощущениям его ответы уступают тому, что выдает ChatGPT. Если у вас другой опыт, поделитесь, пожалуйста.
От себя добавлю, что активно пользуюсь этими палитрами в своих проектах и очень ими доволен.
А еще у автора (Фабио Крамери) на сайте есть секция, посвященная научному обоснованию того, почему его палитры лучше классических.
https://www.fabiocrameri.ch/visualisation/
Если вам когда-то нужно будет проанализировать большое количество изображений, вспомните о Collection Space Navigator.
Это эксперминтальный инструмент, который позволяет расположить изображения в трехмерном пространстве по похожести (с использованием алготитмов t-SNE, UMAP, PCA), и после анализировать получившуюся картину через фильтрацию, кластеризацию, и гистограммы, построенные по различным характеристикам этих изображений.
https://collection-space-navigator.github.io
Интересная попытка визуально объяснить, как устроены нейронные сети.
Не скажу, что получилось очень доступно. Но если у вас техническое образование и вы давно хотели разобраться в фундаментальных приципах работы нейронок, посмотрите.
https://mlu-explain.github.io/neural-networks/
На сайте Интернет-архива ещё в начале 2022 года появилась коллекция David Rumsey Map Collection из более чем 100 тысяч исторических карт [1] созданная изначально Дэвидом Рамси и поддерживаемая и поныне библиотекой Стенфорда на сайте davidrumsey.com [2] где собрано более 200 тысяч карт в общей сложности.
Красивых карт там много, есть на что посмотреть. Желающие могут скачать хоть всю коллекцию целиком, это всего лишь 1.4ТБ файлов.
Что можно с ними делать? Например, создавать цифровые культурные проекты и пополнять архивы.
Например, по России там почти 7 тысяч карт [3] что сопоставимо с почти 10 тысячами карт на геопортале РГО [4]. Но и, в принципе, есть карты практически всех стран, есть что поискать.
Ссылки:
[1] https://archive.org/details/david-rumsey-map-collection
[2] https://davidrumsey.com/
[3] https://archive.org/details/david-rumsey-map-collection&sort=-reviewdate?query=Russia
[4] https://geoportal.rgo.ru/
#digitalpreservation #archives #geospatial #maps
Коллеги из соседних датавиз каналов делятся новостью, что Мона Чалаби получила Пулитцерскую премию за свои иллюстрации в The New York Times, визуализирующие состояние Джеффа Безоса (основателя Amazon).
Я немного удивлен таким присуждением, потому что не считаю эту работу хорошей. В основном, по двум причинам:
1. Основная доля богатства Безоса состоит в его владении акциями Amazon. Но капитализация компании не равняется реальным деньгам. Например, сегодня Amazon стоит на 40% дешевле, чем год назад (а еще в декабре падение достигало 55%). К тому же при продаже акций, возникает налогооблагаемый доход, так что итоговая сумма будет меньше. А еще, если попытаться акции большим объемом продать, то скорее всего по актуальной цене их никто и не купит. Поэтому такие сравнения мне кажутся не корректными.
2. Иллюстрации явно пропитаны идеологией, что Безосу неплохо было бы поделиться своим богатством. Пока он отдал на благотворительность «лишь 1.2%» (что составляет 2.1 млрд долларов, между прочим), а вот если бы отдал еще 11%, то на эти деньги можно было бы целый месяц кормить 14 млн малообеспеченных американцев (не так уж и много на мой взгляд). Я не разделяю этих взглядов, мне не кажется, что просто отбирая у богатых и раздавая бедным можно действительно решить социальные проблемы.
А вам как? Давайте оценим 👍🏻 или 👎🏻
В комментариях спрашивают, как закидивать данные в ChatGPT. Пока что, можно их просто вставлять в текстовом формате, будь то CSV или JSON.
К сожалению, у моделей есть ограничение на размер запроса. И если у вас много данных, то все их вставить, возможно, не получится. Однако у новых моделей это ограничение не такое сильное, так что надеюсь, это лишь дело времени.
Тоже хотел поделиться датавиз каналами, на которые сам подписан. Рома меня опередил, но мы не во всем пересекаемся, так что держите.
Читать полностью…Вот, кстати, тот же граф в статике. Он был опубликован во втором номере печатного издания Nightingale в конце прошлого года, но я увлекся работой и ничего об этом не написал.
Читать полностью…Объявлены победители конкурса World Data Visualization Prize, в котором в этом году участвовали @revealthedata и @analyst_club из нашего датавиз телеграм коммьюнити!
Главный приз на этот раз получила Линдси Поултер (Lindsey Poulter) за свой интерактивный проект по сравнению социально-экономических показателей между различными странами и регионами, и в зависимости от уровня дохода. Рома Бунин @revealthedata получил похвальный отзыв (honorable mention) от жюри, с чем мы его тоже поздравляем!
https://informationisbeautiful.net/2023/the-winners-of-the-world-dataviz-prize-2023/
P.S. Ни и если вдруг вы еще не видели наш проект, который выиграл главный приз в 2019 году — посмотрите и почитайте о его создании!
Все еще не верится, но мы сделали это!
Первая в мире премия Make your Data Speak на лучший дашборд, а также сторителлинг-проект (тут не первая). 500 участников и 40 жюри с каждого континента.
Победители в каждой номинации получили деньги: 1е место – 1000$, 2е – 500$, 3е – 200$.
Призы за Data Art & Storytelling вручал Никита Рокотян – победитель World Data Visualization Prize 2019
🥇 Золото забрала Martina Dossi с рассказом о работе благотворительной организации Bridges to Prosperity.
🥈 Второе место заняла Nicole Klassen с визуализацией источников энергии по данным Программы развития ООН.
🥉 Третье — Silvia Romanelli с предсказанием о повышении уровня моря к 2090 году.
А приз зрительских симпатий достался Martina Zunika за инфографику о миграции tech-skills
Номинацию Business Dashboards вручал Pradeep Kumar, призер Information is Beautiful 2022. Вот как распределились места:
🥇 Felipe Martins и его работа в Power BI со статистикой футбольных чемпионатов с 1930 года.
🥈 Sofia Semenova с HR-дашбордом в Tableau.
🥉 Natalia Veselova тоже с дашбордом по HR-аналитике, но в Power BI.
Была еще студенческая номинация, в которой победила девушка из Африки Sandra Asage. Как на Оскаре, она чуть не расплакалась, да и я тоже.
Да, наш охват в основном был среди PowerBI аналитиков, но судейство было полностью прозрачным. Призы получили проекты и в Tableau, и от россиян. А дата-арт проекты действительно впечатляют.
Нашей целью было сделать сообщество без входных барьеров по платформам, странам, опыту или финансам. И нам это удалось!
Спасибо огромное всей команде за полгода работы над проектом.
Канал Клуб анонимных аналитиков позвал поучаствовать в эфире в пятницу 27 января в 19:00 CET / 21:00 Мск. Будем разговаривать о карьере в области визуализации данных, участии в конкурсах, и моем личном опыте. Не скажу, что считаю себя аналитиком данных, скорее создателем инструментов для аналитики, об этом мы тоже подробно поговорим.
Если хотите задать вопрос, пишите в комментариях и постараюсь на него ответить.
Ссылка на Youtube канал, где будет эфир и запись после: instituteBI">instituteBI" rel="nofollow">https://www.youtube.com/@instituteBI
Очаровательные цветовые диаграммы 1902 года американской художницы Emily Noyes Vanderpoel, в которых она анализирует цвета самых разных объектов: от бабочки или египетского саркофага до кельтских орнаментов, греческих ваз и даже чашечки с блюдцем и вазы в розочках. Описания принципа, по которому размещены цветные квадраты, не нашла, но, насколько я понимаю, основная цель была количественно представить цветовую палитру каждого объекта.
Еще примеры можно посмотреть тут. А переиздание книги художницы, откуда собственно эти диаграммы, можно даже и купить