23 мая 2015

Протокол разработки предсказательных моделей, предназначенных для решения бизнес-задач



В отличие от моделей, основное назначение которых заключается в установлении взаимоотношений между предикторами и некоторой переменной-откликом и, как следствие, наиболее распространенных в академической среде, предсказательные модели особенно популярны в мире бизнеса. Это не удивительно, поскольку возможность делать предсказания в отношении критических для бизнеса явлений и процессов дает конкурентное преимущество, а нередко лежит и в основе самого бизнеса (Google, Amazon, Netflix, и т.д.). Разработка предсказательной модели для решения бизнес-задач - очень сложная задача, поскольку требует экспертизы во многих областях - от глубокого понимания конкретного бизнес-домена, до баз данных, IT-инфраструктуры и, конечно же, методов статистики/машинного обучения. Есть очень мало людей, которые имеют все эти навыки, в связи с чем планирование и выполнение проекта по разработке и запуску предсказательной модели - это всегда командная работа. Любой успешный бизнес строится на хорошо структурированных и "обкатанных" на практике процессах и правилах. Существуют подобные правила и для проектов, связанных с разработкой предсказательных моделей. Это сообщение посвящено одному из наиболее широко применяемых таких протоколов - т.н. "межиндустриальному стандартному протоколу глубинного анализа данных" ("Cross-Industry Standard Protocol for Data Mining", CRISP-DM).





Протокол CRISP-DM был разработан в конце 1990-х гг. консорциумом специалистов из шести компаний - SPSS, Teradata, Daimler AG, NCR Corporation и OHRA. Несмотря на свой "возраст", этот протокол сегодня является наиболее популярной методологией среди тех, кто занимается решением соответствующих задач (см., например, результаты опроса, выполненного в 2007 г. сайтом KDnuggets). Протокол включает 6 основных шагов, представленных на рис. ниже.

Основные этапы протокола CRISP-DM (рисунок заимствован из Википедии)

1. Постановка бизнес-задачи (Business Understanding)

Как и любой другой проект, претендующий на успех, проект по разработке предсказательной модели должен начинаться с четкой формулировки стоящей задачи. Как правило, задача сначала формулируется на "языке бизнеса" соответствующими экспертами и затем "переводится" на язык статистики. В обсуждениях, связанных с этим этапом, должны присутствовать специалисты трех типов - 1) бизнес-эксперты (формулируют задачу), 2) эксперты по базам данных (помогают понять, имеются ли требуемые для решения задачи данные в распоряжении организации) и 3) эксперты в области статистики/машинного обучения (переформулируют задачу в терминах статистики и помогают определиться с необходимыми данными и предсказываемой переменной-откликом). Одним из важнейших аспектов, подлежащих обсуждению, является согласие всех сторон относительно критериев успеха проекта. Так, например, при разработке классификационной модели, верность предсказаний можно оценивать при помощи доли правильно классифицированных объектов, доля ложноположительных и ложноотрицательных случаев и т.д. При необходимости предсказать количественную величину широко применяют, например, корень из среднеквадратичной ошибки (RMSE). В любом случае, все стороны должны быть осведомлены о том, как именно будут оцениваться "эксплуатационные свойства" модели, и какой уровень точности предсказаний будет считаться достаточным для запуска модели в производство. Часто бизнес-эксперты, которые имеют слабое представление о статистике, проявляют завышенные ожидания (= чудо) в отношении статистических моделей. Роль специалиста-статистика на первых нескольких встречах по проекту заключается также и в том, чтобы охладить "пыл несведущих" и добиться постановки реалистичной задачи.

2. Понимание имеющихся данных (Data Understanding)

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

3. Подготовка данных (Data Preparation)

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

4. Создание модели (Modeling)

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

5. Оценивание модели (Evaluation)

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

6. Запуск модели (Deployment)

Создание хорошо работающей модели как таковой - это еще не конец проекта. Даже если модель создавалась просто для получения нового знания, это новое знание нужно будет в доступном виде представить тем, кто в нем заинтересован. Иначе модель запускают в производство - она начинает принимать реальные новые данные на вход и выдавать предсказания, которые тем или иным образом используются для генерации прибыли. Включение модели в имеющуюся IT-инфраструктуру компании происходит с непосредственным участием соответствующих специалистов. Так, нередко модель, созданную с использованием одного языка программирования (например, R) перед запуском приходится переводить на другой язык (SQL, UML, Python, C++ и др.). После того, как модель, наконец, была запущена, ее "создатель" больше с ней тесного контакта не имеет. Тем не менее, условия, в которых некоторая модель работала хорошо ранее, могут поменяться, вызвав снижение качества предсказаний (например, в силу резких изменений на рынке). В связи с этим необходимо регулярно отслеживать качество предсказаний каждой запущенной в производство модели и, при необходимости, обучать ее заново (даже если та или иная модель способна обучаться самостоятельно, мониторинг качества ее предсказаний обязателен). В связи с этим приведенный выше рисунок выполнен в виде замкнутого круга.

Мы рассмотрели лишь основные аспекты, связанные с шестью этапами протокола CRISP-DM. Подробности можно найти как в оригинальном 80-страничном документе, описывающем этот протокол, так и в нескольких отличных книгах (например, Provost & Fawcett 2013Abbott 2014; Zumel & Mount 2014; )

Комментариев нет :

Отправить комментарий