Пруденциальные данные от Kaggle

Ознакомьтесь с другой моей статьей: Процесс машинного обучения

Моя биография

Процесс

  1. Определить бизнес-цель
  2. Исследовательский анализ данных
  3. Предварительная обработка/очистка данных
  4. Уменьшение размерности
  5. Визуальный анализ данных
  6. Выбор и оценка модели
  7. Сводка

1. Бизнес-цель

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

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

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

Решение: Автоматически классифицировать уровень риска на основе данных клиентов.

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

Подход: я выполнил уменьшение размерности, чтобы выбрать важные функции, которые могут улучшить прогнозную мощность моделей. Измерение данных было уменьшено с помощью метода выбора признаков, основанного на корреляции (CFS). Алгоритмы машинного обучения Логистическая регрессия и Экстремальное повышение градиента использовались в наборе данных для прогнозирования уровня риска соискателей. Мой анализ показал, что Extreme Gradient Boosting — лучшая модель с показателем точности 56%.

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

— Данные со 128 функциями/предикторами и 1 ответом/целью.

— Переменная отклика — уровень риска (Risk), от уровня 1 до уровня 8.

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

— Среди 128 признаков 60 являются категориальными, 13 непрерывными и 53 дискретными.

Интерактивная панель управления

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

Я загрузил набор данных о поездах Prudential в Tibco Spotfire Cloud, чтобы создать динамическую визуализацию и получить более полное представление о данных. Я использовал этот инструмент для проведения исследовательского анализа, включая одномерный и двумерный анализ данных. Этот анализ помог мне определить переменные, которые необходимо включить в модель и выбрать модель.

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

3. Предварительная обработка/очистка данных

Данные, собранные из Prudential Life Insurance, необходимо очистить, чтобы обработать пропущенные значения, чтобы данные соответствовали анализу. В наборе данных Prudential Life Insurance есть атрибуты с большим количеством отсутствующих данных.

Манипуляции с данными: отсутствующие данные

Чтобы заменить отсутствующие значения, я использовал следующие подходы.

— Используйте среднее для замены непрерывных переменных.

— Используйте непараметрический алгоритм, называемый k-ближайшими соседями (KNN), для замены пропущенных значений. Алгоритм KNN полезен для сопоставления точки с ее ближайшими k соседями в многомерном пространстве. Его можно использовать для данных, которые являются непрерывными, дискретными, порядковыми и категориальными, что делает его особенно полезным для работы со всеми видами отсутствующих данных.

Обработка данных: Нормализация:

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

4. Уменьшение размерности

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

Я использовал выбор функций на основе корреляции (CSF), чтобы удалить функции. Как показано ниже, после проверки корреляции между ИМТ, массой тела и HT я исключил массу тела, поскольку она сильно коррелирует с ИМТ.

Я написал универсальную функцию, чтобы выяснить корреляцию, чтобы отбросить сильно коррелированные функции. Передав набор данных поезда, я исключил функции, которые сильно коррелированы (порог > 85).

Столбцы от Medical_Keyword_1 до Medical_Keyword_48 содержат только нули и единицы. Эти столбцы могут не иметь большой предсказательной силы, но их сложение может иметь большое значение. Я создал новый столбец и удалил столбцы, из которых он был создан.

Столбцы Medical_History_3 до Medical_History_41 имеют 0 и 1 с небольшой общей информацией, я создал новый столбец как сумму всех этих столбцов и удалил все столбцы из Medical_History_3 в Medical_History_41.

5. Визуальный анализ данных

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

Распределение переменной отклика:

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

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

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

Прогностическая сила ИМТ: Как показано ниже, ИМТ обладает прогностической силой. Значение ответа 8 имеет более низкое значение ИМТ по сравнению со значением ответа 1.

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

Предсказательная сила Ins_Age:

Здесь мы видим, что первый квинтиль наиболее смещен в сторону категории 8. Основываясь на данных, я бы предположил, что это самый молодой квинтиль, и они имеют самый низкий риск (т.е. категория 8 — низкий риск, категория 1 — высокий риск). . Когда мы подходим к другому концу спектра, пятый квинтиль имеет почти одинаковое количество людей с низким риском (категории 7 и 8) и с высоким риском (категории 1 и 2). Низкие уровни категорий 3 и 4 сохраняются во всех возрастных квинтилях.

Из следующих графиков видно, что Ins_Age обладает некоторой предсказательной силой.

Прогностическая сила Ins_Age и ИМТ: Ins_Age и ИМТ вместе взятые имеют очень хорошую прогностическую силу.

Прогностическая сила Product_Info_4 Из этого графика видно, что Product_Info_4 имеет большую прогностическую силу.

