Разработка методики применения методов машинного обучения для решения маркетинговых задач в телекоммуникационном бизнесе

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

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 27.08.2018
Размер файла 3,7 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ АВТОНОМНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ

ВЫСШЕГО ОБРАЗОВАНИЯ

«НАЦИОНАЛЬНЫЙ ИССЛЕДОВАТЕЛЬСКИЙ УНИВЕРСИТЕТ

«ВЫСШАЯ ШКОЛА ЭКОНОМИКИ»

Факультет Бизнеса и Менеджмента

МАГИСТЕРСКАЯ ДИССЕРТАЦИЯ

по направлению подготовки Бизнес-информатика образовательная программа «Бизнес-информатика»

РАЗРАБОТКА МЕТОДИКИ ПРИМЕНЕНИЯ МЕТОДОВ МАШИННОГО ОБУЧЕНИЯ ДЛЯ РЕШЕНИЯ МАРКЕТИНГОВЫХ ЗАДАЧ В ТЕЛЕКОММУНИКАЦИОННОМ БИЗНЕСЕ

Гайчук Артем Сергеевич

Научный руководитель

доцент кафедры бизнес-аналитики, к.т.н.

А.А. Дружаев

Москва, 2018

Оглавление

Введение

1. Обзор алгоритмов анализа данных и инструментов для их реализации

1.1 Теоретическая база предиктивного анализа

1.2 Обзор алгоритмов для решения задачи бинарной классификации

1.2.1 Бустинг

1.2.2 Машина опорных векторов

1.2.3 Решающее дерево

1.2.4 Логистическая регрессия

1.2.5 Случайный лес

1.3 Обзор инструментов реализации алгоритма градиентного бустинга

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

1.3.2 Коэффициенты и оценки

1.3.3 Решение задачи порядковыми методами

2. Подготовка данных для создания предиктивной модели

2.1 Описание базы данных

2.2 Формирование производных показателей

2.3 Определение наиболее значимых предикторов

3. Построение предиктивной модели

3.1 Описание используемого алгоритма

3.2 Разработка предиктивной модели

Заключение

Список использованных источников

Приложения

П1 Листинг кода по отбору предикторов

П2 Листинг кода модели

Введение

Вопрос прогнозирования будущих событий, связанных с бизнесом, является актуальным во многих сферах, в которых задействовано большое количество конкурирующих между собой сильных игроков, так как подобная осведомленность позволяет заранее предпринять более грамотные стратегические шаги, что дает серьезное конкурентное преимущество. К таким отраслям можно отнести Retail, FMCG (Fast Moving Consumer Goods - товары быстрого потребления [1, с. 10]), разработчиков программного обеспечения и других.

Телекоммуникационная отрасль также относится к сфере с большим количеством крупнейших компаний, предоставляющих широкий спектр услуг в секторе B2C B2C (business-to-consumer) - термин, обозначающий коммерческие отношения между организацией (business) и физическим лицом (consumer). URL: https://ru.wikipedia.org/wiki/B2C (для физических лиц). Стоит отметить, что подавляющая доля рынка основных телеком-услуг (фиксированная телефония, фиксированный ШПД - широкополосный доступ Интернет [2, с. 15], мобильная связь) уже распределена между основными игроками [3], что делает более приоритетной задачу сохранения текущих абонентов, а не привлечения новых с целью повышения доходности. По этой причине появилась необходимость в определении наиболее склонных к оттоку абонентов телекоммуникационных операторов для последующего сохранения данных клиентов за счет акций, бонусов и скидок.

Исходя из указанных выше предпосылок первое решение было следующим: осуществлять звонки случайным образом по всей абонентской базе для проведения «How are you»-опроса (осведомление об удовлетворенности качеством услуг и обслуживанием компании). По результатам проведения подобных кампаний был сделан вывод, что их эффективность довольно низка, так как попадание в склонных к оттоку абонентов было мало, уровень оттока оставался на прежнем уровне, а затраты на один звонок были велики, в связи с чем было принято решение о предварительном определении наиболее склонных к оттоку абонентов, с которыми осуществлялась работа по удержанию специалистами контакт-центра. Так как в тот момент (начало 2000-ых) технологии машинного обучения были не на самом высоком уровне и не в широком доступе, а специалистов по глубинному анализу данных почти не существовало, было принято решение о построении триггерных моделей внутренними силами наиболее опытных специалистов, которые знали причины недовольства услугами. Качество таких моделей было удовлетворительным, поэтому вопрос о переходе к предиктивному подходу отложился почти на 10 лет. В итоге, когда машинное обучение стало общедоступным и появилось большое количество специалистов по анализу данных, компании стали разрабатывать для своих целей предиктивные модели для прогноза склонных к оттоку абонентов [4, с. 24 - 47].

