Логистическая регрессия 3: простая логистическая регрессия

Необходимым условием для этого поста является хорошее понимание двух тем:

Необходимым условием для этого поста является хорошее понимание двух тем:

Зачем нужна логистическая регрессия

Логистическая регрессия предсказывает вероятность успеха. Успех против неудачи может принимать форму 1 против 0, ДА против НЕТ или ИСТИНА против ЛОЖИ. Хотя успех всегда измеряется только двумя (двоичными) значениями, успехом или неудачей, вероятность успеха может принимать любое значение от 0 до 1.

Вероятность

  • \ (0,5 \) означает 50% шансов на успех,
  • \ (>0,5 \) означает более высокие шансы на успех, чем на неудачу, и
  • \ (

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

Перед моделированием: получите вероятности из подсчетов

Если вероятность тааакважно, почему на Земле мы будем делать любое моделирование вообще, если бы мы могли просто вычислить вероятность того, из подсчетов? Вспомните определение: «Вероятность - это отношение того, что что-то происходит, ко всему, что может случиться».Имея подсчеты, мы можем легко получить вероятность выживания, разделив количество выживших пассажиров на количество всех пассажиров:

\ [вероятность \ выживания = \ frac * 100 \% = 38,2 \% \]

\ [вероятность \ смерти = \ frac * 100 \% = 61,8 \% \]

Соедините точки:однако, используя только подсчеты, мы не знаем, существенно ли отличается вероятность выживания от вероятности смерти. На этот вопрос можно легко ответить с хи-квадрат теста для заданных вероятностей (также известный как Совершенство-оф-посадки ), и мы до сих пор не должны были бы сделать или понять эту сложную вещь под названием логистической регрессии. Тест хи-квадрат сравнивает наши данные (32,8% выжили и 61,2% умерли) с ожидаемыми данными (50% выжили и 50% умерли) и показывает значительную разницу между вероятностью выживания и вероятностью смерти:

Однако по сравнению с тестом хи-квадрат, который говорит только о том, что распределение переменной выживаемости (выжившей или нет) не равнозначно, логистическая регрессия говорит нам гораздо больше!А именно:

шансы на выживание: exp (coef (simple_fit))

доверительные интервалы для log-odds, confint (simple_fit) и для odds, exp (confint (simple_fit))

отрицательный знак говорит нам, что вероятность выживания значительно (p

не забывайте о самой вероятности и даже

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

Как провести простую логистическую регрессию в R

Только модель с перехватом

Загрузите все необходимые пакеты сразу, чтобы не допустить перебоев.

Имеет ли смысл моделировать только двоичную переменную ответа (имеющую только нули и единицы) без какого-либо предиктора? Давайте возьмем данные выживших после крушения Титаника и узнаем. «1» вместо любого предиктора в приведенной ниже формуле означает - только перехват:

срок оценивать std.error статистика p.value
(Перехват) -0,4811908 0,0568867 -8,458761 0

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

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

Но почему мы говорим о вероятности при интерпретации логарифмических шансов?

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

«Но у нас нет наклонав модели« только перехват »!», - слышу вы.

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

А пока давайте вспомним, как преобразовать логарифмические шансы в вероятности всего за два шага:

  1. возвести в степень логарифм (шансы) модели, чтобы получить шансы, потому что exp () является противоположностью log ()
  2. извлеките вероятность из формулы шансов: \ (odds = p / (1-p) \), которая тогда равна \ (p = odds / (1 + odds) \)

Функция plogis () в R выполняет оба шага за вас:

Вывод: вероятность выживания на Титанике (38,2%) значительно ниже, чем вероятность смерти (100% -38,2% = 61,8%), что уже является первым статистическим выводом, который мы получаем, используя модель только перехвата!Таким образом, на вопрос, который мы задали в самом начале, мы можем ответить: абсолютно да!, имеет смысл создать модель без какого-либо предиктора.

логарифмические шансы крутые 😎, в то время как шансы очень нечетные

Но зачем нам и коэффициенты, и лог (коэффициенты) ? Что ж, время от времени мы слышим «шансы на успех» или «вероятность успеха». Но мы никогда не слышим «логарифм (шансы) успеха»! Это потому, что шансы и вероятности более интуитивно понятны, чем логарифм (шансы) . Шансы более полезны, чем вероятности или логарифм? Может быть. Но они также могут сбивать с толку. Вот почему:

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

Однако коэффициенты становятся очень полезными, когда они:

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

Процентное изменение

Изменения в процентах также могут сбивать с толку. Например, если коэффициент равен 3 (или 3 к 1, или \ (\ frac \)), то один коэффициент в 3 раза больше другого. Однако процентное увеличение вероятности составляет 200% вместо 300%:

\ [(коэффициент - 1) * 100 = (\ frac - 1) * 100 \% = 200 \% \]

Итак, для положительных шансов, которые >1, процентное увеличение рассчитывается простым вычитанием 1 из шансов.

Подумайте об этом на мгновение:если у нас может быть процентное увеличение более 100%, у нас также должно быть процентное уменьшение более 100%. Имеет смысл, правда? Конечно, да! Однако приведенная выше формула очень часто используется в научных публикациях для случаев, когда вероятность , что неверно !, потому что эта формула никогда не даст процент ниже 100%.

Что нам делать?

Что ж, помните самый первый пост о логистической регрессии, где мы рассчитали положительные шансы: 2/1, 3/1, 4/1 и т. Д. Положительные шансы просто линейнорастут от 1 до бесконечности,а деление на «1» не дает измените их. Вот почему приведенная выше формула отлично работает

Однако, когда шансы становятся все более и более отрицательными ( >1): 1/2, 1/3, 1/4 и т. Д., Они быстро приближаются к 0 вначале, но начинают замедляться по мере приближения к 0, что показывает их нелинейныйхарактер. Здесь важното, что отрицательные шансы ( >1) никогда не опустятся ниже 0 и, следовательно, никогда не опустятся ниже 100% процентного изменения. Правильная формула делит 1 на отрицательные шансы, а затем вычитает 1!Шансы модели только перехвата отрицательны, 0,62. Таким образом, неправильное процентное изменение будет:

\ [(коэффициент - 1) * 100 = (0,618047 - 1) * 100 \% = -38,2 \% \]

Хотя правильное процентное изменение будет:

\ [(1 / коэффициент - 1) * 100 = (1 / 0,618047 - 1) * -100 \% = -61,8 \% \]

Уменьшение на 38,2% и уменьшение на 61,8% - огромная разница. И если такие цифры в медицине часто неправильно рассчитываются, это огромная проблема.

Чтобы доказать, что вторая формула верна, давайте

  • сначала покажите, что это позволяет процентному уменьшению опускаться ниже 100%:

\ [(коэффициент - 1) * 100 = (1 / .3 - 1) * -100 \% = -233 \% \]

  • а во-вторых, показать, что процентное снижение шансов на выживание на Титанике равно вероятности смерти, которую мы рассчитали в самом начале = 61,8%.

Стандартная ошибка, z-значение и p-значение

Помимо оценки, выходные данные модели содержат два «менее важных» числа: стандартная ошибка (SE) и z-значение. Они нужны для расчета p-значения, что, в свою очередь, очень важно. Итак, я должен сказать хотя бы пару слов о SE и z, однако, если вы их не понимаете, все в порядке.

Если мы взяли много образцов (или повторили наш эксперимент много), мы могли бы вычислить стандартную ошибку оценки как меру неопределенности оценки. Разделив нашу оценку на стандартную ошибку, мы получим z-значение. Z-значение показывает количество стандартных отклонений, на которые точка пересечения отличается от нуля на стандартной нормальной кривой. Если значение z меньше 2, результат, скорее всего, не имеет значения. В нашем случае z-значение точки пересечения намного больше 2, что делает результат значимым. Небольшое значение p (фактически равное нулю) подтвердило этот вывод. Значение p показывает вероятность получить наше или более высокое отклонение (разность) точки пересечения от 0 на кривой нормального распределения с обеих сторон.

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

Модель с одним номинативным предиктором всего с двумя категориями

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

Во-первых, давайте посмотрим на результаты модели и разберемся с ними:

срок оценивать std.error статистика p.value
(Перехват) 0,981813 0,1040377 9,437085 0
секс-мужчина -2,425438 0,1360195 -17,831548 0

Наш (Intercept) становится лог-форы самков выживания , потому что еemale находятся по алфавиту раньше , чем мэль. Этот перехват теперь является нашим базовым уровнем, который будет использоваться для сравнения при интерпретации других переменных. Перехват 0,9818 означает, что если вокруг нет мужчин, а именно «SexMale» в уравнении логита равно нулю, то логарифмические шансы женщин останутся только с перехватом 0,9818:

\ [журнал (\ frac

) = 0,9818–2,4254 * SexMale = 0,9818–2,4254 * 0 = 0,9818 \]

В то время как точка пересечения ЯВЛЯЕТСЯлогарифмическими шансами самок, коэффициент «SexMale» (-2,4254) НЕ ЯВЛЯЕТСЯреальными логарифмическими шансами самцов, НО СКОЛЬКО СТОИМОСТЬперехода от базового уровня (представленного словом «женский») к другому. уровень («самец»)! Таким образом, это изменениевероятности выживания самца по сравнению с самкой. Положительный знакбудет означать повышенную вероятность мужского-выживаемости по сравнению с женской, в то время как отрицательный знак(как в нашем примере) указывает на пониженный вероятность мужского-выживаемости по сравнению с женщинами. Реальные логарифмические шансы самцовможно легко рассчитать, установив для «SexMale» значение 1 (потому что женский = 0, а мужской = 1) в том же уравнении:

\ [журнал (\ frac

) = 0,9818–2,4254 * SexMale = 0,9818–2,4254 * 1 = -1,4436 \]

Таким образом, реальный логарифм выживания самцов составляет -1,4436. Хороший! Однако,…

Понятие отношения шансов

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

Соотношение шансов - это… сюрприз, сюрприз… соотношение двух шансов!

Например. Разделив шансы самок на шансы самцов, можно сказать, во сколько разшансы на выживание для женщин превышаютшансы на выживание для мужчин:

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

Отношение шансов говорит нам, во сколько раз одни шансы отличаются от других. Итак, в нашем случае отношение шансов у женщин составляет 11 к 1, а у мужчин - от 1 к 0,088 (что, кстати, тоже \ (\ приблизительно 11 \)). Отношение шансов также (как логарифм шансов) можно рассматривать как величину эффекта и описывать силу взаимосвязи между двумя переменными.

Таким образом, шансы на выживание у женщин в 11 раз выше, чем у мужчин, что является еще одним выводом, который мы можем сделать из нашей модели!

Доверительные интервалы для отношений шансов

Знать отношение шансов или скорость изменения - это здорово. Однако насколько мы уверены в нашем отношении шансов? Можем ли мы этому доверять? Ответить на этот вопрос могут доверительные интервалы.

Соедините точки: например, мы можем получить отношение шансов для мужчин и его доверительные интервалы из теста Фишера :

Итак, опять же, зачем нам изучать логистическую регрессию, если мы можем использовать тест Фишера?

Что ж, тест Фишера дает нам только одно отношение шансов и доверительный интервал для мужчин, но не для женщин. Более того, добавление к модели любой дополнительной категории или предиктора отключит способность теста Фишера предоставлять доверительные интервалы.

К счастью, если мы возьмем экспоненту коэффициентов модели и их доверительные интервалы, мы получим именно это - отношения шансов вместо реальных шансов и доверительные интервалы как для мужчин, так и для женщин (в нашем случае Intercept).

Но еще более простой способ получить отношения шансов и их доверительные интервалы (плюс p-значение в качестве бонуса) - это функция odds.ratio () из пакета questionr:

ИЛИ 2,5% 97,5% п
(Перехват) 2,6692913 2,1833794 3,2840372 0
секс-мужчина 0,0884393 0,0675248 0,1151132 0

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

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

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

Последний и самый модный способ получить отношения шансов с их доверительными интервалами - это пакет sjPlot. Это мой самый любимый! и я хотел бы поблагодарить Daniel Lüdecke за создание этого замечательного пакета:

Резюме и интерпретация

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

секс женский пол мужчина
log_OR 0,982 -2,425
lower_log_OR 0,781 -2,695
upper_log_OR 1,189 -2,162
real_log_odds 0,982 -1,444
ИЛИ 2,669 0,088
lower_OR 2,183 0,068
upper_OR 3,284 0,115
п 0 0
real_odds 2,669 0,236
процент_замена 166,929 -1030,718
lower_percent_change 118,338 -1380,937
upper_percent_change 228,404 -768,710
prob_ratio 72,747 8,125
real_prob 0,727 0,191
lower_real_prob 0,685 0,166
upper_real_prob 0,766 0,219

Полная интерпретация:

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

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

то же самое и с реальными шансами, которые менее полезны, чем отношения шансов, но они могут показать, что шансы на выживание мужчин (0,236) в 11 раз ниже, чем у женщин (2,669).

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

Соотношение шансов можно преобразовать в изменения в процентах, которые также полезны и часто сообщаются. Например, поскольку OR сосредоточено вокруг 1, OR 0,088 для мужчин означает снижение выживаемости на 1036% по сравнению с женщинами.

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

Таким образом, вероятностьвыживания у мужчин составляет всего 19,1%, а у женщин - 72,7%, что в 3,8 раза выше (см. график ниже).

низкое значение p (p значительнониже, чем у женщин. Это второй хороший вывод из нашей модели!

Другой способ проверить, является ли конкретный предиктор важным для модели, - сравнить модель только с перехватом с моделью, содержащей этот конкретный предиктор:

Модель с предиктором «пол» показывает более низкое отклонение остатков и, следовательно, дает нам значительно (p

Визуализация результатов модели

Ничто не объясняет результаты модели лучше, чем визуализация! Я использую функцию plot_model () из пакета sjPlot или команду plot (allEffects ()) из пакета эффектов для нее:

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

Модель с одним номинативным предиктором с более чем двумя категориями

срок оценивать std.error статистика p.value
(Перехват) 0,4861330 0,1145866 4,242496 2.21e-05
пассажирClass2nd -0,7696046 0,1669208 -4,610597 4.00e-06
пассажирClass3rd -1,5567323 0,1433488 -10,859753 0.00e + 00

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

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

пассажирКласс 1-й 2-й 3-й
log_OR 0,486 -0,770 -1,557
lower_log_OR 0,263 -1,099 -1,840
upper_log_OR 0,713 -0,444 -1,278
real_log_odds 0,486 -0,283 -1,071
ИЛИ 1,626 0,463 0,211
lower_OR 1,301 0,333 0,159
upper_OR 2,040 0,642 0,279
п 0 0 0
real_odds 1,626 0,753 0,343
процент_замена 62,602 -115,891 -374,330
lower_percent_change 30,124 -199,997 -529,630
upper_percent_change 104,004 -55,879 -258,856
prob_ratio 61 920 31,656 17,412
real_prob 0,619 0,430 0,255
lower_real_prob 0,565 0,373 0,225
upper_real_prob 0,671 0,489 0,289

Интерпретация:

отрицательный знак 2-го и 3-го классов указывает на то, что шансы на выживание пассажиров во втором и третьем классах значительно (оба значения p

шансы на выживание для второго класса уменьшаются в 0,46 раза (см. OR) или на -116% (см. percent_change), в то время как для третьего класса они уменьшаются в 0,21 раза или на -374% по сравнению с первым класс, учитывая, что все остальные функции остаются прежними.

Вероятность выживания пассажиров первого класса самая высокая - 62%, второго класса - ниже 43%, а третьего класса - самая низкая - всего 26%.

Но что, если мы хотим сравнить 3-й класс со 2-м, а не с 1-м (который является нашим эталоном / базовым уровнем)? Для сравнения этих групп мы просто вычитаем коэффициент 2-го класса из коэффициента 3-го класса. И чтобы оценить вероятность этой разницы, мы просто возведем ее в степень.

Это говорит нам о том, что у пассажиров с билетом 3-го класса шансына выживание в 0,45 раза выше,чем у пассажиров с билетом 2-го класса. Или мы также можем сказать, что шансы на выживание уменьшаются на 122% для 3-го класса по сравнению со 2-м классом. Результат, который мы только что получили, является частью так называемого апостериорного анализа, который определенно слишком много для этого (уже длинного) поста, но он будет рассмотрен в следующих постах, касающихся логистической регрессии. Итак, следите за обновлениями 😉!

Модель с одним числовым предиктором

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

срок оценивать std.error статистика p.value
(Перехват) -0,1365312 0,1447153 -0,9434472 0,3454522
возраст -0,0078986 0,0044065 -1,7924866 0,0730550

Таким образом, реальные логарифмические шансы и реальные шансы становятся сверхпрактичными, когда нам нужно описать, что происходит с нашей числовой переменной. В то время как категориальные переменные предоставили несколько различных значений для расчета шансов, какие значения (из которых могут быть тысячи) мы выбираем для описания числовой переменной? Я не знаю. Может быть низким, средним и высоким? Функция allEffects из пакета эффектов выбирает для этого 5 чисел с одинаковыми расстояниями между точками:

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

Как мы узнаем, что оценка результатов модели - это наклон или скорость изменения? Мы можем просто доказать это, вычислив логарифмические шансы двух лет, которые находятся на расстоянии одной единицы, с возрастом 30 и 31 или 50 и 51, и взглянем на их разницу:

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

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

log_OR -0,137 -0,008
lower_log_OR -0,421 -0,017
upper_log_OR 0,147 0,001
ИЛИ 0,872 0,992
lower_OR 0,657 0,984
upper_OR 1,159 1,001
п 0,345 0,073
процент_замена -14,629 -0,793
lower_percent_change -52,277 -1,673
upper_percent_change 15.857 0,070

Что ж, теперь давайте визуализируем вероятности:

Влияние возраста незначительно, и график вероятности показывает лишь небольшое снижение выживаемости с увеличением возраста, с 47% в возрасте 0 до 32% в возрасте 80 лет. Интересно то, что доверительный интервал перекрывается между весь диапазон возрастов (просто посмотрите на белую горизонтальную линию, начинающуюся от 40% и возраста 0 и проходящую через темно-серый цвет КИ до 80-летнего возраста). Таким образом, не удивительно, что возраст не имеет значения.

Однако график вероятностей на удивление линейен, в то время как мы несколько раз настаивали на том, что вероятности не линейны. Давайте возьмем фактический прогнозируемый возраст и построим его «вручную» (в отличие от предварительно запрограммированной функции, которую мы использовали для последнего графика):

Хм, все еще линейно. Но я думаю, что причина этого в небольшом диапазоне значений возраста, который мы имеем в наших данных, который показывает нам лишь очень небольшую часть нелинейной кривой. Чтобы проверить эту гипотезу, давайте создадим новый (смехотворно большой) диапазон возрастов и заново нанесем на график вероятности, предсказанные нашей моделью - «numeric_fit»:

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

Интерпретация:

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

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

При увеличении возраста на одну единицу (год) расчетные шансы на выживание изменяются в 0,992 раза или уменьшаются на 0,8%.

Такое небольшое процентное изменение не могло быть значительным. И действительно, мое предположение подтверждается несущественным значением p (p = 0,073).

Оценка точки пересечения для числового предсказателя обычно не представляет интереса; его основная цель - привести среднюю подобранную вероятность в соответствие с долей единиц в данных.

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

Вывод

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

Что дальше

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

Если вы думаете, что я что-то упустил, прокомментируйте это, и я улучшу этот урок.

Спасибо за чтение!

Дополнительная литература, видео и ссылки

Книга: «Интерпретируемое машинное обучение. Руководство по объяснению моделей черного ящика ». Кристоф Мольнар: 2019-12-17 https://christophm.github.io/interpretable-ml-book/logistic.html

одно из самых интуитивно понятных объяснений интерпретации коэффициентов логистической регрессии: https://www.displayr.com/how-to-interpret-logistic-regression-coefficients/

потрясающее видео по этому поводу:

Юрий Заблоцкий
Специалист по данным в LMU Мюнхен, факультет ветеринарной медицины

Страсть к применению биостатистики и машинного обучения к данным наук о жизни