6. Выбор и оценка модели

Логистическая регрессия. Логистическая регрессия используется, когда зависимая переменная (цель/ответ) является категориальной. Он преобразует регрессионную модель в классификатор. Существует 3 типа логистической регрессии: 1) Бинарная логистическая регрессия — категориальный ответ имеет только два возможных результата. Пример: Спам или нет. 2) Полиномиальная логистическая регрессия — три или более категорий без упорядочивания. Пример: прогнозирование того, какая пища предпочтительнее (вегетарианская, невегетарианская, веганская). 3) Порядковая логистическая регрессия — три или более категорий с упорядочением. Пример: Рейтинг фильма от 1 до 5

Переменная ответа Prudential (риск) имеет 8 категорий, поэтому можно использовать «порядковую логистическую регрессию».

Это шаги, которые я выполнил

— Используя рекурсивное исключение признаков, удалили еще несколько признаков и запустили модель с выбранными признаками.

— Разделите данные на поезд и тест, используя разделение поезд/тест.

— Проверьте классификационные баллы логистической регрессии с помощью Accuracy_score

Я пробовал логистическую регрессию на обучающих данных с использованием различных функций, и наилучшая оценка точности, которую я получил, составила 43,6% для следующих функций: «Product_Info_4», «Ins_Age», «ИМТ», «Employment_Info_1». , 'Employment_Info_4', 'InsuredInfo_2', 'Medical_History_4', 'Medical_History_5', 'Medical_History_20', 'Medical_History_35', 'Medical_Keyword_3', 'Medical_Keyword_38'

XGBoost (экстремальное усиление градиента)

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

GBT строят деревья по одному, где каждое новое дерево помогает исправить ошибки, допущенные ранее обученным деревом. С каждым добавленным деревом модель становится еще выразительнее. Обычно есть три параметра — количество деревьев, глубина деревьев и скорость обучения, и каждое построенное дерево обычно неглубокое. Gradient Boosting Trees использует деревья CART.

XGBoost улучшает базовую структуру GBM за счет системной оптимизации и усовершенствований алгоритмов.

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

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

Я применил XGBoost к обучающим данным без настройки гиперпараметров, и моя оценка точности составила 48,84%.

— Разделите данные на поезд и тест, используя разделение поезд/тест.

— Проверьте классификационные баллы логистической регрессии с помощью Accuracy_score

Я выполнил XGboost для обучающих данных с настройкой гиперпараметров, выполненной с помощью GridSearchCV, и моя оценка точности составила 49,9 %.

Я выполнил XGboost для обучающих данных (используя выбранные функции после «рекурсивного исключения функций») с настройкой гиперпараметров, выполненной с использованием RandomizedSearchCV, и моя оценка точности составляет 47,4% (раздел № 5.2.2 в коде)

Я выполнил XGBoost для данных обучения (используя все функции, кроме «Family_Hist_2», «Family_Hist_4», «Ht», «Insurance_History_4», «Insurance_History_7», «Insurance_History_9», «Medical_History_26», «Medical_History_36», «Medical_ Ключевое слово_11', «Medical_Keyword_15», «Medical_Keyword_23», «Medical_Keyword_48», «Wt») с настройкой гиперпараметров, выполненной с использованием RandomizedSearchCV, и моя оценка точности составляет 55% (раздел № 5.2.4 в коде)

Я выполнил XGBoost для данных обучения (используя все функции, кроме «Family_Hist_2», «Family_Hist_4», «Ht», «Insurance_History_4», «Insurance_History_7», «Insurance_History_9», «Medical_History_26», «Medical_History_36», «Medical_ Ключевое слово_11', «Medical_Keyword_15», «Medical_Keyword_23», «Medical_Keyword_48», «Wt») без настройки гиперпараметров, и моя оценка точности составляет 56,46% (раздел № 5.2.3 в коде)

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

7. Резюме

Следуя концепциям науки о данных, которые я изучил в этой программе, как упоминалось в первом разделе, моя оценка точности для набора данных Prudential Insurance составляет 56,46%.

После выполнения этого анализа с хорошей оценкой точности окончательной модели я предлагаю Prudential не собирать следующие точки данных: Family_Hist_2, Family_Hist_4, Insurance_History_4, Insurance_History_7, Insurance_History_9, Medical_History_26, Medical_History_36, Medical_Keyword_11, Medical_Keyword_15, Medical_Keyword_23, Medical_Keyword_48. Не собирая эти данные, компания может сократить расходы и сэкономить время.

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

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

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

Ознакомьтесь с другой моей статьей: Процесс машинного обучения

Моя биография