Руководство для практикующих с демонстрацией использования набора данных IBM Telco Churn

Введение

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

Логистическая регрессия против линейной регрессии для задач классификации

В первую очередь я продемонстрирую преимущества использования логистической регрессии по сравнению с линейной регрессией для задачи классификации на примере.

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

В синтетическом наборе данных, лежащем в основе приведенной ниже диаграммы, мы фиксируем поведение 30 держателей полисов, где 1 означает истечение срока действия, а 0 — в противном случае.

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

Логистическая регрессия принадлежит к семейству обобщенных линейных моделей («GLM»). Предполагая, что мы хотим смоделировать вероятность истечения срока для держателя полиса, обозначенного p, логистическая регрессия имеет функцию дисперсии в форме ниже, которая минимизируется, когда p принимает значение 0 или 1.

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

Логистическая регрессия против древовидных алгоритмов для задач классификации

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

Отношение логарифмических шансов

Прогнозные модели призваны выразить связь между независимыми функциями («X») и целевой переменной («Y). >»). В линейной регрессии отношение может быть выражено как:

В этом случае Y может обозначать цену объекта, а X₁ и X₂ может представлять размер собственности и количество спален в собственности соответственно, и в этом случае мы ожидаем положительное отношение между независимыми и зависимыми переменными в виде положительных коэффициентов для β₁ и β₂.

С другой стороны, логистическая регрессия направлена ​​на моделирование вероятности («p») события (например, истечения срока действия страхователя). В первую очередь это выражается заменой Yв уравнении (2) на логарифмическое отношение шансов, как показанов уравнении (3) ниже:

Математически преобразование уравнения (3) дает p, как показано в уравнениях (4) и (5) ниже:

Уравнения (3), (4) и (5) делают интерпретацию результатов модели логистической регрессии всеобъемлющей по следующим причинам:

  • Уравнения (3) и (4) выражают отношение шансов с использованием структуры, сохраняющей линейность.
  • Уравнение (5) сопоставляет функции с вероятностью в диапазоне от 0 до 1. Это позволяет пользователям модели назначать выходную вероятность p для каждой точки входных данных (например, вероятность истечения срока действия для каждого страхователя, от которого усилия по удержанию могут быть приоритетными).

Коэффициенты β

Имея отрезок β₀, можно легко установить базовый сценарий для сравнительного анализа. Например, в рамках логистической регрессии, если β₂ — расчетный коэффициент для категориальной переменной, которая была закодирована так, чтобы принимать значение 1 или 0 (например, для высокого или низкого уровня дохода), то уравнение (6) ниже можно использовать, чтобы показать, насколько вероятность выхода p отличается по этому конкретному признаку (т. е. между клиентами с высоким и низким уровнем дохода).

Из уравнения (6) следует, что влияние на вероятность пропуска p в зависимости от уровня дохода является константой, основанной на коэффициенте β₂. Когда коэффициент β₂ достаточно мал, изменение вероятности p может быть аппроксимировано непосредственно коэффициентом β₂ (как βe, когда β мало).

Более того, из уравнения (4) можно сделать вывод, что знаки коэффициентов β показывают направление, в котором соответствующие признаки влияют на выходную вероятность p.

Однако на практике не все установленные признаки обязательно являются значимыми. Как правило, объекты считаются статистически значимыми, если их коэффициент β имеет значение p меньше 0,05, что позволяет предположить, что эти β коэффициенты имеют относительно небольшую дисперсию.

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

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

Набор данных IBM

Набор данных, который я буду использовать для демонстрации объяснений модели в рамках логистической регрессии, — это широко известный набор данных IBM Telco Churn. Он содержит 20 независимых функций и 1 целевую переменную «Отток», которая указывает, прекратил ли клиент использование услуги телефонной компании. Первоначально он был предназначен для обучения модели классификации, которая предсказывает целевую переменную.

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

Примерка модели

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

