Взгляд инсайдера на логистическую регрессию и как развернуть модель логистической регрессии в GCP в качестве пакетного прогноза…

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

Введение

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

Логистика Уравнение регрессии

Типы логистической регрессии

Почему логистическая регрессия?

Почему мы не можем использовать метод линейной регрессии OLS для моделирования БИНАРНОЙ зависимой переменной?

Модель линейной вероятности определяется как:

pi =β0 +β1Xi

где pi = вероятность наступления события

Две основные причины, по которым линейная регрессия OLS не работает с двоичной целью:

  1. Техническая проблема: это нарушает предположения - Бинарная (т. е. дихотомическая) зависимая переменная в модели линейной регрессии нарушает предположения о:

- гомоскедастичность

- Нормальность срока погрешности

2. Основная проблема: ограниченные вероятности -

Модель линейной вероятности задается формулой pi = β0 + β1Xi

- Если X не имеет верхней или нижней границы, то для любого значения β существуют значения X, для которых либо pi ›1, либо pi‹ 0

- Это противоречиво, так как истинные значения вероятностей должны лежать в интервале (0,1)

Как решить проблему ограниченных вероятностей?

2.a) Используйте шансы вместо вероятности события - коэффициент определяется как:

Коэффициенты = pi / 1 - p i = вероятность события / вероятность отсутствия события

  • Поскольку вероятность события колеблется от 0 до 1, вероятность колеблется от 0 до ∞.
  • Преобразование вероятностей в шансы убирает верхнюю границу

2.b) Возьмите натуральный логарифм шансов

Некоторые ключевые компоненты, о которых следует помнить:

1) Сигмовидная функция

1.1) Модель логистической регрессии:

Z = log (p / 1− p) = β0 + β1X1 + β2X2… βkXk

1.2) Вероятность события, таким образом, оценивается на основе логита («оценка модели») с помощью следующего преобразования:

2) Метод оценки: MLE

2.1) Построить функцию правдоподобия, выражающую вероятность наблюдения значений зависимой переменной Y для всех n наблюдений.

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

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

3) Логистическая регрессия: некоторые ключевые предположения

3.1) Зависимая переменная должна быть категориальной (дихотомическая для двоичной логистической регрессии)

3.2) P (Y = 1) - вероятность наступления события

  • Зависимая переменная должна быть закодирована соответствующим образом.
  • Для бинарной логистической регрессии класс 1 зависимой переменной должен представлять желаемый результат.

3.3) Условия ошибки должны быть независимыми. Логистическая регрессия требует, чтобы каждое наблюдение было независимым.

3.4) Модель не должна иметь мультиколлинеарности.

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

3.6) Размер выборки должен быть достаточно большим.

4) Соотношение шансов

Отношение шансов для предсказателя определяется как относительная величина, на которую шансы результата увеличиваются (Соотношение шансов> 1) или уменьшаются (Соотношение шансов

4.1) Интерпретация

Интерпретация отношения шансов зависит от типа предсказателя: бинарный или непрерывный.

5) Известные способы проверки модели

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

5.1) Зачем нужна проверка?

5.1.1) Обобщение

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

5.1.2) Проверка стабильности

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

5.1.3) Проверка надежности

Проверить, является ли модель подходящим представлением реального мира для заявленной цели и является ли модель приемлемой для предполагаемого использования.

5.2) Компоненты проверки модели

5.2.1) Стратегии выборки

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

5.2.2) Проверка мощности

  • Методы силового тестирования нацелены на определение соответствия модели.
  • Примеры: таблица классификации, статистика K-S, AUC и соответствие для модели классификации.

5.2.3) Калибровка

  • Методы калибровки нацелены на оценку того, насколько точно прогнозы модели соответствуют фактическим (т. Е. Наблюдаемым) значениям.
  • Примеры: тест Хосмера-Лемешоу для модели классификации.

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

1. Таблица классификации (матрица неточностей)

  • Матрица 2x2 фактического и прогнозируемого классов
  • Также известна как матрица неточностей или таблица непредвиденных обстоятельств.
  • Чем больше сумма первичной диагонали (TP + TN), тем выше степень точности классификации.

2) Соответствие и несоответствие

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

3) Рабочие характеристики приемника (ROC)

Граф ROC - это двумерный граф, в котором:

  • Истинная положительная скорость отложена по оси Y.
  • Частота ложных срабатываний отложена по оси X.

4) Коэффициент Джини

Коэффициент Джини - это мера степени дискриминации между товарами (не-событиями) и плохими (событиями).

  • Коэффициент Джини в два раза больше площади между кривой ROC и случайной линией равенства 45 °.
  • Коэффициент Джини варьируется от 0 до 1.

Gini = 0 означает отсутствие дискриминации

Джини = 1 означает идеальную дискриминацию

5) Статистика Колмогорова-Смирнова (К-С)

Статистика K-S - это максимальная вертикальная разница между совокупной кривой подъема для событий (товаров) и кривой совокупного подъема для не-событий (плохих).

Кривая KS показана ниже. Он строится путем построения кумулятивного процента населения. Лучше КС, лучше модель.

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

6) График частоты событий по децилям

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

  • При переходе от дециля 1 к децилю 10 среднее значение цели (то есть частота событий) в идеале должно монотонно падать.
  • При переходе от дециля 1 к децилю 10 среднее значение цели (то есть частота событий) в идеале должно монотонно падать.

7) Тест Хосмера - Лемешоу

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

Практическая реализация

К настоящему времени вы знаете о наиболее распространенных и широко используемых в отрасли алгоритмах машинного обучения. Теперь давайте применим модель машинного обучения к образцу набора данных для банковских клиентов и построим сквозной конвейер на платформе Google AI.

Пример использования:

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

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

О данных:

  • SK_ID_CURR - идентификатор клиента
  • ЦЕЛЬ - заплатит или нет
  • CNT_CHILDREN - Количество детей
  • AMT_INCOME_TOTAL - общий доход
  • AMT_CREDIT - Сумма, зачисляемая каждый месяц
  • И другие особенности по демографии клиентов, занятости и источникам дохода.

Процедура:

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

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

4. После того, как модель будет завершена со всеми необходимыми проверками, и мы проверим ее производительность по набору данных для поездов, испытаний и проверки. Пришло время развернуть платформу GCP AI как пакетное прогнозирование.

ПРОЦЕДУРА

  1. Загрузите набор данных в GCP Bucket вместе со скриптом SQL. Этот сценарий Sql будет полезен при создании таблиц в облачном sql, который действует как источник данных для построения модели. Прогноз для нового набора данных также будет сохранен в виде выходных данных в облачном sql. Пожалуйста, посмотрите скриншот ниже.

2. Как только мы создадим базу данных в Cloud Sql, наши сценарии SQL создадут таблицы.

3. Теперь мы сначала запускаем наш сценарий разработки модели и генерируем файл pickle. т.е. Model_development.py

Полный сценарий находится на GitHub, ссылку можно найти внизу статьи.

4. Теперь мы генерируем изображение файла pickle в AI Platform и создаем версию модели. Для этого мы будем использовать команды Bash (см. GitHub).

При создании версии модели убедитесь, что вы указали каталог в вашем сегменте GCP, в котором находится ваш файл model.joblib.

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

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

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

Не стесняйтесь импровизировать с этим подходом. Предложение всегда приветствуется.

Полный код: - https://github.com/himswamy/GCP_Batch_Prediction.git

Ссылка на GitHub: - https://github.com/himswamy/GCP_Batch_Prediction

Удачного обучения !!