Паранормальные явления в работе с данными: откуда берутся выбросы и как устранить аномалии?

Паранормальные явления в работе с данными: откуда берутся выбросы и как устранить аномалии?

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

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

При таком распределении большая часть значений (95.44%) находится в диапазоне +/- двух стандартных отклонений. Выбросами обычно считаются значения в диапазоне от 3 до 5 стандартных отклонений, а экстремальными значениями – то, что превышает 5 стандартных отклонений.

Так в чем проблема с выбросами? Чем плох, например, резкий всплеск продаж? Это же как выиграть в лотерею! Однако в реальности все не так просто.

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

Пример из жизни. Оптовая компания торгует канцелярскими товарами и отгружает каждый день в среднем 10 палет продукции десяткам покупателей. В результате многолетней работы сложился отлаженный процесс — компания работает стабильно без простоев и перегрузок.

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

  1. Большая отгрузка привела к тому, что за день опустела половина склада, и снизился уровень сервиса для основных клиентов.
  2. Людей в штате недостаточно для сборки заказа в срок, как следствие — переработки и недовольство.
  3. Стабильные бизнес-процессы нарушились, что привело к кассовым разрывам, увеличению брака при сборке партии и прочим негативным последствиям.

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

Поэтому компании стремятся строить работу так, чтобы минимизировать резкие отклонения в любую сторону. Если же они возникают часто, то проблемы стараются локализовать:

  1. Выделить отдельное направление деятельности с другими бизнес-процессами.
  2. Оптимизировать работу, например, договариваться с крупными клиентами заранее или согласовать специальные регламенты.
  3. Построить логику работы с клиентами так, чтобы поощрять за действия, повышающие стабильность процессов, и «наказывать» за то, что их ухудшает.

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

Важно! Если вы не сделали практику в теме «Из песни слов не выкинуть. Ищем пропуски в данных», то предварительно требуется открыть решение задания предыдущего дня, скачав его ниже.

lgpРешение практического задания. День 10.lgp

Выбросы в неупорядоченных значениях

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

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

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

Далее надо настроить обработчик так, чтобы данные группировались по полям Client_ID и Дата покупки и суммировались по полю Количество.

После этого узла нужно добавить компонент Редактирование выбросов из группы Предобработка.

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

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

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

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

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

На выходе из узла редактирования выбросов имеется 3 порта:

  • выходной набор;
  • выбросы;
  • экстремальные значения.

Во второй и третий порт выводятся значения, которые являются нетипичными для этого датасета. Их надо отметить аналитическим признаком и присоединить к транзакциям.

Для этого нужно подать данные со второго выхода на узел Калькулятор, добавить текстовое поле Ejection (метка Тип выброса) и значением Выброс.

Аналогично сделать для третьего порта, только в значении поля прописать Экстремальное.

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

Обе ветки нужно объединить при помощи обработчика Объединение, не забывая настроить совпадение полей.

Затем нужно добавить в сценарий узел Слияние и подать на первый порт данные по транзакциями, а на второй порт – выход из узла Объединение, связав по полю ИД клиента и Дата покупки.

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

Теперь при построении Куба по продажам данные разбиваются на записи с выбросами и без них. Эту информацию можно детализировать до дней и транзакций.

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

Выбросы в упорядоченных данных

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

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

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

Затем добавить узел Калькулятор, где создать поле Изначальное количество, содержащее значение поля Количество.

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

Для просмотра полученных результатов нужно в первый порт обработчика Редактирование выбросов добавить визуализатор Диаграмма и разместить Даты покупки на ось X, а поля Количество|Сумма и Количество изначальное – в центр диаграммы.

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

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

Получить разбор заданий

Заключение

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

Любые отклонения — это ситуации, на которые стоит обратить внимание. Они могут указать как на проблемные зоны бизнеса, так и на точки роста. Как всегда самые интересные результаты получаются на стыке дата-аналитики и бизнес-экспертизы.

Loginom сокращает время на выполнение рутинных операций с данными. Платформа позволяет автоматически выявить выбросы, т.е. события, на которые надо обратить внимание, а знание предметной области – понять причинно-следственные связи.

Полученные данные можно просматривать не только визуализаторами, встроенными в Loginom. Их можно выгрузить в различные приемники данных, такие как системы учета или специализированные BI продукты. Об этом будет рассказано завтра.