Мотивация
До сих пор мы рассматривали в основном модели вида
с шумом из того или иного распределения. Но у этих моделей:
- шум не зависит от ;
- может принимать любые значения.
А что, если мы захотим предсказывать время ожидания доставки? Казалось бы, чем дольше время потенциального ожидания, тем больше его дисперсия. А как корректно предсказывать таргет, который принимает только целые значения?
Один из подходов мы обсудим в этом параграфе. Грубо говоря, вместо того, чтобы прибавлять один и тот же шум, мы зафиксируем семейство распределений , в котором изменяемым параметром будет зависящее от математическое ожидание .
Вот как могут выглядеть такие модели для случаев, если нормальное с фиксированной дисперсией, экспоненциальное или пуассоновское соответственно:
Как видим, такой подход позволяет получать и модели с меняющейся дисперсией шума, и модели с целочисленным таргетом.
Определение
Мы рассмотрим достаточно широкий класс моделей — обобщённые линейные модели (generalized linear models, GLM). К ним относятся, в частности, линейная и логистическая регрессии. В итоге мы научимся подбирать подходящую регрессионную модель для самых разных типов данных.
Вспомним, что вероятностную модель линейной регрессии можно записать как
а вероятностную модель логистической регрессии — как
где — распределение Бернулли с параметром , а .
Итак, чем в этих терминах отличаются вероятностные модели линейной и логистической регрессии? Во первых, параметризованное семейство распределений для , а именно, в случае линейной регрессии и в случае логистической.
Во-вторых, в обоих случаях математическое ожидание условного распределения является функцией от . На это можно посмотреть и по-другому: для каждой из задач выбрана функция такая, что . Эта функция называется функцией связи (link function).
В случае линейной регрессии . В самом деле, . В случае логистической регрессии . Давайте это тоже проверим. В модели логистической регрессии условное распределение — это распределение Бернулли с вероятностью успеха , и этой же вероятности равно его математическое ожидание. Следовательно, .
Обобщая, можно сказать, что, если данные таковы, что не является линейной функцией от , мы линеаризуем с помощью функции связи .
Замечание: Вообще говоря, нормальное распределение определяется не только своим математическим ожиданием, но и стандартным отклонением. То есть, в отличие от логистической регрессии, модель линейной регрессии не позволяет для данного оценить все параметры распределения , и дисперсию приходится фиксировать изначально. К счастью, выбор её значения в нормальном распределении не влияет ни на оптимальный вектор весов , ни на итоговые предсказания , которые выдаёт обученная модель.
Продолжим. Задав эти две составляющие — параметризованное семейство распределений и функцию связи — мы получим обобщённую линейную модель (GLM).
Для нового объекта она выдаст предсказание , а выбор класса распределений потребуется нам для подбора весов . В принципе, можно выбрать любой класс распределений и любую монотонную функцию связи , получив некоторую вероятностную модель. Однако обычно для упрощения поиска оптимальных весов в GLM предполагают, что принадлежит одному из достаточно простых семейств экспоненциального класса.
Что даёт нам принадлежность экспоненциальному классу?
В контексте GLM обычно рассматривают подкласс экспоненциального класса, состоящий из семейств, представимых в виде
где и — скалярные параметры, причём — нечто фиксированное, обычно дисперсия, которая чаще всего полагается равной , а значения параметризуют распределения из семейства. Нетрудно переписать плотность в более привычном для нас виде, чтобы стало очевидно, что это семейство действительно из экспоненциального класса:
Действительно, если вспомнить, что — это константа, а не параметр, то получается очень похоже на
В частности, мы видим, что состоит из единственной компоненты , равной . По доказанной в предыдущем разделе лемме имеем тогда, что математическое ожидание такой случайной величины равно
До сих пор мы рассуждали о распределении без в условии. Что будет, если его добавить? Параметр мы договорились сохранять постоянным, тогда от должен зависеть единственный оставшийся параметр .
Самый естественный в нашей ситуации вариант — это положить . В GLM мы вводили функцию , для которой , то есть . Но ведь матожидание равно , то есть . Это позволяет нам однозначно определить функцию связи . Такая функция связи называется канонической функцией связи (canonical link function).
Примеры
Поговорим немного о том, как на практике подбирать , чтобы по классу распределений определить каноническую функцию связи. Чтобы разобраться, рассмотрим несколько примеров.
Пример 1. Пусть мы решили применить к данным линейную регрессию. Тогда
Обозначим для краткости и будем рассматривать .
Мы уже знаем, что семейство нормальных распределений относится к экспоненциальному классу, но давайте выразим эту плотность в описанном выше более частном виде:
В формуле экспоненциального семейства распределений единственная часть, не зависящая от , — это функция . Поскольку , функция также не должна зависеть от . Так что внутри экспоненты выделим в качестве функции всё, что не зависит от :
Эта формула уже похожа на формулу экспоненциального семейства распределений и видно, что , (коэффициент при ), , .
Каноническая функция связи является обратной к , то есть , как мы и привыкли.
Пример 2. Проделаем то же самое, но теперь для распределения Бернулли.
Если вам интересно — попробуйте сперва сами, прежде чем читать решение.
Пусть . Тогда функция вероятности имеет вид
То есть мы можем положить , , , .
Найдём каноническую функцию связи. Имеем . Следовательно, . Как и ожидалось, это функция , используемая в логистической регрессии. Соответственно, .
Пример 3. Хорошо, про линейную и логистическую регрессию мы и так знали. Давайте попробуем решить с помощью GLM новую задачу.
Пусть мы хотим по каким-то признакам предсказать количество «лайков», которое пользователи поставят посту в социальной сети за первые 10 минут после публикации. Конечно, можно использовать для этого линейную регрессию. Однако предположение линейной регрессии, что , в данном случае странное по нескольким причинам.
Во-первых, количество лайков заведомо не может быть отрицательным, а нормальное распределение всегда будет допускать ненулевую вероятность отрицательного значения.
Во-вторых, количество лайков — всегда целое число.
В-третьих, у распределения количества лайков, скорее всего, положительный коэффициент асимметрии (skewness). То есть, если модель предсказывает, что под постом будет 100 лайков, мы скорее можем ожидать, что под ним окажется 200 лайков, чем 0. Нормальное распределение симметрично и не может описать такие данные.
С другой стороны, если мы предположим, что в первые 10 минут после публикации есть какая-то постоянная частота (своя для каждого поста, зависящая от ), с которой пользователи ставят лайк, мы получим, что количество лайков имеет распределение Пуассона. Распределение Пуассона не имеет описанных выше проблем:
Но какая будет каноническая функция связи, если мы считаем, что ? Аналогично первому и второму примерам:
Откуда , , ,
Значит, эта модель (она называется пуассоновская регрессия), будет предсказывать с помощью формулы .
Вопрос на подумать. В каких ситуациях была бы полезной функция связи complementary log-log link (cloglog)
Ответ (не открывайте сразу; сначала подумайте сами!)
Давайте разбираться. Предсказание с такой функцией связи будет иметь вид
Функция принимает значения на отрезке от до , так что речь идёт о предсказании вероятностей в задаче бинарной классификации. Сравним с привычной нам сигмоидой:
График не симметричен. Можно сказать, что модель, основанная на функции связи cloglog, похожа на логистическую регрессию в области точек, уверенно отнесённых к нулевому классу, но с уменьшением этой уверенности они приписываются близкие к единице вероятности всё «охотнее».
Эта функция связи может оказаться полезной, если объекты положительного класса редки (обнаружение редких событий).