Помимо вопроса о сохранении абонентов телекоммуникационные операторы сталкиваются с проблемой повышения доходности путем осуществления продаж дополнительных услуг, для решения которой требуется определить абонентов, наиболее склонных к приобретению дополнительных сервисов, для чего также прибегают к построению предиктивных моделей [5]. Данная проблема особенно актуальна ввиду того, что в рамках маркетинговой активности компаний постоянно появляются новые продукты (дополнительные пакеты каналов для телевидения, дополнительные услуги Интернет и пр.). Также в связи с высоким уровнем конкуренции на рынке телекоммуникационных услуг продажа дополнительных продуктов по наиболее выгодным условиям для заинтересованных абонентов может послужить причиной перехода клиента от одного оператора к другому.

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

Предметом исследования является процесс прогнозирования склонности абонентов к приобретению дополнительных услуг (по сервисам Интернет и телевидение) телекоммуникационного оператора.

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

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

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

3. Сгенерировать предикторы на основе исходных данных обо всех аспектах активности абонента в рамках пользования услуг телекоммуникационной компании.

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

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

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

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

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

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

1. Обзор алгоритмов анализа данных и инструментов для их реализации

1.1 Теоретическая база предиктивного анализа

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

Таблица 1

Кейсы применения методов машинного обучения

Отрасль

Название компании

Задачи, решаемые методами машинного обучения

Телекоммуникации

Мегафон

