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

Заявление об ограничении ответственности. Эта статья выросла из домашнего задания в моем классе по программе Онлайн-магистр аналитики (OMSA) штата Джорджия. Я горжусь тем, что продолжаю эту отличную онлайн-программу MS. Вы также можете проверить подробности здесь.

Вступление

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

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

Как и в сложной танцевальной драме, есть дирижер - вы - специалист по данным, которому необходимо понимать все аспекты истории, темп, общий посыл, а также силу и слабость отдельных артистов, их прихоти и прихоти.

Вот почему выполнение качественной аналитики - это гораздо больше, чем просто хорошее владение индивидуальными навыками, например,

  • извлечение данных или манипулирование базой данных (например, SQL)
  • визуализация и дашбординг (например, Tableau, ggplot2 и т. д.)
  • методы обработки данных (например, TidyR)
  • статистический анализ (например, R, SAS, numpy / scipy)
  • машинное обучение (например, scikit-learn, H2O, Caret)
  • анализ временных рядов
  • математическая оптимизация (например, PuLP)
  • дискретное, стохастическое моделирование (ARENA или SimPy)
  • облачное развертывание (например, Shiny, Flask, JS)

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

Тематическое исследование, иллюстрирующее сложное взаимодействие

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

Это исследование основано на реальной бизнес-проблеме, с которой столкнулась электроэнергетическая компания крупного мегаполиса США (хотя подробности не разглашаются).

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

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

Какая главная драма и кто актеры?

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

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

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

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

Возможности и приоритеты

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

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

Уже сейчас мы начинаем видеть некоторые ключевые вычислительные методы, которые нам, возможно, придется использовать для решения этой проблемы, - оптимизация, планирование, классификация, ранжирование и приоритезация.

Обширный каркас

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

  • Как определить клиентов, которые вряд ли будут платить за электроэнергию, несмотря на наличие средств для оплаты
  • Как оптимально распределить ресурсы и составить план отключения электроэнергии для этих клиентов в течение определенного периода времени с учетом множества переменных и ограничений: оплата, (b) время сотрудника (для работы в режиме отключения), (c) время в пути, (d) план города и относительное расположение (и доступность) этих мест отключения, (e) условия движения, (f) эффективность сотрудников для выполнения отключения (не все сотрудники могут быть одинаково быстры для выполнения операции отключения).

Комплексную аналитическую структуру можно проиллюстрировать на следующей диаграмме. Это по-прежнему высокоуровневый план, в котором не указаны замысловатые детали.

Модели классификации и кластеризации

Это интерфейсная модель, которая нам нужна для классификации клиентов по нескольким категориям. Потенциально мы можем выделить три широкие категории:

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

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

  • Дерево решений / Случайный лес
  • Повышение с помощью слабого классификатора для максимального уменьшения ошибки обобщения (т.е. у нас могут быть ограниченные данные и мы хотим убедиться, что модель не делает глупых ошибок при столкновении с реальными данными, которых она раньше не видела)
  • Логистическая регрессия
  • Машина опорных векторов
  • Нейронная сеть
  • k-ближайший сосед

У нас есть интересный выбор в отношении типа модели классификации, которую мы хотим. Нужна ли нам жесткая модель классификации, например «Этот клиент будет использовать по умолчанию, а этот клиент - нет»? Или, непрерывное распределение вероятностей по переменной клиента, чтобы классифицировать каждого клиента как смесь нескольких моделей мягкого распределения?

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

Данные, необходимые для классификации / кластеризации

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

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

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

Зачем нужен временной ряд для логистической регрессии? Были ли у некоторых клиентов проблемы в определенное время года? Возможно, это рабочие-мигранты, которые зарабатывают всего 9 месяцев в году и не имеют стабильного дохода в течение оставшихся 3 месяцев. Есть ли в «фонде помощи» города запасы на них? Если да, их не следует классифицировать как умышленных неплательщиков.

Модель временных рядов для оценки «потерянного» дохода из-за преднамеренной неуплаты

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

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

В следующем компоненте конвейера необходимо объединить вероятность преднамеренного дефолта и вероятность упущенной выгоды.

Модель риска и затрат для оптимизации

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

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

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

Имитационная модель для фактического планирования привода отключения

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

  • карта города со встроенными моделями движения (дневной и ночной трафик может отличаться).
  • модель распределения, показывающая, сколько времени требуется сотруднику энергетической компании, чтобы отключить электричество по прибытии в пункт назначения.
  • Модель случая, когда несколько сотрудников отправляются на отключение электроэнергии - сколько времени можно сэкономить, разместив несколько ресурсов в одном месте.

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

Широко используемым инструментом для запуска такого моделирования в дискретном времени является ARENA от Rockwell Scientific.



Как запустить и оценить качество имитационной модели?

Как и любую имитационную модель, мы должны запускать ее несколько раз с разными сценариями.

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

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

Затем необходимо тщательно обсудить эти затраты и время - приемлемо ли общее время? Разве безопасность сотрудников не важнее нескольких минут экономии времени?

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

Резюме и заключение

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

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

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

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

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

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

Подобно дистилляции высококачественного вина, современная аналитика - это процесс, основанный на строгой науке, тонком искусстве, сложном сочетании и даже с некоторыми пробами и ошибками, но, в конце концов, чрезвычайно полезным и приятным.

Если у вас есть какие-либо вопросы или идеи, которыми вы хотите поделиться, свяжитесь с автором по адресу tirthajyoti [AT] gmail.com. Кроме того, вы можете проверить авторские репозитории GitHub, чтобы узнать о других проектах машинного обучения и науки о данных на Python, R или MATLAB. Если вы, как и я, увлечены применением ML и DS к реальным проблемам, пожалуйста, не стесняйтесь добавить меня в LinkedIn или подписаться на меня в Twitter.