с моделированием роста, причинно-следственным выводом и выборкой Томпсона

TL;DR;

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

В этой статье подробно рассказывается о том, что я представил на PyData Eindhoven (Нидерланды) в 2019 году. И слайды, и 30-минутный доклад доступны в Интернете.

Предотвращение оттока

Потеря клиентов, также известная как отток клиентов, может существенно повлиять на ваш доход. Согласно Отчету ProfitWell за 2019 год, отток приводит к снижению ежемесячной выручки от 2% до 17%. Машинное обучение (ML) может предотвратить это, но не каждое решение ML будет адекватным. Некоторые из них могут даже быть вредными, позволяя вам пойти по ложному пути. В предотвращении оттока клиентов с помощью машинного обучения я вижу три важных вопроса, которые необходимо решить:

Возьмем компанию Телеком. У них разные продукты, например, домашняя интернет-подписка. Как сохранить широкий круг клиентов? Одно-единственное действие не подойдет всем. Цель состоит в том, чтобы дать правильное отношение к нужному клиенту, чтобы сохранить как можно больше.

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

Проблема первая: прогнозирование оттока

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

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

Это так плохо?

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

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

Предскажите эффект действия: подъем

Вместо того, чтобы прогнозировать отток, мы должны прогнозировать эффект от лечения. Таким образом, нам нужно спрогнозировать вероятность оттока клиентов с учетом полученного ими лечения. Или, что еще лучше, вероятность удержания. Я объяснил это дальше в этом блоге.

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

Оптимизация с учетом ценности для бизнеса

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

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

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

Прогнозирование роста с измененным результатом

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

Таким образом, лучше спрогнозировать подъем напрямую. К сожалению, повышение доступно не для каждой имеющейся у нас точки данных. Клиенты получили только одно обращение. Мы знаем, удержало ли это лечение клиента или нет. Но мы не знаем, удержит ли клиента какое-либо другое лечение. Есть способ, которым мы все еще можем назначать метки повышения для нашего набора данных. Уловка «преобразованный результат» получает эти ярлыки особым образом.

Преобразованный результат превращает нашу проблему классификации в проблему регрессии. Мы решаем эту проблему регрессии, минимизируя среднеквадратичную ошибку (RMSE). Ярлыки определяются по следующей формуле. Для случайного назначения лечения P (W == 1) == 0,5 это приводит к 2, -2 и 0.

Преобразованный результат в действии

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

Для убедительного человека необработанный получает метку 0, а прошедший лечение - метку 2. Точка с наименьшим среднеквадратичным отклонением для этих двух точек равна 1, что и является подъемом.

Для спящих собак необработанная собака получает метку -2, а обработанная - 0. Тогда наилучшим прогнозом будет -1, что действительно является повышением.

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

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

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

Это расширение также показывает, что группа лечения и контрольная группа должны быть одинакового размера. В противном случае точка минимизации RMSE отодвинется слишком далеко от реакции самой большой группы. Вероятность назначения лечения в формуле решает эту проблему. Мы решим эту проблему позже, объяснив, как преобразованный результат требует IPW.

Дисперсия преобразованного результата

Обратите внимание, что преобразованные метки результата не близки к значению, которое мы хотим, чтобы модель предсказывала. Возьмем, к примеру, клиентов из определенной области в пространстве функций, которые являются «верными случаями». Истинный подъем равен нулю, а метки -2 и 2! Таким образом, у модели появляется стимул обнаруживать случайные различия между выборками. Таким образом, преобразованные метки результатов создают модели с более высокой дисперсией. Также полезно знать, что оптимальные потери (RMSE) не равны нулю! Следует добавить больше смещения, чтобы компенсировать эту высокую дисперсию. Приемы зависят от типа модели.

На пути к обучению с подкреплением

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

Установка (многорукий) бандит названа в честь игровых автоматов одноруких бандитов в казино. Тогда остается сделать только одно действие. На многих игровых автоматах (много оружия) происходит множество действий. Задача состоит в том, чтобы найти стратегию действий, максимизирующую вознаграждение. При контекстном бандитском подходе вознаграждение игровых автоматов зависит от контекста.

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

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

Вторая проблема: предположим, что корреляция является причинно-следственной связью

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

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

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

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

