Зарегистрируйтесь для доступа к 15+ бесплатным курсам по программированию с тренажером

Источники данных Введение в дата-аналитику

В работе аналитика существенную роль играет качество данных. Часто эту важную роль описывают через принцип GIGO (garbage in, garbage out) — «мусор на входе, мусор на выходе». Если мы не обработаем источники данных до начала анализа, то пользы от самого анализа не будет.

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

Что такое источник данных

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

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

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

  • Иерархическая модель

  • Реляционная модель

  • Унифицированный язык моделирования (UML или Unified Modeling Language)

  • Диаграмма «Сущность-связь» (ERD или Entity-Relationship Diagram)

  • Объектно-ориентированная модель

  • Многомерное моделирование

Как работает принцип GIGO

Чтобы проиллюстрировать принцип GIGO, возьмем таблицу Orders с данными по заказам клиентов. Если интересно, можете изучить оригинал на сайте Tableau Public.

Представим, что мы хотим изучить данные клиента по имени Aaron Bergman. Чистые и подготовленные данные продаж по этому клиенту выглядят так:

eyJpZCI6ImNkZTk0MTY3ODVkNzc5YTRlYzlkODEzNTE2YWNiZDg0LnBuZyIsInN0b3JhZ2UiOiJjYWNoZSJ9?signature=eeba50fd5aec05e49c4d5f0fa2fe767ee75dfee3397a904ec2894114ba0b8ab5

Грязные данные заметно отличаются:

eyJpZCI6Ijg5ZWY4MmMyNGY1NGEzZGNlMjFjYjI1OTgzMmU1YjJlLnBuZyIsInN0b3JhZ2UiOiJjYWNoZSJ9?signature=4ee8fdcd9ec6301b6f47c3a07b35e4fd361da1ac8ac3a4815a94effb98a2e1af

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

eyJpZCI6ImNmNTFlNjIzYjZlZDE5OTljZDY3ZjM5ZWU4OWJjMWU1LnBuZyIsInN0b3JhZ2UiOiJjYWNoZSJ9?signature=2c7ead82dcb08395a229a4eec0fa6d5661a7ef82d299f0c94ded67bc9d485cd5

При визуализации замусоренных данных мы получим другой результат:

eyJpZCI6ImYwMjA3OTRiNGQwMDQ2ZWM5MjgxNWEzZDFmNGIwMjk3LnBuZyIsInN0b3JhZ2UiOiJjYWNoZSJ9?signature=942a36ab51104295e1861a5d839c33b774353dc631a7e7faaba4660bc9ebaedb

Как видите, замусоренные данные заметно отличаются от чистых. Все дело в неправильно заполненных полях. Из-за орфографических ошибок мы видим пять городов, хотя на самом деле их три — Оклахома, Сиэтл и Арлингтон.

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

Как подготовить данные

Рассмотрим этапы подготовки:

  1. Сбор данных

  2. Исследование и профилирование данных

  3. Очистка данных

  4. Структурирование данных

  5. Трансформация и обогащение данных

  6. Валидация данных и их сохранение

Сбор данных

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

Можно выделить два типа источников:

  1. Машинные файлы — логи интернет-трафика, логи систем и приложений, информация от сенсоров промышленного оборудования, результаты запросов к базе. Такие файлы создаются на клиентском компьютере, телефоне или другом устройстве. Доступ к ним предоставлен пользователям, зарегистрированным в системе. У машинного источника всегда есть DSN (data source name — имя источника данных)

  2. Файловые источники — таблицы, текстовые документы, PDF-файлы, изображения, аудио и видео. Такие файлы не прикреплены к конкретным компьютерам, приложениям, системам или пользователям. Их можно свободно распространять среди устройств. В отличие от машинных источников, у них нет DSN

Исследование данных

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

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

Очистка данных

Далее аналитик исправляет найденные ошибки:

  • Дубли

  • Пропущенные значения

  • Выбросы

  • Неверный формат данных

Исправив все ошибки, мы создаем полный и точный датасет.

Структурирование или группировка данных

Далее аналитик подстраивает чистый датасет под конкретную ситуацию.

Для примера представим, что мы получаем данные в формате CSV (comma-separated values). Мы хотим проанализировать их с помощью BI-инструментов, но сходу сделать это не получится. Чтобы BI-инструменты смогли корректно считать и использовать их, нужно конвертировать CSV в таблицу.

Работать с неструктурированными данными неудобно. Например, в сырых данных о покупках одна строка может содержать информацию сразу о нескольких товарах:

eyJpZCI6IjExZTY2Mzc5YTU5ODQzMjcwZWQ1NjIzMzIwZWNiNTk2LnBuZyIsInN0b3JhZ2UiOiJjYWNoZSJ9?signature=7b31033773e304f4027b54755e5c83a1c3b6fa37be872223c77333e5b7363d86

