Логистическая регрессия
Математический аппарат, программные реализации методов оценивания, примеры развертывания моделей с помощью Streamlit, Streamlit Cloud, Docker, FastAPI и Flask
Покупка
Новинка
Издательство:
ДМК Пресс
Год издания: 2023
Кол-во страниц: 220
Дополнительно
Вид издания:
Практическое пособие
Уровень образования:
Дополнительное образование
ISBN: 978-5-93700-213-6
Артикул: 855989.01.99
В книге рассказывается о математическом аппарате логистической регрессии, способах интерпретации регрессионных коэффициентов, даются программные реализации методов оценивания (метод градиентного спуска, метод Ньютона без регуляризации / с регуляризацией), приведены примеры развертывания моделей с помощью Streamlit, Streamlit Cloud, Docker, FastAPI и Flask.
Книга будет интересна специалистам по анализу данных, маркетологам и риск-аналитикам.
Скопировать запись
Фрагмент текстового слоя документа размещен для индексирующих роботов
Фред Пампел Артем Груздев Дмитрий Цвиркун Логистическая регрессия Математический аппарат, программные реализации методов оценивания, примеры развертывания моделей с помощью Streamlit, Streamlit Cloud, Docker, FastAPI и Flask Москва, 2023
УДК 303.724 ББК 87.4 П15 Пампел Ф., Груздев А., Цвиркун Д. П15 Логистическая регрессия. – М.: ДМК Пресс, 2023. – 218 с.: ил. ISBN 978-5-93700-213-6 В книге рассказывается о математическом аппарате логистической регрессии, способах интерпретации регрессионных коэффициентов, даются программные реализации методов оценивания (метод градиентного спуска, метод Ньютона без регуляризации / с регуляризацией), приведены примеры развертывания моделей с помощью Streamlit, Streamlit Cloud, Docker, FastAPI и Flask. Книга будет интересна специалистам по анализу данных, маркетологам и рисканалитикам. УДК 303.724 ББК 87.4 Все права защищены. Любая часть этой книги не может быть воспроизведена в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. © Пампел Ф., Груздев А., Цвиркун Д., 2023 ISBN 978-5-93700-213-6 © Оформление, издание, ДМК Пресс, 2023
Содержание От издательства.......................................................................................................7 Часть I. Логика логистической регрессии...................................................8 1. Проблемы обычной регрессии с бинарной зависимой переменной.................. 8 1.1. Проблема, связанная с формой функциональной зависимости................9 1.2. Проблема достоверности статистического вывода....................................14 2. Знакомство с логистической функцией...............................................................16 3. Преобразование вероятностей в логиты.............................................................17 3.1. Смысл шансов...................................................................................................18 3.2. Смысл логитов..................................................................................................20 4. Линеаризация нелинейности................................................................................22 4.1. Получение вероятностей из логитов............................................................22 4.2. Альтернативная формула...............................................................................25 5. Выводы......................................................................................................................26 Часть II. Интерпретация коэффициентов логистической регрессии..................................................................................................................27 1. Логиты......................................................................................................................28 2. Шансы.......................................................................................................................29 3. Вероятности.............................................................................................................32 3.1. Влияние непрерывных независимых переменных на вероятности.......32 3.2. Влияние дамми-переменных на вероятности............................................35 3.3. Спрогнозированные вероятности для непрерывных независимых переменных.............................................................................................................36 4. Тесты значимости...................................................................................................38 5. Стандартизация.......................................................................................................39 6. Пример интерпретации.........................................................................................44 Часть III. Обучение модели логистической регрессии......................48 1. Требования и рекомендации по эффективному обучению логистической регрессии......................................................................................................................48
4 Содержание 2. Знакомство с методом максимального правдоподобия...................................51 3. Функция логарифмического правдоподобия.....................................................54 4. Оценивание коэффициентов с помощью градиентного спуска и метода Ньютона.......................................................................................................56 Часть IV. Мультиколлинеарность и регуляризация.............................80 1. Диагностика мультиколлинеарности...................................................................80 2. Способы борьбы с мультиколлинеарностью.......................................................80 3. Методы регуляризации..........................................................................................81 4. Оценивание коэффициентов с помощью градиентного спуска и метода Ньютона с регуляризацией.......................................................................85 Часть V. Реализация логистической регрессии в библиотеке scikit-learn..................................................................................97 1. Знакомство с классом LogisticRegression.............................................................97 2. Получение стандартных ошибок, статистик Вальда, z-оценок и p-значений для класса LogisticRegression библиотеки scikit-learn..................98 3. Построение базовой модели с помощью класса LogisticRegression библиотеки scikit-learn.............................................................................................104 3.1. Описание данных и задачи..........................................................................104 3.2. Импорт необходимых библиотек, классов, функций и загрузка исторических данных..........................................................................................105 3.3. Нормализация значений переменных.......................................................106 3.4. Конструирование предикторов без использования статистик...............111 3.5. Разбиение на обучающую и тестовую выборки........................................115 3.6. Подготовка данных для работы в библиотеке h2o...................................115 3.7. Поиск важных переменных..........................................................................115 3.8. Обработка выбросов и пропусков...............................................................116 3.9. Конструирование предикторов с использованием статистик................121 3.10. Стандартизация...........................................................................................121 3.11. Проверка наличия пропусков....................................................................122 3.12. Дамми-кодирование...................................................................................122 3.13. Проверка на совпадение количества предикторов в обучающей и тестовой выборках............................................................................................122 3.14. Построение модели логистической регрессии........................................122 3.15. Вывод регрессионных и экспоненциальных коэффициентов..............123 3.16. Получение более компактной модели с помощью отбора предикторов..........................................................................................................124 4. Полный цикл обучения конвейера в библиотеке scikit-learn.........................131 4.1. Импорт необходимых библиотек, классов, функций и загрузка исторических данных..........................................................................................132 4.2. Выполнение предварительной подготовки вне конвейера....................133 4.3. Разбиение на обучающую и тестовую выборки........................................134 4.4. Создание собственных классов....................................................................135
Содержание 5 4.5. Сборка итогового конвейера........................................................................139 4.6. Обучение итогового конвейера для каждой комбинации значений гиперпараметров (поиск оптимальных значений гиперпараметров).................................................................................................142 4.7. Вывод регрессионных коэффициентов наилучшей модели...................142 4.8. Загрузка всех исторических данных и выполнение предварительной подготовки.............................................................................144 4.9. Обучение итогового конвейера с найденными наилучшими значениями гиперпараметров на всех исторических данных......................145 4.10. Загрузка новых данных и выполнение предварительной подготовки.............................................................................................................145 4.11. Получение вероятностей для новых данных с помощью итогового конвейера с наилучшими значениями гиперпараметров, обученного на всей исторической выборке......................................................146 5. Примеры развертывания обученного конвейера scikit-learn........................147 5.1. Простое развертывание в Streamlit.............................................................147 5.2. Развертывание на облачной платформе Streamlit Cloud........................154 5.3. Развертывание с помощью Docker..............................................................157 5.4. Развертывание с помощью FastAPI............................................................169 Часть VI. Реализация логистической регрессии в библиотеке H2O..............................................................................................180 1. Знакомство с классом H2OGeneralizedLinearEstimator...................................181 2. Полный цикл обучения модели с помощью класса H2OGeneralizedLinearEstimator библиотеки h2o..................................................188 2.1. Запуск кластера H2O.....................................................................................188 2.2. Преобразование обучающего и тестового наборов, записанных в виде CSV-файлов, во фреймы H2O..................................................................189 2.3. Знакомство с данными.................................................................................190 2.4. Определение имени зависимой переменной и списка имен предикторов..........................................................................................................192 2.5. Обучение модели логистической регрессии.............................................192 2.6. Работа с результатами построения модели...............................................193 2.7. Построение ROC-кривой и вычисление AUC-ROC....................................196 2.8. Вывод таблицы регрессионных коэффициентов......................................197 2.9. Вывод графика значений стандартизированных коэффициентов........197 2.10. Вычисление p-значений регрессионных коэффициентов....................198 2.11. Получение вероятностей и прогнозов......................................................200 2.12. Поиск оптимального значения силы регуляризации и оптимального соотношения L1- и L2-штрафов по сетке............................201 2.13. Извлечение наилучшей модели по итогам поиска по сетке.................202 2.14. Загрузка всех исторических данных и выполнение предварительной подготовки.............................................................................203 2.15. Преобразование предобработанного датафрейма исторических данных во фрейм H2O................................................................205
6 Содержание 2.16. Обучение наилучшей модели логистической регрессии на всех исторических данных.............................................................................206 2.17. Сохранение модели, обученной на всех исторических данных, для последующего использования.....................................................................207 2.18. Загрузка новых данных и выполнение предварительной подготовки.............................................................................................................207 2.19. Преобразование предобработанного датафрейма новых данных во фрейм H2O........................................................................................................207 2.20. Применение модели логистической регрессии, обученной на всех исторических данных, к новым данным ............................................208 3. Пример развертывания обученной модели h2o с помощью Flask................210
От издательства Отзывы и пожелания Мы всегда рады отзывам наших читателей. Расскажите нам, что вы ду-маете об этой книге – что понравилось или, может быть, не понравилось. Отзывы важны для нас, чтобы выпускать книги, которые будут для вас максимально полезны. Вы можете написать отзыв на нашем сайте www.dmkpress.com, зайдя на страницу книги и оставив комментарий в разделе «Отзывы и рецензии». Также можно послать письмо главному редактору по адресу dmkpress@gmail. com; при этом укажите название книги в теме письма. Если вы являетесь экспертом в какой-либо области и заинтересованы в написании новой книги, заполните форму на нашем сайте по адресу http:// dmkpress.com/authors/publish_book/ или напишите в издательство по адресу dmkpress@gmail.com. Список опечаток Хотя мы приняли все возможные меры для того, чтобы обеспечить высокое качество наших текстов, ошибки все равно случаются. Если вы найдете ошибку в одной из наших книг, мы будем очень благодарны, если вы сообщите о ней главному редактору по адресу dmkpress@gmail.com. Сделав это, вы избавите других читателей от недопонимания и поможете нам улучшить последующие издания этой книги. Нарушение авторских прав Пиратство в интернете по-прежнему остается насущной проблемой. Издательство «ДМК Пресс» очень серьезно относится к вопросам защиты авторских прав и лицензирования. Если вы столкнетесь в интернете с незаконной публикацией какой-либо из наших книг, пожалуйста, пришлите нам ссылку на интернет-ресурс, чтобы мы могли применить санкции. Ссылку на подозрительные материалы можно прислать по адресу электронной почты dmkpress@gmail.com. Мы высоко ценим любую помощь по защите наших авторов, благодаря которой мы можем предоставлять вам качественные материалы.
ЧАСТЬ I Логика логистической регрессии Многие социальные явления являются по своей природе бинарными, а не непрерывными или количественными – произошло событие или оно не произошло, человек купил товар или не купил. Бинарные дискретные явления обычно принимают форму дихотомического индикатора. Хотя эти два значения можно представлять любыми числами, использование зависимых переменных со значениями 1 и 0 имеет свои преимущества. Среднее значение такой переменной равно доле случаев со значением 1 и может интерпретироваться как вероятность. 1. Проблемы обычной регрессии с бинарной зависимой переменной На первый взгляд, бинарная зависимая переменная со значениями 0 и 1 кажется подходящей для использования во множественной регрессии. Регрессионные коэффициенты имеют полезную интерпретацию – они показывают увеличение или уменьшение прогнозируемой вероятности возникновения события в силу изменения того или иного предиктора на единицу своего измерения. Еще можно сказать, что они показывают изменение прогнозируемой пропорции респондентов со значением 1 при изменении независимой переменной на единицу своего измерения. Исследователям, хорошо знакомым с пропорциями и вероятностями, будет комфортно работать с такими интерпретациями. Сама зависимая переменная принимает только значения 0 и 1, но предсказанные значения для регрессии принимают вид усредненных пропорций или вероятностей, зависящих от значений предикторов. Чем выше прогнозируемое значение или условное среднее значение, тем больше вероятность того, что с человеком, обладающим конкретными значениями характеристик (независимых переменных), произойдет интересующее событие. Линейная регрессия предполагает, что условные пропорции или вероятности задают прямую линию для значений X.
Проблемы обычной регрессии с бинарной зависимой переменной 9 Например, в ходе опроса мы спросили респондентов, курят ли они. Присваиваем тем, кто курит, значение 1, а тем, кто не курит, – значение 0 и получаем бинарную зависимую переменную. Если взять курение (S) как функцию от количества лет, потраченных на образование (E), и дамми-переменную для пола (G), где женщины получают код 1, то получится уравнение регрессии: S = 0,661 – 0,029 ∗ E + 0,004 ∗ G. Регрессионный коэффициент для образования показывает, что при увеличении количества лет, потраченных на образование, на 1 год вероятность курения снижается на 0,029 , пропорция курящих снижается на 0,029, процент курящих сокращается на 2,9 %. Респонденты мужского пола без образования имеют спрогнозированную вероятность курения 0,661 (константа). У мужчины с 10-летним образованием спрогнозированная вероятность курения составляет 0,371 (0,661 – 0,029 ∗ 10 + 0,004 ∗ 0). Коэффициент при даммипеременной показывает, что у женщин вероятность курения на 0,004 выше, чем у мужчин. Для женщин без образования спрогнозированная вероятность курения составляет 0,665 (0,661 – 0,029 ∗ 0 + 0,004 ∗ 1). Несмотря на несложную интерпретацию коэффициентов для множественной регрессии с бинарной зависимой переменной, регрессионные оценки сталкиваются с двумя проблемами. Первая проблема носит концептуальный характер, а вторая – статистический. В совокупности проблемы оказываются достаточно серьезными, чтобы потребовать альтернативу обычной регрессии с бинарной зависимой переменной. 1.1. Проблема, связанная с формой функциональной зависимости Концептуальная проблема линейной регрессии с бинарной зависимой переменной связана с тем, что вероятности имеют максимальные и минимальные значения 1 и 0. По определению, вероятности и пропорции не могут превышать 1 или падать ниже 0. Однако линия линейной регрессии может простираться вверх к +¥, поскольку значения предикторов могут увеличиваться бесконечно, и простираться вниз к -¥, поскольку значения предикторов могут уменьшаться бесконечно. В зависимости от коэффициента наклона линии и наблюдаемых значений X модель может дать прогнозные значения зависимой переменной выше 1 и ниже 0. Такие значения не имеют смысла и малопригодны для прогнозирования. Несколько графиков могут проиллюстрировать проблему. Обычная диаграмма рассеяния, представляющая собой зависимость между двумя непрерывными переменными, показывает облако точек, как на рисунке слева. Здесь линия, проходящая через центр облака точек, минимизирует сумму квадратов отклонений. Мы видим, когда X принимает более высокие или более низкие значения, то же самое происходит и с Y. Однако диаграмма рассеяния, представляющая собой зависимость между непрерывной независимой переменной и бинарной зависимой переменной,
10 Логика логистической регрессии уже не представляет из себя облако точек. Вместо этого показаны два параллельных набора точек. Подгонка с помощью прямой линии кажется здесь менее уместной. Любая линия (за исключением линии с коэффициентом наклона 0) в конечном итоге превысит 1 и опустится ниже 0. Y Y Диаграмма рассеяния для непрерывной независимой переменной и непрерывной зависимой переменной Диаграмма рассеяния для непрерывной независимой переменной и бинарной зависимой переменной Рис. 1 Диаграммы рассеяния Некоторые области двух параллельных наборов точек могут содержать больше наблюдений, чем остальные, и с помощью джиттеринга мы можем взглянуть на плотность наблюдений вдоль двух линий. Прибегнем к джиттерингу – технике визуализации данных, которая используется для усиления разброса между точками при их наложении друг на друга. Он уменьшает перекрытие точек на диаграмме рассеяния, добавляя случайную вариацию к каждому наблюдению. На рис. 2 подвергнутое джиттерингу распределение бинарной зависимой переменной (курит или не курит) по количеству лет, потраченных на образование, указывает на небольшую зависимость. Респонденты с бóльшим количеством лет, потраченным на образование, курят реже, чем респонденты с меньшим количеством лет, потраченных на образование. Однако рисунок отличается от графика зависимости между непрерывными переменными. Риск получения спрогнозированных вероятностей ниже 0 или выше 1 зависит не только от диапазона значений предиктора, но еще и от соотношения значений 0 и 1 бинарной зависимой переменной. При соотношении 50:50 спрогнозированные значения попадают в центр распределения вероятностей. В предыдущем примере с курением (где соотношение 28:72) самое низкое спрогнозированное значение 0,081 мы получаем для мужчин с максимальным количеством лет, потраченным на образование, т. е. проучившиеся 20 лет (0,661 – 0,029 ∗ 20 + 0,004 ∗ 0), а самое большое спрогнозированное значение 0,665 мы получаем для женщин с минимальным образованием, т. е. проучившиеся 0 лет (0,661 – 0,029 ∗ 0 + 0,004 ∗ 0). Теперь возьмем зависимую переменную с еще большей диспропорцией. Мы спрашиваем респондентов, стремятся они сохранить/защитить окружающую среду или нет. 10 %