Ранее вы можете загрузить данные и код R через следующую страницу GitHub здесь

Задний план

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

Инструмент, методы и этап анализа

Подходящим методом для этого случая является классификация. Классификация будет проводиться по статусу клиента, то есть «отток» или «не отток», другими словами, этот случай представляет собой бинарную классификацию. Методы, используемые в этом случае, включают логистическую регрессию, классификатор наивного Байеса, K-ближайшего соседа, дерево решений и случайный лес. Кроме того, если в данных есть дисбаланс, особенно в категории класса оттока, передискретизация будет выполняться с использованием метода SMOTE-N с расстоянием HVDM. K-кратная перекрестная проверка также выполняется для настройки параметров в нескольких методах. Используется кратность 5. Оценка модели с помощью обучения и тестирования. Количество тестовых данных составляет 30% от общего количества, а остальное — обучающие данные. Первым шагом является исследовательский анализ данных. Используя EDA, можно получить информацию о поведении клиентов на основе статуса «оттока». Далее идет предварительная обработка данных. На этом этапе выполняется вменение пропущенных значений, создание фиктивной переменной и выбор признаков. Затем обучите модель и оцените, чтобы сделать вывод.

Результат

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

Описание данных

  1. пол, мужской или женский, категориальная переменная.
  2. пенсионеры, категориальная переменная (0=нет, 1=да), есть ли пожилые люди в доме клиента.
  3. Партнер, категориальная переменная (да, нет), есть ли у клиента партнер или нет.
  4. Иждивенцы, категориальная переменная (да, нет), есть ли у клиента иждивенец или нет (ребенок и т. д.).
  5. срок действия, целое число (месяцы), как долго клиент подписался на продукт.
  6. телефонная служба, категориальная переменная (да, нет), пользуется ли клиент телефоном или нет.
  7. несколько линий, категориальная переменная (да, нет телефонной связи, нет), использует ли клиент линии телефона более 1 или нет.
  8. интернет-услуга, категориальная переменная (DSL, оптоволокно, нет), тип интернет-услуги, которую использовал клиент.
  9. онлайн-безопасность, категориальная переменная (да, нет интернет-услуги, нет), использует ли клиент онлайн-безопасность или нет.
  10. онлайн-резервное копирование, категориальная переменная (да, нет интернет-сервиса, нет), использует ли клиент онлайн-резервное копирование или нет.
  11. DeviceProtection, категориальная переменная (да, нет интернет-сервиса, нет), использует ли клиент защиту устройства или нет.
  12. TechSupport, категориальная переменная (да, нет интернет-сервиса, нет), пользуется ли клиент технической поддержкой или нет.
  13. StreamingTV, категориальная переменная (да, нет интернет-сервиса, нет), использует ли клиент потоковое телевидение или нет.
  14. потоковое кино, категориальная переменная (да, нет интернет-сервиса, нет), использует ли клиент потоковое кино или нет.
  15. Контракт, категориальная переменная (ежемесячно, один год, два года), тип подписки, которую использовал клиент.
  16. PaperlessBilling, категориальная переменная (да, нет), использует ли клиент безбумажный биллинг или нет.
  17. способ оплаты, категориальная переменная (банковский перевод, кредитная карта, электронная, по почте), тип оплаты, которую использовали клиенты.
  18. MonthlyCharges, числовое значение, плата за выставление счетов клиентам каждый месяц.
  19. общие расходы, числовые, общая сумма счетов клиентов каждый месяц.
  20. Отток, категория (да, нет), отписался клиент или нет.

Исследовательский анализ данных

1-sample proportions test with continuity correction
data:  sum(as.numeric(data$Churn) - 1) out of nrow(data), null probability 0.5
X-squared = 1550, df = 1, p-value < 2.2e-16
alternative hypothesis: true p is not equal to 0.5
95 percent confidence interval:
0.2551180 0.2758793
sample estimates:
   p
0.2653699

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

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

Предварительная обработка

Эта обработка включает разделение данных на обучение и тестирование с долей 70% для обучения, вменение пропущенного значения в данные обучения и тестирования (если пропущенные значения доступны как в данных обучения, так и в данных тестирования), а также выбор признаков с использованием обратного исключения и настройка параметров для KNN, дерево решений и случайный лес (с использованием 5-кратной перекрестной проверки).

1. SeniorCitizen
2. Dependents
3. tenure      
4. MultipleLines
5. InternetService
6. OnlineSecurity
7. OnlineBackup
8. TechSupport      
9. StreamingTV      
10. Contract        
11. PaperlessBilling
12. PaymentMethod
13. TotalCharges

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

Настройка параметров с 5-кратной перекрестной проверкой

+-----------------+----------------+
| Method          | Best parameter |
+-----------------+----------------+
| Random Forest   | ntree=2000     |
| KNN             | k=41           |
| Tree classifier | cp=0.002827037 |
+-----------------+----------------+

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

Оценка модели 1

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

Разработка функций и передискретизация

В этом случае применяемая инженерия признаков заключается в преобразовании срока владения в 6 бинов, а затем преобразовании числового значения в категориальное значение на основе большего или меньшего медианного значения. И удаление категории «нет интернета» в категорию «нет». Таким образом, после применения функции проектирования была применена передискретизация SMOTE-N, и результат был показан на рисунке выше. Следующим шагом является повторный выбор функции и перенастройка параметра для случайного леса, knn и дерева решений.

Повторный выбор функций

1. gender
2. partner
3. dependents
4. phone service
5. multiple lines
6. internet service
7. online security
8. device protection
9. tech support
10. streaming tv
11. streaming movies
12. contract
13. paperless billing
14. payment method
15. monthly charges
16. total charges
17. tenure_bin

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

Перенастройте параметры

+-----------------+----------------+
| Method          | Best parameter |
+-----------------+----------------+
| Random Forest   | ntree=500      |
| KNN             | k=31           |
| Tree classifier | cp=0.001108647 |
+-----------------+----------------+

Параметр изменяется до и после применения передискретизации. Единственный параметр, который можно настроить, это ntree, k и cp из-за высокой вычислительной производительности. После повторной настройки параметра начинается оценка модели. Вот результат оценки модели после разработки признаков и передискретизации.

Оценка модели 2

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

Вывод

На основе разведочного анализа данных:

  1. Клиенты без защиты устройства, как правило, уходят.
  2. Клиент, у которого в доме пожилой человек, склонен к оттоку
  3. клиент, не имеющий доступа к Интернету, имеет тенденцию оттока
  4. клиенты без потокового телевидения, как правило, уходят
  5. клиент, у которого нет партнера, склонен уходить
  6. клиенты, у которых нет иждивенцев, склонны уходить
  7. клиент с ежемесячным контрактом, как правило, уходит
  8. клиенты с безбумажным выставлением счетов имеют тенденцию к оттоку
  9. клиенты, использовавшие электронные чеки, склонны уходить
  10. клиенты с оптоволоконным подключением имеют тенденцию оттока
  11. клиент без онлайн-безопасности, как правило, уходит
  12. чем выше ежемесячная плата, тем выше склонность клиентов к оттоку

И избыточная выборка может справиться с прогнозированием данных о дисбалансе, 1 из 5 моделей не годится (KNN), потому что точность ниже, чем у модели без информационных навыков.