Имеет ли значение несбалансированный образец при выполнении логистической регрессии?

81

Итак, я думаю, что у меня есть достаточно приличная выборка, принимая во внимание эмпирическое правило 20: 1: довольно большая выборка (N = 374) для в общей сложности 7 потенциальных переменных-предикторов.

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

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

Михель
источник
5
Трудно представить, как это могло быть. Возможно, вы сокращаете предсказанную вероятность на 0,5? Если это так, попробуйте изменить срез.
Анико
4
Площадь под ROC-кривой составляет .585, довольно плохой результат. Это означает, что на самом деле не существует предельного значения, в котором компромисс между специфичностью и чувствительностью стоит того. Работа с отсечкой не сильно улучшит классификацию, так как это только уменьшит специфичность примерно в той же степени, что и увеличит чувствительность.
Michiel
3
0
2
Также обратите внимание, что размер вашей выборки с точки зрения правильных прогнозов - это на самом деле количество уникальных шаблонов в переменной предиктора, а не количество выбранных людей. Например, модель с одной категориальной переменной-предиктором с двумя уровнями может соответствовать модели логистической регрессии только с двумя параметрами (по одному для каждой категории), даже если в выборке присутствуют миллионы людей.
вероятностная
Связанный: stats.stackexchange.com/questions/67903
амеба говорит Восстановить Монику

Ответы:

75

Баланс в тренировочном наборе

Для моделей логистической регрессии несбалансированные обучающие данные влияют только на оценку перехвата модели (хотя это, конечно, искажает все прогнозируемые вероятности, что, в свою очередь, ставит под угрозу ваши прогнозы). К счастью, коррекция перехвата проста: если вы знаете или можете угадать истинную пропорцию 0 и 1 и знаете пропорции в тренировочном наборе, вы можете применить коррекцию редких событий к перехвату. Подробности в King and Zeng (2001) [ PDF ].

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

Делать прогнозы

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

conjugateprior
источник
8
Если вы не знаете частоты рабочего класса, они могут быть оценены EM, не зная меток тестовых / эксплуатационных образцов. Подробности в Saerens et al. «Настройка выходов классификатора для новых априорных вероятностей: простая процедура», Нейронные вычисления, вып. 14, нет 1, стр. 21-41, 2002 ( dx.doi.org/10.1162/089976602753284446 ). Я использовал это пару раз и был впечатлен тем, как хорошо это работает. Однако обратите внимание, что теоретическая коррекция обычно не является оптимальной, и ее установка, например, путем перекрестной проверки, часто лучше.
Дикран Marsupial
Да, я должен был упомянуть, что результаты кривой ROC также не были убедительными. В этом случае я думаю, что нет порога, который дает удовлетворительные результаты.
Михель
Что касается прогнозирования: как я могу принять во внимание размер моего тренировочного набора для 0 и 1 результатов? Я действительно не хочу использовать порог 0,5, но не уверен, как это сделать в R.
Perlnika
1
@Perlnika Подробности в бумажной ссылке (в простейшем случае вы меняете оценку перехвата). Чтобы порог не составлял 0,5, просто получите прогнозируемые вероятности, используя predictи вычислите для каждого, превышает ли он новый порог.
сопряженное
1
@SassaNF Это правда, что сдвиг перехвата может быть компенсирован изменением порога. Однако это связывает вашу оценку вероятности (логический вывод) с относительной дороговизной ошибок (функция потерь), тогда как последняя может отличаться в приложениях. Например, когда стоимость принятия 1 за 0 равна C, умноженной на стоимость принятия 0 за 1, вы захотите ограничить предполагаемую вероятность 1 / (1 + C).
conjugateprior
41

Проблема не в том, что классы несбалансированы сами по себе, а в том, что может быть недостаточно шаблонов, принадлежащих к классу меньшинства, чтобы адекватно представлять его распределение. Это означает, что проблема может возникнуть для любого классификатора (даже если у вас есть синтетическая проблема, и вы знаете, что у вас есть истинная модель), а не только логистическая регрессия. Хорошо, что с появлением новых данных проблема «дисбаланса классов» обычно исчезает. Сказав, что 4: 1 не все, что несбалансировано.

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

Дикран Сумчатый
источник
6
+1If you use a balanced dataset, the important thing is to remember that the output of the model is now an estimate of the a-posteriori probability
Жубарб
2

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

Смотрите здесь для более подробного объяснения.

https://statisticalhorizons.com/logistic-regression-for-rare-events

Пол Таллох
источник
5
Это не похоже на ответ на вопрос.
Майкл Черник
Это потому, что нет однозначного ответа! Речь идет о том, как вы его применяете, и о том, какой уклон вы готовы допустить в процессе оценки.
Пол Таллох
1
Я думаю, что это отличный ответ. Насколько я понимаю, все попытки исправить дисбаланс основаны на каких-то внешних знаниях, не отраженных в эксперименте. В частности, знание базового распределения поможет с исправлениями.
user1700890