## 1. Load Telco Churn data
data_raw <- read.csv('Directory/Telco-Customer-Churn.csv', header = TRUE)

## 2. 70/30 Train-Test Split
y = data_raw$Churn_Flag

set.seed(268)
sample_size <- floor(0.7 * nrow(data_raw))
sample_indi <- sample(seq_len(nrow(data_raw)), size = sample_size)
d_train <- data_raw[sample_indi,]
d_test <- data_raw[-sample_indi,]
y_train <- y[sample_indi]
y_test <- y[-sample_indi]

## 3. Logistic Regression Model Fitting
glm_1 <- glm(Churn_Flag ~
                  
  tenure
+ MonthlyCharges
+ relevel(factor(gender), ref = "Female")
+ relevel(factor(SeniorCitizen_Flag), ref = "Yes")
+ relevel(factor(PhoneService), ref = "No")
+ relevel(factor(InternetService), ref = "DSL")
+ relevel(factor(Contract), ref = "Month-to-month")
+ relevel(factor(PaperlessBilling), ref = "No")
+ relevel(factor(PaymentMethod), ref = "Bank transfer (automatic)")
#+ Partner
#+ Dependents
#+ MultipleLines
#+ OnlineSecurity 
#+ OnlineBackup 
#+ DeviceProtection
#+ TechSupport
#+ StreamingTV
#+ StreamingMovies
, data = d_train
, family = binomial("logit")
)

summary(glm_1)

На приведенном ниже снимке экрана показаны выходные данные модели glm_1, как показано выше. В частности:

  • В столбце Оценка хранится предполагаемый коэффициент β для каждой подобранной функции.
  • В столбце Pr(›|z|) хранится значение p (которое можно приблизительно рассматривать как вероятность принятия гипотезы о том, что признак незначителен) для каждого признака, большинство из которых ‹ 0,05.

Отдельно стоит отметить, что модель glm_1 достигает AUC 0,84 (что совсем неплохо, хотя производительность модели не имеет решающего значения, поскольку эта демонстрация предназначена для пояснений модели).

Непосредственно с расчетными коэффициентами β выше мы можем откалибровать вероятность оттока для базового профиля клиента. В частности, используя уравнение (5), вероятность оттока для базового профиля клиента, установленного в качестве эталонного уровня в коде, составляет 32% (т.е. почти 1 из 3!).

Это вычисляется путем произведения суммы столбцов Оценка и Значение характеристики, как показано в таблице ниже (что дает -0,7557), взятия экспоненты этого значения, а затем деление единицы плюс экспонента этого значения по уравнению (5).

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

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

Продвинув объяснение модели еще на один шаг вперед, снова используя уравнение (5), мы можем показать, как ступенчатое изменение конкретной функции влияет на отток по сравнению с вероятностью 32% для «среднего» клиента. В таблице ниже показано (аддитивное) изменение вероятности оттока по сравнению с базовым профилем клиента.

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

  • Значимые факторы оттока, указанные в таблице 4, с учетом механизма значения p естественным образом отфильтровывают несущественные факторы;
  • Вероятность оттока любого клиента в данных;
  • Изменение вероятности оттока по определенной функции по сравнению с предварительно определенным базовым профилем клиента.

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

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

  • Иметь оптоволоконную интернет-службу (может потребоваться выяснить, является ли это причиной или корреляцией)
  • Оплата электронным чеком
  • Платите высокие ежемесячные взносы
  • Имейте бумажный счет

Ограничения

Существуют некоторые известные ограничения применения логистической регрессии (или, в более общем смысле, GLM) на практике, в том числе:

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

Заключительные мысли

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

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

Источник данных

[1] Репозиторий IBM GitHub, Страница Telco Customer Churn GitHub, по состоянию на 7 января 2023 г., лицензия доступна по адресу https://github.com/IBM/telco-customer-churn-on-icp4d/blob/master/LICENSE)