Устранение предвзятости в лечении

Есть несколько подходов к устранению систематической ошибки лечения. В целом это:

  1. Случайные испытания
    При определенных причинах необработанный получает метку -2, а обработанный - метку 2. Результатом предсказания является 0, снова повышение. Мы могли собрать случайные данные, выбрав несколько случайных групп людей. Один для контроля и по одному для каждого лечения. Мы даем каждой из групп соответствующее действие, а затем можем подобрать модель. Но это дорого. Мы применяем лечение к людям, которые в этом не нуждаются. Выбрасываем все существующие исторические данные. И мы не сможем использовать обратную связь, которую получаем, когда наша модель работает. Мы возвращаемся от подхода обучения с подкреплением к классической установке машинного обучения.
  2. Изменение функций
    Другой подход - это преобразование функций особым образом. Полученные в результате функции по-прежнему предсказывают, кого мы оставим, но не тех, кто лечился в прошлом. Один из подходов - удалить элементы, которые лучше всего предсказывают политику лечения. Это объясняется в разговоре о PyData, доступном на YouTube.
    Немного более сложный подход - создать кодировку функций. Модель кодирования решает две задачи. Одна из целей - не предсказывать назначение лечения. Другая цель - по-прежнему прогнозировать эффекты лечения. Это объясняется в Обучающих представлениях для контрфактического вывода Фредрика Д. Йоханссона, Ури Шалита и Дэвида Зонтага, 2018.
    Оба подхода ограничивают предсказательную силу. Что еще более важно, мы можем подать заявку и то, и другое только один раз. Мы создадим модель, которая использует измененные функции для назначения лечения. Когда это запускается в производственной среде, это создает новую зависимость от функций к лечению. Наша цель - рассказать бизнесу, какое лечение делать, исходя из его характеристик.
  3. Причинный вывод
    Область причинного вывода сосредоточена на решении этих случаев. Это может быть немного сложнее для понимания, но оно нацелено на эту конкретную проблему.

Взвешивание обратной склонности

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

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

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

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

Третий способ интерпретации взвешивания обратной склонности - это плотность информации. Возьмем одну конкретную часть пространства функций. Часть, где у нас есть 100 образцов, получивших электронное письмо. Только 10 образцов получили звонок по телемаркетингу (TM). В этом случае мы хотим сделать больший акцент на вызовах 10 TM. Это редкие примеры, которые могут дать нам уникальную информацию. Мы подчеркиваем, что электронная почта против TM обратным соотношением склонностей 100/110 (электронная почта) против 10/110 (TM). У нас есть 100 образцов с весом 110/100, всего 110 и 10 образцов с весом 110/10, также всего 110. Таким образом, общий вес всех образцов электронной почты равен общему весу всех вызовов телемаркетинга.

Как заставить работать обратные веса склонности

Прежде чем мы сможем использовать предсказанные склонности таким образом, нам нужно охватить два аспекта.

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

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

  • Отсечение склонностей.
    Мы обрезаем значения прогнозируемых склонностей, например, в диапазоне от 0,05 до 0,95. Все значения ниже мы устанавливаем на 0,05. Чтобы сохранить ожидаемую сумму весов 1, нам также нужно изменить значения выше 0,95 на 0,95.
  • Обрезка набора данных.
    Мы удаляем все образцы со склонностями за пределами диапазона [0,05… 0,95]. Таким образом, мы устанавливаем их вес равным нулю.

Эти бесконечные веса встречаются в интересных регионах. Вероятность лечения была очень низкой (они случаются редко), но у нас еще были некоторые примеры. Обратите внимание на разницу между показателем склонности и наблюдаемой частотой. Склонность может составлять 0,1, а при достаточном количестве выборок ожидаемая частота может стать 5. Тем не менее, это может быть и 2,7.

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

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

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

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

Преобразованный результат требует взвешивания обратной зависимости

Есть вторая причина использовать взвешивание обратной склонности. Вспомните формулу трансформированного результата. В нем мы приняли P (W⩵1) ⩵0,5, что привело к нашим меткам -2, 0, 2. Таким образом, мы предположили, что существует равное количество обработанных и необработанных клиентов. Также предполагается, что выбранные пользователи происходят из одного и того же дистрибутива.

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

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