Борьба с оттоком, Lift ARPU Lift ARPU - повышение показателя ARPU (средняя выручка на одного пользователя. URL: https://ru.wikipedia.org/wiki/ARPU, Cross sale Cross sale - повышение цены продажи за счет предложения дополнительных услуг к основному продукту. URL: https://mariyaleontieva.com/post/marketing-i-prodazi/up-sell-cross-sell-down-sell-chto-ieto-takoe/ [7]

Retail

X5 Retail Group

Прогнозирование розничного товарооборота (РТО) РТО - продажа товаров торговыми организациями физическим или юридическим лицам (в розницу) за наличный расчет. URL: www.grandars.ru/college/ekonomika-firmy/roznichnyy-tovarooborot.html по сети, фронтальной (фронт) маржи Фронт маржа - разница между продажами и себестоимостью товара в рублях. URL: http://insoret.ru/finance/fmbm/, установка плана магазина на месяц [8]

FMCG

PepsiCo

Прогнозирование sell in Sell in (первичные продажи) - продажа товара от производителя ритейлеру. URL: http://www.forecast-ing.ru/sell-in%20forecast.html и sell out Sell out (вторичные продажи) - продажа товара от ритейлера потребителю. URL: http://www.forecast-ing.ru/sell-in%20forecast.html [9]

Банковский сектор

Tinkoff Bank

Снижение уровня невозврата кредитов, борьба с оттоком [10]

Здравоохранение

Hitachi Consulting, Vital Connect

Lift ARPU, снижение уровня заболеваний, уменьшение случаев летального исхода от болезней [11]

Сельское хозяйство

FarmLogs

Оптимизация посевов, сбора урожая и пр. [12]

Тяжелая промышленность

Северсталь

Прогнозирование выхода оборудования из строя (predictive maintenance) [13]

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

Но перед проведением обзора алгоритмов необходимо разобрать теоретическую сторону вопроса.

Поставленная в рамках исследования цель требует применения алгоритмов обучения с учителем - подхода, при котором сначала происходит обучение алгоритма на исторических данных, после чего настроенная модель применяется к актуальным данным для прогнозирования определенных событий из будущего [14, с. 57-58]. Такие модели сводятся к решению одну из двух задач:

· задачи регрессии;

· задачи классификации [15, с. 31-34].

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

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

· множественная классификация - множество классов представлено тремя или более вариантами;

· бинарная классификация - множество классов определено двумя событиями: принадлежность или не принадлежность к определенной группе или классу (в качестве результата модели имеем 0 или 1) [16, с. 88-90].

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

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

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

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

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

· точность модели (precision);

· полнота модели (recall);

· доля правильных ответов (accuracy);

· ROC AUC [17, с. 73-86].

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

Таблица 2

Матрица ошибок при решении задач бинарной классификации Николай Палкин - «Логистическая регрессия и ROC-анализ - математический аппарат», 2006

https://basegroup.ru/community/articles/logistic

Фактически

Модель

Положительно

Отрицательно

Положительно

TP

FP

Отрицательно

FN

TN

В представленной таблице введены следующие обозначения:

· TP (True Positives) - положительные случаи, классифицированные верно (истинно-положительные).

· TN (True Negatives) - отрицательные случаи, классифицированные верно (истинно-отрицательные).

· FN (False Negatives) - положительные случаи, классифицированные отрицательными (ошибка I рода, ложноотрицательные).

· FP (False Positives) - отрицательные случаи, классифицированные положительными (ошибка II рода, ложноположительные исходы) [18, с. 120-121].

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

Точность модели (precision) - отношение количества положительных исходов, классифицированных верно, ко всему количеству положительно классифицированных событий:

Полнота модели (recall, данный показатель также называют sensitivity (чувствительность) и True Positive Rate (TPR)) - отношение количества положительных исходов, классифицированных верно, ко всему количеству фактически положительных событий:

Доля правильных ответов (accuracy) - отношение количества всех исходов, классифицированных верно, ко всем существующим событиям:

Для разбора метрики ROC AUC введем еще одно понятие - False Positive Rate (FPR) - показатель, равный отношению ложноположительных исходов ко всем фактически отрицательным исходам:

ROC AUC (Area under the ROC-curve) - площадь под ROC-кривой - показатель, который характеризует значения метрик TPR и FPR в зависимости от выбранного вероятностного порога t. Рассчитывается как площадь под ROC-кривой [21].

ROC-curve (Receiver Operating Characteristic, рабочая характеристика приёмников) - график, позволяющий определить качество модели, решающей задачу бинарной классификации [21].

Построение ROC-кривой при решении задачи бинарной классификации происходит следующим образом: при построении модели алгоритм выдаёт некоторую оценочную вероятность принадлежности объекта к классу 1.

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

Таблица 3

Исходные данные и оценка алгоритма

Id записи

Класс (факт)

Оценка алгоритма

1

0

0.5

2

0

0.1

3

0

0.25

4

1

0.6

5

1

0.2

6

1

0.3

7

0

0.0

Таблица 4

Исходные данные и оценка алгоритма

Id записи

Класс (факт)

Оценка алгоритма

4

1

0.6

1

0

0.5

6

1

0.3

3

0

0.25

5

1

0.2

2

0

0.1

7

0

0.0

Для построения ROC-кривой необходимо взять единичный квадрат на координатной плоскости (Рисунок 1), поделить его на j равных частей горизонтальными линиями и на i - вертикальными, где j - количество единиц среди фактических меток класса (в нашем случае j = 3), i - число нулей (i = 4). В результате квадрат разбивается сеткой на j Ч i блоков.

После выполненных действий можно переходить к построению. Для этого необходимо пройти по строкам Таблицы 2 сверху вниз и прорисовывать на сетке отрезки, переходя от одного узла к другому. Построение начинается из точки (0, 0). Если значение метки класса в просматриваемой строке равно одному, то делается шаг наверх; если ноль - вправо. В конечном итоге график придет в точку (1, 1), так как будет произведено j шагов вверх и i шагов вправо.

Рисунок 1 Пример построения ROC-кривой

Детальное описание данной ROC-кривой представлено в Таблице 5:

Таблица 5

Детальное описание построения ROC-кривой

Id записи

Класс (факт)

Оценка алгоритма

TPR

FPR

Комментарий

Шаг 0

0

0

t > 0.6, определены положительными: 0

4

1

0.6

1/3

0

0.5 < t ? 0.6, определены положительными: 1

1

0

0.5

1/3

0.25

0.3 < t ? 0.5, определены положительными: 2

6

1

0.3

2/3

0.25

0.25 < t ? 0.3, определены положительными: 3

3

0

0.25

2/3

0.5

0.2 < t ? 0.25, определены положительными: 4

5

1

0.2

1

0.5

0.1 < t ? 0.2, определены положительными: 5

2

0

0.1

1

0.75

0.0 < t ? 0.1, определены положительными: 6

7

0

0.0

1

1

t = 0.0, определены положительными: 7

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

1.2 Обзор алгоритмов для решения задачи бинарной классификации

Существует огромное множество алгоритмов, методов и их разновидностей для решения задач бинарной классификации:

· Алгоритмическая композиция:

o бустинг (вариативные методы, в основе которых лежат различные базовые алгоритмы);

o бэггинг;

o и др.

· Байесовский классификатор:

o линейный дискриминант Фишера;

o метод ближайших соседей;

o наивный байесовский классификатор;

o и др.

· Индукция правил:

o решающее дерево;

o решающий лес;

o и др.

· Линейный разделитель:

o логистическая регрессия;

o машина опорных векторов (support vector machine, SVM);

o и др.

· Нейронная сеть:

o гибридная сеть встречного распространения;

o персептрон;

o и др.

· Сокращение размерности:

o метод главных компонент;

o метод независимых компонент;

o и др. [22, с. 45-94].

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

1.2.1 Бустинг

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

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

Сильными сторонами данного метода являются простота, гибкость и широкая функциональность.

Из слабых сторон можно выделить частые случаи переобучения моделей при некорректной настройке алгоритма [23, с. 142-153].

1.2.2 Машина опорных векторов

Машина опорных векторов (support vector machine, SVM) - алгоритм машинного обучения, относящийся к бинарным классификаторам.

Принцип работы метода опишем с помощью примера. Даны точки на плоскости (обучающая выборка), разбитые на два класса (А и В) (Рисунок 2). Красная линия, проведенная на плоскости, разделяет эти классы. Новые точки, не принадлежащие обучающей выборке, будут разделяться на классы в соответствии со следующим алгоритмом:

· Точка выше прямой попадает в класс А;

· Точка ниже прямой попадает в класс В.

Рисунок 2 Демонстрация работы машины опорных векторов

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

В описанном примере существует несколько прямых, разделяющих классы (Рисунок 3):

Рисунок 3 Альтернативные разделяющие прямые

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

Вектора, лежащие ближе всех к разделяющей гиперплоскости, называются опорными векторами (support vectors). На Рисунке 3 они помечены красными кругами.

К преимуществам метода относятся следующие факторы:

· SVM является наиболее быстрым методом нахождения решающих функций.

· Метод сводится к решению задачи квадратичного программирования, которая всегда имеет одно решение.

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

Среди недостатков выделяют следующие факторы:

· Метод чувствителен к шумам и стандартизации данных.

· Не существует общего подхода к автоматическому выбору ядра и построению спрямляющего пространства в случае линейной неразделимости классов [24, с. 82-85].

1.2.3 Решающее дерево

Деревья решений - один из методов автоматизированного анализа данных, который позволяет интерпретировать данные в иерархической структуре, где каждому объекту соответствует один узел, дающий единственный ответ. Решающие деревья строятся по определенным правилам формата «если … то …».

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

Из слабых сторон выделяют трудность восприятия, сложность настройки моделей, базирующихся на данном методе [25].

1.2.4 Логистическая регрессия

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

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

Среди слабых сторон выделяют проблему переобучения, а также возможность некорректного нахождения локальных минимумов с целью оптимизации (последнее утверждение верно при использовании в алгоритме метода стохастического градиентного спуска) [26, с. 120-122].

1.2.5 Случайный лес

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

Случайный лес (random forest, RF) -- это множество решающих деревьев. В задаче регрессии их ответы усредняются, в задаче классификации принимается решение «голосованием» по большинству. Все деревья строятся независимо.

Преимуществами алгоритма являются:

· Эффективная работа с большим числом предикторов.

· Отсутствие чувствительности к любым монотонным преобразованиям значений признаков.

· Универсальность.

Среди недостатков выделяют большой размер получающихся моделей, увеличенное время обучения, а также тот факт, что метод считает более важными категориальные признаки с большим числом уникальных значений [27, с. 151-157].

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

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

1.3 Обзор инструментов реализации алгоритма градиентного бустинга

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

· IBM SPSS Statistics;

· IBM SPSS Modeler;

· Loginom (бывш. Deductor Studio);

· Statistica;

· SAS Enterprise Intelligence Platform;

· Stata;

· KXEN Analytic Framework;

· Microsoft Excel [28].

Указанные продукты содержат готовые алгоритмы для разработки прогностических моделей.

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

· Python;

· R [29].

Из перечня указанных инструментов некоторые не подходят из-за отсутствия в сборке алгоритма градиентного бустинга (например, MS Excel), другие - из-за большей направленности на работу со статистикой (такие как IBM SPSS Statistics). Из списка подходящих инструментов (IBM SPSS Modeler, Loginom, Statistica, Python, R) необходимо выбрать наиболее релевантный для решения поставленной задачи. Для этого воспользуемся экспертной системой поддержки принятия решений [30].

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

Альтернативы

В задаче заявлены следующие альтернативы:

· R - язык программирования для статистической обработки данных и работы с графикой, а также свободная программная среда вычислений с открытым исходным кодом [31, с. 15];

· Python - высокоуровневый язык программирования общего назначения, ориентированный на повышение производительности разработчика и читаемости кода. Стандартные библиотеки включают большой объём полезных функций [32, с. 19];

· IBM SPSS Modeler - платформа прогнозной аналитики, которая помогает быстро разрабатывать высокоточные модели прогнозирования и применять прогнозную аналитику на уровне отдельных пользователей, групп, систем и предприятия [33, с. 14];

· Loginom (Deductor Studio) - аналитическая платформа от разработчика BaseGroup Labs [34, с. 10];

· Statistica - платформа с широким набором основных статистик и графических инструментов [35, с. 12].

Список исходных альтернатив представлен на Рисунке 4:

Рисунок 4 Список исходных альтернатив

Признаки

Используемые признаки сравнения:

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

2. Стоимость эксплуатации (средняя стоимость подписки или единоразовой лицензии для использования программного обеспечения);

3. Простота использования (возможность использования программного обеспечения специалистами разных уровней, грейдов и специальностей);

4. Быстродействие (время отклика на запрос и реализации алгоритмов разной сложности);

5. Уровень интеграции (возможность взаимодействия (импорта/экспорта) с различными ресурсами и источниками данных).

Список признаков представлен на Рисунке 5:

Рисунок 5 Список исходных признаков

Ситуации

В Таблице 1 представлена совокупность ситуаций на основе группы условий. Из списка приведенных ситуаций были исключены наименее вероятные события.

Таблица 6

Состав ситуаций

ситуации

Условия

Заказчик урезал сроки

Часть технических ресурсов выделили под другие задачи

Заказчик урезал бюджет

Возникла необходимость передачи экспертизы сотрудникам из другого подразделения

1

нет

нет

нет

нет

2

да

нет

нет

нет

3

нет

да

нет

нет

4

да

да

нет

нет

5

нет

нет

да

нет

6

да

нет

да

нет

7

нет

да

да

нет

8

да

да

да

нет

9

нет

нет

нет

да

10

да

нет

нет

да

11

нет

да

нет

да

12

да

да

нет

да

13

нет

нет

да

да

14

да

нет

да

да

15

нет

да

да

да

16

да

да

да

да

В Таблице 7 приведен список принятых для данной задачи ситуаций.

Таблица 7

Выбранные варианты (совокупности ситуаций)

ситуации (по таб. 2)

Наименование ситуации

Описание ситуации

1

Ситуация №1: «Стандартная ситуация»

Заказчик урезал сроки

Часть технических ресурсов выделили под другие задачи

Заказчик урезал бюджет

Возникла необходимость передачи экспертизы сотрудникам из другого подразделения

2

Ситуация №2: «Заказчик урезал сроки»

Заказчик урезал сроки

Часть технических ресурсов выделили под другие задачи

Заказчик урезал бюджет

Возникла необходимость передачи экспертизы сотрудникам из другого подразделения

5

Ситуация №5: «Заказчик урезал бюджет»

Заказчик урезал сроки

Часть технических ресурсов выделили под другие задачи

Заказчик урезал бюджет

Возникла необходимость передачи экспертизы сотрудникам из другого подразделения

6

Ситуация №6: «Заказчик урезал сроки и бюджет»

Заказчик урезал сроки

Часть технических ресурсов выделили под другие задачи

Заказчик урезал бюджет

Возникла необходимость передачи экспертизы сотрудникам из другого подразделения

9

Ситуация №9: «Возникла необходимость передачи экспертизы специалистам из другого подразделения»

Заказчик урезал сроки

Часть технических ресурсов выделили под другие задачи

Заказчик урезал бюджет

Возникла необходимость передачи экспертизы сотрудникам из другого подразделения

Эксперты

Список Экспертов представлен на Рисунке 6:

Рисунок 6 Эксперты

1.3.2 Коэффициенты и оценки

Коэффициенты компетентности экспертов

Коэффициенты компетентности экспертов представлены на Рисунке 7:

Рисунок 7 Коэффициенты компетентности экспертов

Вероятности появления проблемных ситуаций

Вероятности возникновения проблемных ситуаций представлены на Рисунке 8:

Рисунок 8 Вероятности появления проблемных ситуаций

Коэффициенты относительной значимости признаков

Коэффициенты относительной значимости признаков представлены на Рисунке 9:

Рисунок 9 Коэффициенты относительной значимости признаков

Экспертные оценки

На Рисунках 10 - 19 представлены экспертные оценки:

Рисунок 10 Экспертные оценки

Рисунок 11 Экспертные оценки

Рисунок 12 Экспертные оценки

Рисунок 13 Экспертные оценки

Рисунок 14 Экспертные оценки

Рисунок 15 Экспертные оценки

Рисунок 16 Экспертные оценки

Рисунок 17 Экспертные оценки

Рисунок 18 Экспертные оценки

Рисунок 19 Экспертные оценки

1.3.3 Решение задачи порядковыми методами

Метод PURr

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

Решение представлено на Рисунке 20:

Рисунок 20 Решение методом PURr

Метод PRTr

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

Решение представлено на Рисунке 21:

Рисунок 21 Решение методом PRTr

Это говорит о том, что ни одну из альтернатив нельзя отбросить.

Метод PURrWALDPOR

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

Решение представлено на Рисунке 22:

Рисунок 22 Решение методом PURrWALDPOR

Метод PURrOPTIMPOR

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

Решение представлено на Рисунке 23:

Рисунок 23 Решение методом PURrOPTIMPOR

Метод PURrHURWPOR

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

Коэффициент оптимизма-пессимизма Гурвица представлен на Рисунке 24, а решение - на Рисунке 25:

Рисунок 24 Коэффициент оптимизма-пессимизма Гурвица

Рисунок 25 Решение методом PURrHURWPOR

Метод PURrBRAUN

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

Точность итерационного процесса представлена на Рисунке 26, а решение - на Рисунке 27:

Рисунок 26 Точность итерационного процесса

Рисунок 27 Решение методом PURrBRAUN

Метод PURrSAVAGE

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

Решение представлено на Рисунке 28:

Рисунок 28 Решение методом PURrSAVAGE

Метод PURrLAPLPOR

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

Решение представлено на Рисунке 29:

Рисунок 29 Решение методом PURrLAPLPOR

Метод PURrBAJPOR

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

Решение представлено на Рисунке 30:

Рисунок 30 Решение методом PURrBAJPOR

Метод PURrBAJPRIOR

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

Ранги проблемных ситуаций представлены на Рисунке 31, а решение - на Рисунке 32:

Рисунок 31 Ранги проблемных ситуаций

Рисунок 32 Решение методом PURrBAJPRIOR

Метод PURrBAJES

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

Список событий представлен на Рисунке 33, вероятности их появления - на Рисунке 34, а результат решения - на Рисунке 35:

Рисунок 33 Список событий

Рисунок 34 Вероятности появления событий

Рисунок 35 Решение методом PURrBAJES

Метод PURrPRTr

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

Результат решения представлен на Рисунке 36:

Рисунок 36 Решение методом PURrPRTr

Метод PRTrPURr

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

Результат решения представлен на Рисунке 37:

Рисунок 37 Решение методом PRTrPURr

При решении данной задачи всеми указанными методами, кроме методов PURrOPTIMPOR и PURrSAVAGE, было получено следующее решение (в порядке убывания предпочтительности альтернатив):

1. Python;

2. R;

3. IBM SPSS Modeler;

4. Loginom (Deductor Studio);

5. Statistica.

При этом были получены различные значения функции полезности, что объясняется разными методами ее подсчета. При решении методами PURrOPTIMPOR и PURrSAVAGE поменяны местами Python (1 -> 2) и R (2 -> 1), остальные альтернативы расположены в том же порядке.

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

Выводы

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

2. Подготовка данных для предикативной модели

2.1 Описание базы данных

В качестве инструмента для работы с базой данных была выбрана утилита Toad for Oracle 11.0 [36, с. 18].

Для моделирования используется информация из 4 исходных витрин данных:

· MA_CLIENT_DATA_MART - витрина данных, в которой хранится информация о биллинге Абонента (платежи, начисления, корректировки и пр.), а также личная информация абонента (пол, возраст, статус премиального Клиента и пр.).

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

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

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

Каждая витрина содержит следующие поля:

1) Витрина MA_CLIENT_DATA_MART содержит 239 атрибутов:

· AAC_AMEDIAPREMIUMHD (Группа ИКТВ. Пакет Амедиа) - Телеком TV. Рекламная акция при подключении;

· AAC_BAZOVYYHD (Группа ИКТВ. Пакет Базовый) - Телеком TV. Рекламная акция при подключении;

· AAC_BESSONNITSA (Группа ИКТВ. Пакет Бессонница) - Телеком TV. Рекламная акция при подключении;

· AAC_DOZHD (Группа ИКТВ. Пакет Дождь) - Телеком TV. Рекламная акция при подключении;

· AAC_GEYMER (Группа ИКТВ. Пакет Геймер) - Телеком TV. Рекламная акция при подключении;

· AAC_KHLHD (Группа ИКТВ. Пакет КХЛ) - Телеком TV. Рекламная акция при подключении;

· AAC_KINOIMUZYKAHD (Группа ИКТВ. Пакет Кино и музыка) - Телеком TV. Рекламная акция при подключении;

· AAC_MATCHFUTBOL (Группа ИКТВ. Пакет Матч! Футбол) - Телеком TV. Рекламная акция при подключении;

· AAC_MATCHSPORT (Группа ИКТВ. Пакет Матч! Спорт) - Телеком TV. Рекламная акция при подключении;

· AAC_MEZHDUNARODNYY (Группа ИКТВ. Кубик Международный) - Телеком TV. Рекламная акция при подключении;

