Почему логистическая регрессия становится нестабильной, когда классы хорошо разделены? Что значит хорошо разделенные классы? Я был бы очень признателен, если бы кто-то мог объяснить на примере.
r
regression
logistic
separation
Джейн Доу
источник
источник
Ответы:
Неправильно, что логистическая регрессия сама по себе становится нестабильной, когда есть разделение. Разделение означает, что есть некоторые переменные, которые являются очень хорошими предикторами, что хорошо, или разделение может быть артефактом слишком малого числа наблюдений / слишком большого количества переменных. Если это так, решение может быть получить больше данных. Но само разделение является лишь симптомом, а не проблемой само по себе.
Так что есть действительно разные случаи, которые нужно лечить. Во-первых, какова цель анализа? Если конечным результатом анализа является некоторая классификация случаев, разделение вообще не является проблемой, это действительно означает, что существуют очень хорошие переменные, дающие очень хорошую классификацию. Но если целью является оценка риска, нам нужны оценки параметров, а с разделением обычных оценок mle (максимального правдоподобия) не существует. Таким образом, мы должны изменить метод оценки, может быть. В литературе есть несколько предложений, я к этому еще вернусь.
Тогда есть (как сказано выше) две разные возможные причины для разделения. В полной совокупности может быть разделение, или разделение может быть вызвано несколькими наблюдаемыми случаями / слишком большим количеством переменных.
Что разделяет с разделением, так это процедура оценки максимального правдоподобия. Оценки параметров mle (или, по крайней мере, некоторые из них) становятся бесконечными. В первой версии этого ответа я сказал, что это можно легко решить, возможно, с помощью начальной загрузки, но это не работает, так как в каждой начальной загрузке будет разделение, по крайней мере с обычной процедурой начальной загрузки. Но логистическая регрессия все еще является действительной моделью, но нам нужна другая процедура оценки. Некоторые предложения были:
Если вы используете R, в CRAN есть пакет,
SafeBinaryRegression
который помогает диагностировать проблемы с разделением, используя математические методы оптимизации, чтобы убедиться, что есть разделение или квазисепарация! Далее я приведу смоделированный пример с использованием этого пакета иelrm
пакета для приблизительной условной логистической регрессии.Во-первых, простой пример с
safeBinaryRegression
пакетом. Этот пакет просто переопределяетglm
функцию, перегружая ее тестом разделения, используя методы линейного программирования. Если он обнаруживает разделение, он завершается с ошибкой, заявляя, что mle не существует. В противном случае он просто запускает обычнуюglm
функцию изstats
. Пример взят со страниц справки:Выход из его запуска:
Теперь мы моделируем из модели, которая может быть близко аппроксимирована логистической моделью, за исключением того, что выше определенного предела вероятность события составляет ровно 1,0. Подумайте о проблеме биоанализа, но сверх предела яд всегда убивает:
При выполнении этого кода мы оцениваем вероятность разделения как 0,759. Запустите код самостоятельно, это быстро!
Затем мы расширяем этот код, чтобы попробовать различные процедуры оценки, mle и приблизительную условную логистическую регрессию от elrm. Запуск этого моделирования займет около 40 минут на моем компьютере.
Теперь мы хотим построить результаты, но перед этим отметим, что ВСЕ условные оценки равны! Это действительно странно и нуждается в объяснении ... Общее значение 0,9523975. Но, по крайней мере, мы получили конечные оценки с доверительными интервалами, которые содержат истинное значение (здесь не показано). Поэтому я покажу только гистограмму оценок mle в случаях без разделения:
[
Примечательно, что все оценки меньше истинного значения 1,5. Это может быть связано с тем, что мы смоделировали из модифицированной модели, нуждается в исследовании.
источник
Здесь есть хорошие ответы от @ sean501 и @kjetilbhalvorsen. Вы просили пример. Посмотрите на рисунок ниже. Вы можете встретить некоторые ситуации , в которой процесс генерирования данных подобен изображенному на панели A . Если это так, то вполне возможно , что данные , которые вы на самом деле собираетесь выглядеть , как на панели B . Теперь, когда вы используете данные для построения статистической модели, идея состоит в том, чтобы восстановить истинный процесс генерирования данных или, по крайней мере, придумать приблизительное приближение. Таким образом, вопрос в том, даст ли логистическая регрессия для данных в B модель, которая приближается к синей линии в A ? Если вы посмотрите на панель CВы можете видеть, что серая линия лучше приближает данные, чем истинная функция, поэтому при поиске наилучшего соответствия логистическая регрессия «предпочтет» вернуть серую линию, а не синюю. Это не останавливается там, как бы то ни было. Глядя на панель Dчерная линия лучше аппроксимирует данные, чем серая - на самом деле это наилучшее совпадение, которое может произойти. Такова линия, которую преследует модель логистической регрессии. Это соответствует пересечению отрицательной бесконечности и наклону бесконечности. Это, конечно, очень далеко от истины, которую вы надеетесь восстановить. Полное разделение может также вызвать проблемы с вычислением p-значений для ваших переменных, которые стандартно поставляются с выводом логистической регрессии (объяснение здесь немного другое и более сложное). Более того, попытка объединить это соответствие с другими попытками, например, с метаанализом, просто сделает другие выводы менее точными.
источник
Это означает, что существует гиперплоскость, в которой с одной стороны находятся все положительные точки, а с другой - все отрицательные. В этом случае решение с максимальным правдоподобием является плоским 1 на одной стороне и плоским 0 на другой стороне, что достигается с помощью логистической функции, когда коэффициенты находятся в бесконечности.
источник
То, что вы называете «разделением» (не «разделением»), охватывает две разные ситуации, которые в конечном итоге вызывают одну и ту же проблему - которую я бы не назвал проблемой «нестабильности», как вы.
Иллюстрация: Выживание на Титанике
Это было бы так, если бы все пассажиры первого класса на « Титанике» пережили крушение, и никто из пассажиров второго класса не выжил.
Почему логистическая регрессия "нестабильна" в этих случаях?
Это хорошо объясняется в Rainey 2016 и Zorn 2005 .
В обоих случаях функция правдоподобия вашей модели не сможет найти оценку максимального правдоподобия: она только найдет аппроксимацию этого значения, приблизившись к нему асимптотически.
То, что вы называете «нестабильностью», - это тот факт, что в случаях полного или почти полного разделения нет конечной вероятности достижения логистической модели. Однако я бы не стал использовать этот термин: функция правдоподобия, на самом деле, довольно «стабильна» (монотонна) при присвоении значений коэффициентов бесконечности.
Примечание: мой пример вымышленный. Выживание на Титанике не сводилось только к членству в пассажирском классе. См Холл (1986) .
источник