Сервисы блокнотов
Программные инструменты, которые называют блокнотами (notebooks, рис. 7.1), могут быть очень гибкими и мощными в умелых руках. Они получили популярность благодаря широкому
Рис. 7.1. Блокнот Jupyter
использованию языков программирования R и особенно Python для анализа данных. Блокнот запускается как веб-сервис на сервере или вашем компьютере. Он состоит из ячеек текста с программным кодом, ячейки можно запускать произвольно, весь вывод данных (графики, статистики, сообщения об ошибках) появляется под ячейкой. В ячейках можно писать тексты, делать свои заголовки. В общем, можно делать полноценные научные отчеты. Есть два наиболее известных публичных сервиса-блокнота Google Colab и Kaggle Notebook, где вы можете попробовать этот инструмент совершенно бесплатно. В них также доступны мощные GPU-видеокарты, что позволяет делать задачи с использованием глубоких нейронных сетей (deep learning). Лично мне понравился сервис Google Colab своей простотой и мощностью, когда я проводил эксперимент по созданию deep-fake-видео.
Плюсы:
Гибкость. Доступны программные библиотеки на любой вкус.
Блокнот очень легко запустить в облаке и не тратить ресурсы личного компьютера.
Легко делиться и публиковать результаты.
Поддержка разных языков программирования. Я в Retail Rocket использовал блокноты в Jupyter notebook на языке Scala.
Можно взаимодействовать с любыми источниками данных, для которых есть драйверы.
Чтобы повторить результат, блокнот достаточно перезапустить и выполнить все ячейки. Не со всеми инструментами это легко сделать. Например, в электронных таблицах могут поехать формулы. Здесь такого эффекта не будет.
Минусы:
Не считаю удачной идеей использование блокнотов как компонента рабочей системы, хотя много слышу о таких прецедентах (так делает даже Netflix [49]). Они созданы для исследовательской работы, а не построения рабочих процессов.
Порог входа выше, чем в электронных таблицах. Как минимум нужны знания базовых основ программирования на выбранном языке.
Инструменты визуального анализа
Я их также называю сервисом персональных дашбордов. Этот подход отличается от предыдущих тем, что вам практически не нужно программировать, вы можете работать через «тонкий клиент» (веб-браузер) и публиковать полученные дашборды на порталах. Самый простой из них Google Data Studio позволяет работать преимущественно с источниками данных в облаках Google, включая Google Sheets. Это больше чем просто средства визуализации. Power BI и Tableau (рис. 7.2) пошли дальше они реализовали средства ETL (Extract Transformation Layer), когда данные скачиваются из источников на машину пользователя или в облако. Power BI это делает с помощью языка программирования Power Query, Tableau через визуальный интерфейс (блоки и стрелки, их соединяющие).
Рис. 7.2. Tableau
Плюсы:
Порог входа ниже, чем у блокнотов (notebooks).
Визуализация гораздо лучше, чем у альтернативных инструментов (особенно у Tableau).
Мощные средства интерактивного анализа например, коррелированный анализ.
Есть «толстые клиенты» (приложения), но не у всех вендоров.
Можно собрать несложную BI-систему.
Минусы:
У бесплатных версий привязка к облаку вендора. Например, Google Dashboard привязан к облаку Google.
Неполный набор коннекторов. Например, у Google Dashboard нет коннектора к Clickhouse. Но сама такая идея под большим вопросом из-за безопасности. Клиент Google работает из облака, а значит, придется открывать доступ к вашим внутренним БД из интернета, а это не самая лучшая идея.
Пакеты статистического анализа данных
Мое знакомство с анализом данных началось именно с этих инструментов, когда меня взяли на стажировку в компанию StatSoft. Электронные таблицы и системы визуального анализа очень слабы в статистическом анализе, а именно это является необходимым атрибутом анализа данных. Допустим, вы наблюдаете разницу в показателях как определить, она действительно существует или случайна? Для этого нужно рассчитать ее статистическую значимость.
Пакеты стат-анализа данных обычно представляют собой десктопные приложения (рис. 7.3), в которых вычисления происходят локально. Данные загружаются в виде электронных таблиц. Как правило, есть несложный визуальный ETL, как в Tableau. Есть встроенный язык программирования для автоматизации действий.
Пакеты статистического анализа данных
Мое знакомство с анализом данных началось именно с этих инструментов, когда меня взяли на стажировку в компанию StatSoft. Электронные таблицы и системы визуального анализа очень слабы в статистическом анализе, а именно это является необходимым атрибутом анализа данных. Допустим, вы наблюдаете разницу в показателях как определить, она действительно существует или случайна? Для этого нужно рассчитать ее статистическую значимость.
Пакеты стат-анализа данных обычно представляют собой десктопные приложения (рис. 7.3), в которых вычисления происходят локально. Данные загружаются в виде электронных таблиц. Как правило, есть несложный визуальный ETL, как в Tableau. Есть встроенный язык программирования для автоматизации действий.
Плюсы:
Очень богатые возможности для статистического анализа. Справка этих пакетов успешно конкурирует с учебниками по прикладному анализу данных. Сами статистические функции тщательно протестированы, в отличие от общедоступных статистических калькуляторов в интернете.
Хорошие графические возможности.
Внимание к деталям, что важно для научных исследований.
С данными можно работать офлайн.
Минусы:
Высокий порог входа. Вы должны понимать, что делать, какой именно статистический критерий использовать. Обязательно требуются базовые знания математической статистики.
Коммерческие продукты стоят дорого.
Рис. 7.3. STATISTICA
Работа с данными в облаках
В эпоху развития удаленной работы все больше инструментов уходит в облака. Я связываю это с тем, что бизнесы, а значит источники данных, стали располагаться на облачных серверах. Перекачивать большие объемы данных по интернету то еще удовольствие. Согласно Гартнеру [46], к 2022 году публичные облачные сервисы закроют 90 % потребностей в анализе данных.
Уже практически все вендоры облаков разработали инструменты визуального анализа: Google Data Studio, Microsoft Power BI, Amazon Quick Sight, Yandex DataLens.
Плюсы:
Данные и средства анализа находятся внутри одного периметра безопасности. Легко управлять доступом к данным. Не нужно явно подвергать себя риску и открывать доступ к данным через интернет.
Данные доступны внутри сети одного облака скорость работы выше.
Нативная возможность совместной работы. Думаю, вы работали с сервисами наподобие Google Docs. Насколько удобнее получается совместная работа, чем работа со стандартным офисным пакетом.
Тонкий клиент все действия делаются в браузере. Не нужно ставить программы на ваш компьютер.
Гибкое ценообразование цена зависит от частоты использования и нагрузок.
Расходы на администрирование системы меньше.
Минусы:
Цена. Даже если облако предоставляет визуализацию бесплатно, за сами вычисления и агрегацию данных придется платить. Эта модель схожа с каршерингом: если вы очень активный пользователь, в какой-то момент становится выгоднее купить свой автомобиль. Так же и с облаками.
Ваши данные находятся у одного вендора, а это порождает зависимость. Если объем информации составляет петабайты, то очень нелегко их перевести на свои сервера или облако другого вендора.
В целом мне нравится этот тренд миграция данных и их анализа в облачные сервисы, это делает разработку аналитических систем легче и часто дешевле покупки корпоративных систем.
Что такое хорошая отчетная система
Опишу типичную ситуацию, которая возникает при запуске аналитической системы. В компании Х появляется хранилище данных и аналитическая система к нему. Аналитики проводят первое общее собрание, показывают систему, демонстрируют, какие данные доступны. Самые любознательные сотрудники (берегите их), которым этого не хватало, начинают работать с новым хранилищем и системой, и вскоре от них начинают сыпаться комментарии: это неудобно, тут тормозит, здесь не хватает данных. Поговорим о минимальных требованиях к отчетной системе, которые я встречал на практике.
Для начала выделим две функции таких систем: предоставление дашбордов и служебных отчетов. О дашбордах я писал в прошлых главах. Служебные отчеты предназначены для автоматизации и упрощения задач сотрудника. Например, это могут быть контакты проблемных клиентов для прозвона, скоринг клиентов по эффективности внедрения системы рекомендаций на сайт, поисковые фразы с пустой страницей результатов. Эти отчеты даже встраивают как компонент в существующие бизнес-процессы.