Итак, нам нужна склонность к местному лечению (местное значение p). Либо мы трансформируем метку, либо применяем взвешивание обратной склонности. Последнее приводит к равномерному распределению взвешенных назначений лечения. Для каждой части функционального пространства. Между тем, мы также балансируем общее количество взвешенных пролеченных лиц. Взвешивание обратной предрасположенности позволило решить нашу систематическую ошибку при назначении лечения. При этом мы также можем использовать P (W⩵1) 0,5 для всех образцов.

Проблема третья: следуйте прогнозам вашей модели

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

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

Уравновешивание разведки и эксплуатации

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

Выбор лечения для каждого клиента

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

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

Выбор клиентов для лечения

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

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

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

Альтернативный способ - нарушить некоторые результаты. Мы берем небольшой процент, например 5%, из нашего списка прогнозов. Затем мы заменяем их чистый результат значением, случайно полученным из всех наших прогнозов. Таким образом, распределение прогнозов остается прежним. И мы рандомизируем 5% наших процедур. Преимущество этого подхода в том, что любой выбор из топ-N будет иметь 5% случайных выборок. С первой версией нашей модели мы можем начать с более высокого процента, например 10%. Чем больше мы уверены в качестве прогноза, тем ниже мы можем снизить скорость разведки. Сохранение ненулевой скорости разведки обеспечит достойный диверсифицированный набор данных. Это позволяет нашей модели лучше переучиваться в будущем.

Моделирование подъема встречает причинно-следственный вывод в настройке начального обучения с подкреплением

Мы рассмотрели три основных метода предотвращения оттока клиентов. Мы создали систему обучения с подкреплением, которая будет постоянно учиться и улучшаться. Доступные исторические данные запустили его обучение. Ядро - это регрессионная модель, предсказывающая подъем. Для каждого лечения мы оценивали чистый бизнес-результат. В этом расчете учитывались прирост, пожизненная ценность клиента и затраты на лечение. Но предыдущая и существующая политика лечения создаст предвзятую модель. Таким образом, мы также создали модель склонности, предсказывающую назначение лечения (смещение). Решением стало взвешивание обратной склонности. Для определения веса выборки использовались значения склонности к лечению. Затем наша базовая модель регрессии с повышением эффективности обучена с использованием этих весов выборки. Таким образом, мы гарантируем отсутствие предвзятости в нашей регрессионной модели.

Чтобы продолжать улучшать нашу модель, нам необходимо иметь возможность переобучать ее, используя отзывы о применяемых методах лечения. Итак, мы сделали нашу модель регрессии подъема байесовской. Это позволило нам применить выборку Томпсона для предсказания вероятностных поднятий. Таким образом мы исследуем назначение лечения. Мы также исследовали клиентов, которых нужно лечить. Мы реализовали это, сначала выбрав небольшой процент клиентов. Затем мы присвоили им случайный результат лечения. У этого способа есть два преимущества. Независимо от количества клиентов, которых в конечном итоге обслуживает бизнес, мы всегда работаем с небольшой случайной группой. Кроме того, нам не нужно обновлять бизнес-процессы при изменении скорости разведки. Чем лучше наша модель, тем ниже мы уменьшаем скорость разведки. Обратите внимание, что случайная группа по-прежнему получает лучшее лечение. Затем это позволяет исследовать клиентов.

Собирая все это вместе, получаем следующую настройку:

Объединение школ мысли

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

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

Об авторе

Гербен Остра - наш ведущий инженер по машинному обучению в BigData Republic, консалтинговой компании в области науки о данных из Нидерландов. Мы нанимаем лучших из лучших в области науки о данных, инженерии данных и облачной инженерии. Если вы заинтересованы в использовании методов машинного обучения в практических случаях использования, не стесняйтесь обращаться к нам по адресу [email protected].

дальнейшее чтение

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

Этот пост в блоге является дополнением к моему выступлению на PyData Eindhoven в 2019 году. Слайды можно найти здесь, а записи - здесь, на Youtube.

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

Некоторые другие ресурсы:

В следующих статьях содержится дополнительная информация о взвешивании обратной склонности: