Большая часть разговоров про аналитику крутится вокруг двух крайностей. Это или разговоры про дашборды и красивую визуализацию, или рассказы об искусственном интеллекте и машинном обучении. В результате основное внимание уделяется совсем не тому, что приносит максимальную пользу или на что тратится больше всего сил.
Большая часть разговоров про аналитику крутится вокруг двух крайностей. Это или разговоры про дашборды и красивую визуализацию, или рассказы об искусственном интеллекте и машинном обучении. Визуализация — красиво, а искусственный интеллект — модно. Самое странное в подобной ситуации, что большой интерес к визуализации и машинному обучению не стыкуется ни с реальной бизнес-ценностью, ни с трудозатратами. В результате основное внимание уделяется совсем не тому, что приносит максимальную пользу или на что тратится больше всего сил.
Если спросить бизнес о том, решение каких задач приносит максимальную финансовую выгоду, то скорее всего вы услышите про задачи прогнозирования спроса, управления рисками, оптимизации производства. Это отражает ценности бизнес-аналитики. Если же спросить аналитиков, которые решают эти задачи, на что они тратят больше всего времени, то услышите, что это очистка и подготовка данных, реализация бизнес-правил, интеграция... То есть работы нетривиальные, но достаточно приземленные. Именно на них приходятся основные трудозатраты.
Единственный правильный критерий, по которому бизнес должен принимать решение о внедрении той или иной технологии — это польза, которую получит компания. Т.е. технология должна решать задачи, которые закрывают болевые точки организации или на что тратится больше всего времени, а чем проще аналитика, тем активнее ее используют и тем больше от нее пользы.
Для простоты понимания проведем аналогию с ценностью знания для общества. Что важнее — грамотность или знания высшей математики? Конечно, грамотность. Во-первых, она необходима чаще, чем высшая математика. Во-вторых, без грамотности сложно что-то сделать для решения более сложных задач. В-третьих, у большинства людей никогда в жизни просто не возникнет необходимость решать задачи по высшей математике. Здравый смысл подсказывает, что надо начинать с решения простых задач и постепенно переходить к сложным, но в жизни довольно часто происходит по-другому.
Наверняка многие сталкивались с людьми, которые, получив некоторые знания, сразу начинают делать выводы о вещах, далеко выходящих за рамки их познаний. Они точно знают как надо управлять миром, кто в чем виноват, как устроена вселенная и тому подобное. Это результат эффекта Даннинга-Крюгера — когнитивного искажения, приводящего к завышенному представлению о своих способностях и возможностях у людей, которые не являются профессионалами в данной сфере.
В анализе данных это проявляется следующим образом. Люди проходят месячные курсы по машинному обучению и сразу же пытаются внедрить знания в жизнь. Переубедить их, что умение запустить алгоритм и построить модель не самое главное — не так-то просто. Для них заниматься подготовкой и очисткой данных не интересно, интегрировать в бизнес-процесс муторно, погружаться в предметную область долго. Хотя от решения именно этих задач на 99% зависит польза от применения аналитики в бизнесе.
Правильный путь, способный принести пользу бизнесу, — другой. Первым делом надо погрузиться в предметную область. Как предложить решение бизнес-задачи, не вникая в бизнес, совершенно непонятно. Далее разобраться с простыми задачами: к счастью любой офисный сотрудник умеет пользоваться Excel, поэтому проблем с инструментами на этом этапе не возникает. И только после этого переходить к решению задач, выходящих за рамки Excel, таких как прогнозирование, оптимизация, управление рисками и т.п. С решением именно этих задач сейчас связано подавляющее большинство болевых точек бизнеса. Разобравшись с ними, можно переходить к более сложным проблемам.
Описанные выше наиболее востребованные бизнес-задачи (прогнозирование, очистка данных, управление рисками и прочее) объединяются не очень удачным термином — продвинутая аналитика. Вроде аналитика и есть аналитика, не все ли равно насколько она продвинутая? И как понять, где начинается эта продвинутость. Однако более подходящего слова нет. Именно поэтому в слогане аналитической платформы Loginom «Сделаем продвинутую аналитику массовой» используется именно этот термин, как самый близкий по смыслу.
В Loginom с самого начала были нейросети и другие алгоритмы машинного обучения. В связи с этим можно про любой сценарий обработки говорить что-то в стиле «искусственный интеллект прогнозирует поведение», но называть «искусственным интеллектом» любую последовательность обработчиков, где используется пара алгоритмов машинного обучения, язык не поворачивается. Хотя бы потому, что большая часть любого, даже самого сложного сценария, — это расчеты показателей, фильтры, группировки и прочие достаточно простые действия.
Так что же такое «продвинутая аналитика» и чем она отличается от «простой» и непродвинутой?
Есть три ключевых признака:
Расскажу подробнее, что имеется в виду под каждой фразой.
Аналитики часто сталкиваются с задачами, которые не требуют знаний высшей математики, но, тем не менее, являются очень сложными.
Возьмем простой пример, связанный с очисткой персональных данных — определить корректность номера телефона. Казалось бы, все очень просто. Есть формат написания телефона +X (XXX) XXXXXXX, если текст ему соответствует, значит все верно. Что тут думать? И где тут сложности?
А теперь посмотрим, что происходит при анализе реальных данных. Приведу несколько примеров из жизни.
Номер телефона | Проблема |
---|---|
+7 (4912) 24-09-77 24-06-99 | Это ошибка или два номера? |
+7 (4912) 24-09-77 (Спросить Сергея) | Приписку надо отбросить? |
+7 (4912) 24-09-77 (302) | 302 — это добавочный номер или нет? |
+1 (111) 111-11-11 | Это фиктивный номер или нет? |
(Ч912) 24-09-77 | Букву Ч надо заменить на цифру 4? |
81074912240977 | 810 — это выход на межгород? |
И таких вопросов сотни. Если номер телефона без кода страны или города — он корректный? Нужно ли проверять код страны? Или код оператора?
Если попробовать решить данную задачу в реальном проекте, то очень быстро придет понимание, что это непросто. Несмотря на то, что каждая из проверок не кажется сложной, типов ошибок так много, что можно потратить год на разбор всех проблем.
Это только один из примеров. На самом деле таких задач в бизнесе тысячи, и почти всегда они являются ядром систем принятия решений, например:
Причем часто логика, на проработку которой ушло много времени, быстро изменяется, поэтому приходится ее модифицировать. Вследствие этого возникает самостоятельная задача отслеживания того, какие изменения произошли. Это необходимо для того, чтобы понять, почему сегодняшнее решение на тех же данных не совпадает с вчерашним.
Сегодня применение машинного обучения считается маркером того, что речь идет о продвинутой аналитике. Это не совсем верно.
Действительно, иногда приходится использовать сложные алгоритмы и машинное обучение. Но к ним не стоит прибегать, если задачу можно решить простыми способами. На нашей практике было очень много случаев, когда включение любого Data Mining алгоритма в сценарий расчетов являлось для клиента самоцелью. Это очень странная с точки зрения здорового бизнеса логика, но люди применяли нейронные сети и прочие хитрые методы там, где в этом нет никакой необходимости. Видимо, это создавало ощущение причастности к нашумевшему искусственному интеллекту.
Применение машинного обучения должно быть обосновано не желанием рассказать коллегам об использовании последних достижений науки, а решаемой задачей. Оно к месту, когда много анализируемых атрибутов или между факторами предполагается наличие сложных зависимостей.
Кроме того, надо иметь в виду, что значительная часть времени в продвинутой аналитике уходит вовсе не на построение моделей. Самая трудоемкая часть работы — это подготовка данных к анализу: сбор, систематизация, очистка, трансформация. До применения машинного обучения надо еще добраться.
Помимо этого, есть железное правило — при наличии нескольких методов решения одной задачи, которые дают близкие результаты, всегда надо выбирать более простой метод. Это правило используется, например, при построении ансамблей моделей — за сложность накладывается штраф.
Простая модель имеет множество достоинств:
В действительности нет ни одной причины при прочих равных отказываться от простых моделей в пользу сложных. Переход к более сложным алгоритмам должен быть вынужденной мерой, а не методом решения задачи по умолчанию.
Анализ очень больших объемов данных действительно является проблемой. Наборы не помещаются в памяти, приходится прибегать к ухищрениям, чтобы их обработать: разбивать на блоки, использовать распределенные вычисления... Даже простые операции над такими данными могут потребовать непозволительно много времени.
Конечно, и здесь надо понимать, Big Data не является самоцелью. Часто можно провести элементарную предобработку, чтобы сократить размеры анализируемых выборок и не придумывать себе проблему, которую затем надо героически решать.
Например, при правильной подготовке выборки для машинного обучения модель регрессии на 10 миллионов записей будет давать практически такой же результат, как и при обработке миллиарда записей. Это же касается и многих других задач. В конце концов, правильно подготовленный опрос общественного мнения нескольких тысяч человек позволяет прогнозировать исход выборов в многомиллионной стране с точностью до нескольких процентов. При этом издержки на обработку меньше в сотни тысяч раз.
Если аналитик вынужден обрабатывать большие данные, то помимо трудностей с памятью и производительностью возникает еще одна неприятная проблема. Дело в том, что даже самая простая задача на больших наборах неожиданно может стать проблемой.
Например, возьмем задачу — подсчитать сумму по полю. Куда уж проще? Этому учат в первом классе. Когда данных мало все считается элементарно. Однако попробуйте просуммировать в лоб один миллиард больших чисел. Вы легко можете столкнуться с проблемой переполнения и не получить ответ. Или выяснится, что иногда сумма двух целых чисел может быть представлена в памяти компьютера как дробное число, что совсем не соответствует ожиданиям.
И это еще не все. Может показаться очень странным, но при обработке больших данных результат суммирования может зависеть, например, от того, в какой последовательности подаются данные на вход. Суммируете отсортированные данные — один результат, а те же самые неотсортированные данные — другой. Для тех, кто разбирается в том, как работает процессор, ничего странного нет, но у остальных подобный результат может привести к разрыву шаблона.
А теперь попробуйте решить на больших объемах данных более сложную задачу. Вы будете удивлены полученными результатами... Конечно, если дождетесь окончания расчетов.
При создании платформы Loginom именно это понимание продвинутой аналитики было взято за основу. Конечно, границы между условно простой аналитикой и продвинутой нечеткие, но при достижении определенного уровня сложности аналитику потребуется специализированный инструмент.
Если при решении бизнес-задачи встречается один или два из описанных признаков, значит, мы имеем дело с продвинутой аналитикой. Следовательно, есть резон рассмотреть применение специального инструмента. Если же встречаются все три признака сразу, то это уже высший пилотаж и без подобного инструмента не обойтись.
Бизнес-задач, связанных с продвинутой аналитикой, очень много, причем чаще всего это задачи критичные для бизнеса и касаются большинства подразделений. Следовательно, нужно, чтобы решать их могли многие сотрудники, а не только программисты. Для таких людей даже придуман специальный термин «Citizen Data Scientist». Loginom как раз является инструментом для таких специалистов.
Низкая планка входа обеспечивается за счет того, что в нем почти все настраивается за счет визуального проектирования, но при необходимости можно написать и код. При этом даже без кодирования можно реализовать нетривиальную логику обработки.
В Loginom встроены алгоритмы машинного обучения от наиболее простых, типа линейной регрессии, до нейросетей. Помимо этого в платформу включены алгоритмы подготовки, трансформации и очистки данных, являющиеся обязательными этапами при решении любой аналитической задачи.
Loginom способен обрабатывать большие массивы данных, а также включает различные механизмы, такие как сэмплинг или обработка порциями, помогающие комфортно работать с наборами в сотни миллионов записей.
Продвинутая аналитика станет массовым занятием — рутинной и привычной работой аналитиков, которых со временем правильнее будет называть Citizen Data Scientist-ами.
Другие материалы по теме:
Быстрый ETL от Loginom для PostgreSQL
Репрезентативность выборочных данных
Методы и алгоритмы сэмплинга в анализе данных