Формальная постановка задачи предиктивного моделирования

На прошлой неделе встрял в теоретическую дискуссию с одним data scientist’ом  о формальной постановке задачи предиктивного моделирования. Тема совершенно оторванная от реальности, но тем не менее, может, кому-то из неофитов покажется полезной.

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

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

Но это все лирика, а теперь давайте формализуем задачу.

После разговора с экспертом для данной задачи можно однозначно понять все доступные действия A. Также совместно с ним можно описать целевой бизнес-индикатор Y, который нужно максимизировать (или минимизировать), и определить ограничения на состояние S.

Таким образом, еще до начала работы у аналитика есть фиксированное множество A, целевой индикатор Y и пространство допустимых состояний S. Аналитику остается лишь решить задачу a' = \underset{a \in A}{\mathrm{argmax}} Y(X,a) \cdot [S(X,a)], которая иногда сводится к построению модели Y = f(X, a)  и ранжировании на всех доступных  a.

Часто эта задача слишком сложна для решения, поэтому ее заменяют задачей в более простой постановке  a' = \underset{a \in A}{\mathrm{argmax}} \varphi(X,a), где \varphi(X, a)  — более простая для анализа и моделирования функция. Полезность решения потом оценивается по бизнес-правилам:  Y'=\xi(X, a').

Концептуально это можно описать как A \rightarrow Y \rightarrow \varphi(X, \ldots). Пространство X здесь вторично, не обязано быть универсальным и, часто наоборот, зависит от задачи.

Наглядно объясним эти обозначения на примере задачи кредитного скоринга. Доступны действия A — или не предлагать кредит, или предложить кредит под N% годовых, причем N можно варьировать. Целевой индикатор Y — ожидаемый доход банка с учетом риска дефолта или возможного отказа от предложения. X — параметры заемщика. S — ограничения терпимости банка к риску. Эта задача сводится к более простой задаче классификации \varphi  «дефолт vs не дефолт» и набору бизнес-правил \xi, отражающих кредитную политику банка.