· AAC_MUZYKA1 (Группа ИКТВ. Кубик Музыка) - Телеком TV. Рекламная акция при подключении;

· AAC_NASHFUTBOL (Группа ИКТВ. Пакет Наш футбол) - Телеком TV. Рекламная акция при подключении;

· AAC_NASTOYASCHIYMUZHSKOY (Группа ИКТВ. Пакет Настоящий мужской) - Телеком TV. Рекламная акция при подключении;

· AAC_NASTROYKINO (Группа ИКТВ. Пакет Настрой кино!) - Телеком TV. Рекламная акция при подключении;

· AAC_NATSIONALNYY (Группа ИКТВ. Пакет Национальный) - Телеком TV. Рекламная акция при подключении;

· AAC_OKRUZHAYUSCHIYMIR (Группа ИКТВ. Кубик Окружающий мир) - Телеком TV. Рекламная акция при подключении;

· AAC_POZNANIE (Группа ИКТВ. Кубик Познание) - Телеком TV. Рекламная акция при подключении;

· AAC_PUTESHESTVIYA (Группа ИКТВ. Кубик Путешествия) - Телеком TV. Рекламная акция при подключении;

· AAC_RAZVLECHENIYA1 (Группа ИКТВ. Кубик Развлечения) - Телеком TV. Рекламная акция при подключении;

· AAC_RUSSKOEKINO (Группа ИКТВ. Пакет Русское кино) - Телеком TV. Рекламная акция при подключении;

· AAC_SPORT1 (Группа ИКТВ. Кубик Спорт) - Телеком TV. Рекламная акция при подключении;

· AAC_SPORTIUVLECHENIYAHD (Группа ИКТВ. Пакет Спорт и увлечения) - Телеком TV. Рекламная акция при подключении;

· AAC_TSIFROVOYHDNEW (Группа ИКТВ. Пакет Цифровой) - Телеком TV. Рекламная акция при подключении;

· AAC_UDIVITELNAYAPLANETA (Группа ИКТВ. Пакет Удивительная планета) - Телеком TV. Рекламная акция при подключении;

· AAC_UMKA (Группа ИКТВ. Пакет Умка) - Телеком TV. Рекламная акция при подключении;

· AAC_UVLECHENIYA1 (Группа ИКТВ. Кубик Увлечения) - Телеком TV. Рекламная акция при подключении;

· AAC_VIASATPREMIUMHD (Группа ИКТВ. Пакет Виасат) - Телеком TV. Рекламная акция при подключении;

· AC_CLEAR_DEACT_IKTV (Группа Деактивация) - Телеком TV. Чистая деактивация;