Чтобы стало удобнее, нужно разделить товары и разместить каждый купленный продукт в отдельной строке:

eyJpZCI6IjZmOGY0ZjdlNWU2YzU0MmQwYTc5OWFlNmIyMmU2N2ZlLnBuZyIsInN0b3JhZ2UiOiJjYWNoZSJ9?signature=282279ef4179fe58f55573689e82388e2eaabed84b854d6280334f0c7f2571c7

Можно сделать данные еще понятнее. Например, человеку сложно воспринимать вот такие данные:

eyJpZCI6IjZiY2JhZDAzZmM3MWM2Yzg1YWRiMGJlZWVjNTk5ZDdhLnBuZyIsInN0b3JhZ2UiOiJjYWNoZSJ9?signature=430b74168eb3b1e2041bf383121baf4b17bba32580888b5ef976fb51ddc03e82

Будет гораздо проще, если мы возьмем номера магазинов и покупателей и заменим их на понятные имена:

eyJpZCI6IjlkZTVmMDIyNjkyOTEwZTNjNWZmODJkYWNkMzNmNWM2LnBuZyIsInN0b3JhZ2UiOiJjYWNoZSJ9?signature=db6863e8286074ffc02a1339ba8033f4ee661896a3f0697a0b23c121c862f0a0

Для этого разобьем исходные данные на три источника — таблицы Shops, Customers и Products:

eyJpZCI6ImRkZTM2OGNhNGRlMjZjYzI1NzlhZGJkZTlhNDllZDlhLnBuZyIsInN0b3JhZ2UiOiJjYWNoZSJ9?signature=f16cfe5c000e370af8fbde42677c53d445485abf11960b16949db03c48836e65
eyJpZCI6ImNiNTY5YzVkNDI4ZmIxYTA0OWE4OGQ4M2ZhMDVkMTk3LnBuZyIsInN0b3JhZ2UiOiJjYWNoZSJ9?signature=bf19f4b4956cc110e6e8a87200d3a25461db2aeb1ad3a202befcce11f1a51047
eyJpZCI6IjczN2YzODQwMGExNzJkOGM1ODVmNDI3OWI5YTRiYTk4LnBuZyIsInN0b3JhZ2UiOiJjYWNoZSJ9?signature=8273cdbf1964f1a2c36ea878286a5bec30ebb613fbbe0f1e0d4c913c826c4f1f

Трансформация и обогащение данных

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

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

Валидация данных и их сохранение

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

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

Как подключаться к источникам данных

К машинным источникам данных можно подключиться с помощью коннекторов (Data Source Connectors). Коннекторы запускают поток данных между приложениями, базами данных или аналитическими инструментами.

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

Для примера представим, что мы отслеживаем рабочее время сотрудников через Jira и хотим создать отчет с помощью Tableau. Чтобы это сделать создадим новую книгу в Tableau и выберем, с каким источником соединиться:

eyJpZCI6ImQ1OTBiOWQ2ZmIzMmIzYjBjMzcwZjc5NjU2NjA2NDg5LnBuZyIsInN0b3JhZ2UiOiJjYWNoZSJ9?signature=87ed6aed7f9ff881a6cbf594cb6c7f141ac845b4f567b1c0224ebd7388b53a33

То же самое можно сделать в Microsoft Excel:

eyJpZCI6ImI0ZTQ0MzdjMGMyMjRiNjlhNGQyMzRhNzA0MWIyMTNmLnBuZyIsInN0b3JhZ2UiOiJjYWNoZSJ9?signature=0ffc6c5a5fd5503cba750a60ed225cab74e5b273365b8b80579a4c64ef01256e

Выводы

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


Аватары экспертов Хекслета

Остались вопросы? Задайте их в разделе «Обсуждение»

Вам ответят команда поддержки Хекслета или другие студенты

Об обучении на Хекслете

Открыть доступ

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

  • 130 курсов, 2000+ часов теории
  • 1000 практических заданий в браузере
  • 360 000 студентов
Отправляя форму, вы принимаете «Соглашение об обработке персональных данных» и условия «Оферты», а также соглашаетесь с «Условиями использования»

Наши выпускники работают в компаниях:

Логотип компании Альфа Банк
Логотип компании Aviasales
Логотип компании Yandex
Логотип компании Tinkoff
Рекомендуемые программы
профессия
от 5 025 ₽ в месяц
новый
Сбор, анализ и интерпретация данных
9 месяцев
с нуля
Старт 28 сентября

Используйте Хекслет по-максимуму!

  • Задавайте вопросы по уроку
  • Проверяйте знания в квизах
  • Проходите практику прямо в браузере
  • Отслеживайте свой прогресс

Зарегистрируйтесь или войдите в свой аккаунт

Отправляя форму, вы принимаете «Соглашение об обработке персональных данных» и условия «Оферты», а также соглашаетесь с «Условиями использования»
Изображение Тото

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