Показатели производительности не могут сказать вам то, что вы хотите знать: насколько ценен проект на самом деле
В науке о данных большое внимание уделяется различным показателям производительности. Специалисты по обработке данных потратят месяцы, пытаясь улучшить различные показатели эффективности проекта. Проблема в том, что неясно, действительно ли все эти усилия приносят пользу. Если вы изучаете только показатели эффективности, невозможно узнать, увеличиваете ли вы ценность своей модели.
Показатели эффективности не знают, насколько ценны ваши прогнозы. Возьмем один пример, оценка F1 явно придает равный вес точности и отзывчивости. На практике ложные срабатывания и ложные отрицания обычно обходятся по-разному.
Вы можете сказать вам, насколько хорошо работает ваша модель, используя миллион различных метрик. Но ничто из этого не говорит вам о том, что на самом деле хотят знать заинтересованные стороны: какую ценность для бизнеса это имеет?
Денежные переговоры
В чем ценность бизнеса? В конце концов, для коммерческого бизнеса стоимость бизнеса выражается в денежном выражении.
Ценность для бизнеса = $$$
Это отличная новость для специалистов по данным: мы любим числа. Деньги количественны.
К сожалению, связь между тем, что мы создаем, и денежной стоимостью не всегда очевидна.
Один из наиболее конкретных способов связать проект по науке о данных с бизнес-моделями - это вычислить, что реализация этой модели будет значить для прибыли компании. Это не всегда возможно, но это полезное упражнение. Рассматривая ситуации, в которых мы можем вычислить явное значение, мы можем прояснить области, в которых связь менее четкая.
Конкретный пример расчета бизнес-ценности модели
Давайте рассмотрим простой пример, в котором мы строим модель бизнес-проблемы: обнаружение производственных дефектов на фабрике виджетов.
Мы знаем, что если мы обнаруживаем дефектный виджет, мы его выбрасываем, что приводит к потере производственных затрат. Стоимость замены неисправного виджета - 100 долларов.
Если нам не удается обнаружить дефектный виджет, мы отправляем его клиенту, а затем должны заменить его виджет и оплатить доставку нового виджета. Допустим, стоимость доставки составляет 50 долларов США, не считая 100 долларов убытков от замены виджета.
Если у нас есть модель для прогнозирования дефектных виджетов, мы можем записать затраты для различных сценариев:
Истинные плюсы: - 100 долларов за неработающий виджет
Ложные срабатывания: - 100 долларов на замену виджета, который, по нашему мнению, был неисправен.
Истинно отрицательное значение: 0 (мы рассматриваем вариант «без дефектов» как сценарий по умолчанию, с которым сравниваются затраты).
Ложноотрицательный результат: - 150 долларов США за доставку замененного виджета.
Обратите внимание, что это эквивалентно заявлению, что стоимость ложного срабатывания составляет 100 долларов (разница между ложным положительным и истинно отрицательным), а стоимость ложно отрицательного результата составляет 50 долларов (разница между ложным отрицательным и истинным положительным результатом).
Теперь мы можем построить классификатор и рассчитать для этого классификатора, какими были бы затраты от дефектов, если бы мы использовали этот классификатор в качестве нашего процесса проверки. Оценить ценность модели для бизнеса несложно - нам просто нужно создать матрицу неточностей на тестовом наборе. Возьмем пример:
Затем мы умножаем стоимость каждого результата на то, сколько раз он наступает:
(-100 * 0,2) + (-100 * 0,05) + (-150 * 0,05) + (0 * 0,8) = -32,50.
Другими словами, в среднем для каждого виджета мы потеряем в среднем 32,50 доллара из-за дефектов, если мы будем использовать эту модель.
Мы можем сравнить это со стоимостью текущего полиса. Предположим, что в настоящее время проверка на наличие дефектов отсутствует, и все виджеты отправлены. Исходя из приведенной выше матрицы недоразумений, 25% виджетов неисправны. Итак, чтобы рассчитать стоимость этого полиса, мы просто умножаем 0,25 на стоимость доставки дефектного продукта:
-150 * 0,25 = -37,50
Эта политика стоит в среднем 37,50 долларов за виджет. Следовательно, реализация нашей модели для исключения виджетов сэкономит компании в среднем 5 долларов на виджет.
Это оно! Мы рассчитали ценность нашей модели для бизнеса. Конечно, в реальном мире могут возникнуть затраты на внедрение новой политики, и эти затраты придется сравнивать с рассчитанными выгодами от внедрения модели.
Асимметричные затраты сдвигают порог оптимального решения
С явно определенной матрицей затрат у нас есть возможность доработать нашу модель для дальнейшей минимизации затрат.
Большинство классификаторов по умолчанию используют порог вероятностного решения 0,5, чтобы определить, что обозначать положительным или отрицательным, но с асимметричными затратами, которые не обязательно являются лучшим порогом для использования.
Например, в этом сценарии ложноотрицательные результаты стоят больше, чем ложные срабатывания (100 долларов за ложные срабатывания против 50 долларов за ложноотрицательные). Это понижает порог оптимального решения; ложноотрицательные результаты менее затратны, чем ложные срабатывания, поэтому мы должны с большей готовностью принимать ложноотрицательные результаты.
Вот простое моделирование того, как может выглядеть кривая затрат для этой матрицы затрат (обратите внимание, что минимум на кривой затрат составляет около 0,7, так что это будет наш оптимальный порог принятия решения):
Следовательно, мы должны пометить все, что имеет прогнозируемую вероятность выше ~ 0,7, как дефектное, а все остальное как исправное.
Изменение матрицы затрат
Важно понимать, что изменение матрицы затрат может изменить не только ценность модели для бизнеса, но и порог оптимального решения.
Например, предположим, что кто-то в компании разработал новый тест для выявления дефектных виджетов. Это дорого, поэтому мы не хотим использовать его для каждого виджета, но он однозначно сообщает нам, неисправен ли виджет. Если этот тест стоит 20 долларов, мы получим большое изменение в матрице затрат для нашей модели:
Истинные положительные результаты: - 120 долларов США (100 долларов США за стоимость производства и дополнительные 20 долларов США за окончательный тест, чтобы убедиться, что он неисправен)
Ложные срабатывания: - 20 долларов за окончательный тест, который реабилитирует хорошие виджеты.
Истинно отрицательное значение: 0 (мы снова рассматриваем вариант «без дефектов» как сценарий по умолчанию, с которым сравниваются затраты)
Ложноотрицательный результат: - 150 долларов США за доставку замененного виджета.
Поскольку стоимость ложных срабатываний теперь ниже, это сдвигает кривую выплат. Теперь мы должны быть более склонны к ложным срабатываниям, поскольку они не так дороги, в то время как ложноотрицательные остаются такими же дорогостоящими:
Оптимальный порог принятия решения, минимизирующий затраты, сместился примерно до 0,3. Мы обозначим еще много виджетов как потенциально неисправные, но это нормально, поскольку теперь мы отправим их на дальнейшее тестирование, а не выбрасываем. Мы можем рассчитать, насколько дорогостоящей будет эта политика в целом, и сравнить ее с другими политиками (например, проведя тест за 20 долларов для каждого виджета).
Обобщение в более неоднозначных ситуациях
В реальном мире редко встречается такая четко сформулированная проблема. Такое определение бизнес-проблемы - это то, что я назвал сложной частью науки о данных.
В реальном мире затраты малоизвестны, и редко можно встретить простую классификацию, полностью отражающую суть бизнес-проблемы. Однако, глядя на эти упрощенные случаи, мы можем подойти к более сложным проблемам с большей ясностью. Распознавание того, что является двусмысленным или отсутствует в определении проекта, является первым шагом к прояснению проблемы и подключению ее к техническому решению, которое приносит наибольшую пользу для бизнеса.