· AC_CLEAR_DEACT_INET (Группа Деактивация) - Интернет. Чистая деактивация;

· AC_CLEAR_DEACT_KTV (Группа Деактивация) - КТВ. Чистая деактивация;

· AC_CLEAR_DEACT_TEL (Группа Деактивация) - Телефония. Чистая деактивация;

· AC_COMPL_ACT (Группа Активность (услуги и договоры)) - Полная активность Клиента;

· AC_COMPL_DEACT (Группа Деактивация) - Факт деактивации Клиента;

· AC_COUNT_DAY_ACT_IKTV_MONTH (Группа Активность (услуги и договоры)) - ЦКТВ. Кол-во дней активности услуги (в текущем месяце);

· AC_COUNT_DAY_ACT_IKTV_REACT (Группа Активность (услуги и договоры)) - ЦКТВ. Кол-во дней активности услуги (с даты реактивации);

· AC_COUNT_DAY_ACT_IKTV_TOTAL (Группа Активность (услуги и договоры)) - ЦКТВ. Кол-во дней активности услуги (за всю историю);

· AC_COUNT_DAY_ACT_INTER_MONTH (Группа Активность (услуги и договоры)) - Интернет. Кол-во дней активности услуги (в текущем месяце);

· AC_COUNT_DAY_ACT_INTER_TOTAL (Группа Активность (услуги и договоры)) - Интернет. Кол-во дней активности услуги (за всю историю);

