Итак, я думаю, что у меня есть достаточно приличная выборка, принимая во внимание эмпирическое правило 20: 1: довольно большая выборка (N = 374) для в общей сложности 7 потенциальных переменных-предикторов.
Моя проблема заключается в следующем: независимо от того, какой набор переменных предикторов я использую, классификации никогда не становятся лучше, чем специфичность 100% и чувствительность 0%. Как бы неудовлетворительно это ни было на самом деле может быть наилучшим результатом, учитывая набор переменных-предикторов-кандидатов (от которых я не могу отклониться).
Но я не мог не думать о том, что могу добиться большего успеха, поэтому я заметил, что категории зависимой переменной были довольно неравномерно сбалансированы, почти 4: 1. Может ли более сбалансированная подвыборка улучшить классификацию?
Ответы:
Баланс в тренировочном наборе
Для моделей логистической регрессии несбалансированные обучающие данные влияют только на оценку перехвата модели (хотя это, конечно, искажает все прогнозируемые вероятности, что, в свою очередь, ставит под угрозу ваши прогнозы). К счастью, коррекция перехвата проста: если вы знаете или можете угадать истинную пропорцию 0 и 1 и знаете пропорции в тренировочном наборе, вы можете применить коррекцию редких событий к перехвату. Подробности в King and Zeng (2001) [ PDF ].
Эти «поправки на редкие события» были разработаны для планов исследований «случай-контроль», которые в основном используются в эпидемиологии, которые отбирают случаи путем выбора фиксированного, обычно сбалансированного числа из 0 случаев и 1 случая, а затем необходимо корректировать смещение в результате отбора выборки. В самом деле, вы можете тренировать свой классификатор таким же образом. Выберите хорошую сбалансированную выборку и затем исправьте перехват, чтобы учесть тот факт, что вы выбрали зависимую переменную, чтобы узнать больше о более редких классах, чем случайная выборка могла бы вам рассказать.
Делать прогнозы
На смежную, но отличную тему: не забывайте, что вы должны разумно устанавливать пороги, чтобы делать прогнозы. Не всегда лучше прогнозировать 1, когда вероятность модели больше 0,5. Другой порог может быть лучше. Для этого вам следует изучить кривые «Операционная характеристика приемника» (ROC) вашего классификатора, а не только его прогнозирующий успех с порогом вероятности по умолчанию.
источник
predict
и вычислите для каждого, превышает ли он новый порог.Проблема не в том, что классы несбалансированы сами по себе, а в том, что может быть недостаточно шаблонов, принадлежащих к классу меньшинства, чтобы адекватно представлять его распределение. Это означает, что проблема может возникнуть для любого классификатора (даже если у вас есть синтетическая проблема, и вы знаете, что у вас есть истинная модель), а не только логистическая регрессия. Хорошо, что с появлением новых данных проблема «дисбаланса классов» обычно исчезает. Сказав, что 4: 1 не все, что несбалансировано.
Если вы используете сбалансированный набор данных, важно помнить, что выходные данные модели теперь являются оценкой апостериорной вероятности, предполагая, что классы одинаково распространены, и поэтому вы можете сместить модель слишком далеко. Я бы по-разному взвешивал паттерны, принадлежащие каждому классу, и выбирал веса, сводя к минимуму перекрестную энтропию на тестовом наборе с правильными частотами рабочего класса.
источник
If 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
Подумайте о базовых распределениях двух образцов. Достаточно ли у вас выборки, чтобы измерить обе подгруппы без огромного смещения в меньшей выборке?
Смотрите здесь для более подробного объяснения.
https://statisticalhorizons.com/logistic-regression-for-rare-events
источник