В этом параграфе мы узнаем, какие факторы повлияли на «живучесть» персонажей «Игры престолов». В этом нам поможет логистическая регрессия — ещё один статистический тест, в котором зависимая переменная принимает бинарные значения.

И снова — прежде чем мы начнём, два важных нюанса:

  • В этом параграфе мы дадим теорию, все вычисления мы сделаем в Python в следующем параграфе.
  • Это последний сложный параграф учебника. Но вам не привыкать к трудностям, вы справитесь!

Оценка вероятности и отношения шансов

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

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

11

Для игрального кубика всё просто. Нам нужно узнать сколько всего событий возможно: у кубика шесть граней, поэтому возможно шесть событий. Дальше нужно понять, сколько событий нас устраивает, а сколько — нет. Если нам нужна единица - успехом будет выпадение только единицы. Если нам нужно нечётное число, то их на кубике три. Дальше мы просто составляем дробь, где в числителе нужные нам события, а в знаменателе — все события. На изображении мы видим, что вероятность выпадения каждого числа — одна шестая или 16,6%. Для нечетных чисел вероятность — одна вторая или 50%.

Ничего не напоминает? Верно — это биномиальный тест из параграфа 3.2, просто сформулированный другими словами.

Отношение устраивающих и всех исходов часто называют отношением шансов. Мы можем использовать его вместо оценки вероятности. Равноценно сказать: «нечётное число выпадет в трёх шансах из шести» или «нечётное число выпадает с вероятностью 50%».

11

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

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

Оценка логистической регрессии

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

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

Хотя логистическая регрессия может быть расширена и дополнена, в этом параграфе мы остановимся только на одной и основной из них — бинарной. Если мы говорим «логистическая регрессия», то имеем в виду «бинарную логистическую регрессию».

Возьмем набор данных с информацией о смерти персонажей на момент финала первого сезона «Игры Престолов». Зависимая переменная принимает два значения: «Мертв - 0, жив - 1». Мы знаем несколько дополнительных характеристик персонажей: титул, гендер и возраст. Мы хотим понять, какие из этих характеристик связаны с тем, что персонаж остался в живых (назовём это положительным исходом).

Имя

Титул (не дворянин - 0; дворянин - 1)

Гендер (М/Ж)

Возраст

Мертв - 0; Жив - 1

Джон Сноу

0

М

17

1

Маргери Тирелл

1

Ж

16

1

Эддард Старк

1

М

35

0

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

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

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

Приведём ещё один пример. Например, мы можем оценить вероятность регистрации посетителей страницы (событие — нажали на кнопку «Зарегистрироваться» или нет) в зависимости от следующих условий:

  • длительность загрузки страницы;
  • использование одного из трёх вариантов заголовков;
  • расположение кнопки «Зарегистрироваться».

Может оказаться так, что уменьшение загрузки страницы на одну секунду увеличивает вероятность регистрации в два раза (на 200%). Или что один из заголовков уменьшает вероятность регистрации вдвое (на 50%).

Зависимая переменная логистической регрессии

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

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

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

Важно не путать независимость наблюдений, независимые переменные и зависимую переменную.

🔍 Независимость переменных — никакие наблюдения в наборе данных никак не влияют друг на друга и не связаны между собой

🔍 Независимая переменная — переменная, которая выбрана для оценки её эффекта на зависимую переменную.

🔍 Зависимая переменная — переменная, изменения которой оцениваются в связи с изменениями независимой переменной.

Давайте разберемся с первым из них, о требованиях к зависимой переменной. Проиллюстрируем это снова на примере «Игры престолов». Визуализируем количество серий, в которых появлялся персонаж и то, остался ли он в сериале жив или мертв. Добавим линию линейной регрессии.

11

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

Тут вы могли бы спросить: «Но почему тогда мы не использовали для расчёта линейную регрессию?» Если коротко — линарная переменная не является нормально распределённой по определению. Поэтому-то мы и используем логистическую регрессию.

Её график выглядит вот так:

11

Чисто визуально видно главное различие с линейной регрессией: изгибы сверху и снизу. Благодаря им, значения близкие к крайним рассматриваются соответственно как более или менее вероятные.

Выбор лучшей модели

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

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

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

Мы говорили, что для линейной регрессии используется доля объясненной дисперсии — . Для логистической регрессии его невозможно вычислить по аналогии, поэтому используются альтернативные метрики. Один из распространенных — это псевдо- McFadden. Используется также несколько альтернативных. Разница между ними в консервативности оценок. Упомянутый выше McFadden — один из самых консервативных.

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

Точность модели

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

Вернемся к «Игре Престолов». Давайте посмотрим, как выглядит ситуация, когда переменная возраста плохо предсказывает вероятность выживания персонажа в сериале.

11

Чем ближе кривая находится к пересекающей прямой, тем хуже переменная предсказывает результат. Рассмотрим пример обратной ситуации.

11

Так выглядит почти идеальное предсказание. Расстояние между пересекающей прямой и кривой гораздо больше. Этот график визуализирует показатель AUROC (Area Under Receiving Operating Characteristic) — площадь под ROC-кривой. Он распределен от 0.5 до 1. По факту ситуации, когда AUROC = 1 не случается.

🔍AUROC — показатель, отражающий насколько точно непрерывная переменная предсказывает зависимую переменную в логистической модели.

Можно сказать, что переменная удовлетворительно предсказывает зависимую переменную при AUROC >= 0.8. Если мы получаем значение меньше, это рождает сомнение в том, что переменная очень хороша для предсказания.

Отлично, с теорией мы разобрались. В следующем параграфе перейдём к практике и рассчитаем другие факторы, которые влияют на выживаемость персонажей «Игры престолов».

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

Вступайте в сообщество хендбука

Здесь можно найти единомышленников, экспертов и просто интересных собеседников. А ещё — получить помощь или поделиться знаниями.
Вступить
Сообщить об ошибке
Предыдущий параграф11.1. Оценка качества данных
Следующий параграф11.3. Логистическая регрессия в Python