· AC_COUNT_DAY_ACT_KTV_MONTH (Группа Активность (услуги и договоры)) - КТВ. Кол-во дней активности услуги (в текущем месяце);

· AC_COUNT_DAY_ACT_KTV_REACT (Группа Активность (услуги и договоры)) - КТВ. Кол-во дней активности услуги (с даты реактивации);

· AC_COUNT_DAY_ACT_KTV_TOTAL (Группа Активность (услуги и договоры)) - КТВ. Кол-во дней активности услуги (за всю историю);

· AC_COUNT_DAY_ACT_TEL_MONTH (Группа Активность (услуги и договоры)) - Телефония. Кол-во дней активности услуги (в текущем месяце);

· AC_COUNT_DAY_ACT_TEL_REACT (Группа Активность (услуги и договоры)) - Телефония. Кол-во дней активности услуги (с даты реактивации);

· AC_COUNT_DAY_ACT_TEL_TOTAL (Группа Активность (услуги и договоры)) - Телефония. Кол-во дней активности услуги (за всю историю);

· AC_COUNT_DAY_DEACT_IKTV_MONTH (Группа Деактивация) - ЦКТВ. Кол-во дней в деактивации услуги (в текущем месяце);

· AC_COUNT_DISSOLV_AG (Группа Расторжение) - Кол-во дней, прошедших с момента расторжения договора;

· AC_COUNT_DISSOLV_IKTV (Группа Расторжение) - Кол-во дней, прошедших с расторжения услуги Телеком TV;

· AC_COUNT_DISSOLV_INTER (Группа Расторжение) - Кол-во дней, прошедших с момента расторжения услуги Интернет;

· AC_COUNT_DISSOLV_KTV (Группа Расторжение) - Кол-во дней, прошедших с момента расторжения услуги КТВ;

· AC_COUNT_DISSOLV_TEL (Группа Расторжение) - Кол-во дней, прошедших с момента расторжения услуги Телефония;

· AC_DATE_DEACT_IKTV (Группа Деактивация) - Телеком TV. Дата деактивации услуги;

· AC_DATE_DEACT_INET ...


Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.