У меня есть набор данных , в котором частота событий очень низка (40000 отказа от ). Я применяю логистическую регрессию по этому вопросу. У меня была дискуссия с кем-то, где выяснилось, что логистическая регрессия не даст хорошей матрицы путаницы для данных с такой низкой частотой событий. Но из-за бизнес-проблемы и способа ее определения я не могу увеличить число событий с 40 000 до большего числа, хотя я согласен с тем, что могу удалить какое-то незапланированное население.
Пожалуйста, скажите мне свое мнение по этому вопросу, а именно:
- Зависит ли точность логистической регрессии от частоты событий или есть минимальная частота событий, которая рекомендуется?
- Есть ли какая-то специальная техника для данных с низкой частотой событий?
- Будет ли удаление моей популяции, которая не принадлежит никому, хорошо для точности моей модели?
Я новичок в статистическом моделировании, поэтому простите мое невежество и, пожалуйста, решайте любые связанные с этим вопросы, о которых я мог подумать.
Благодарность,
Ответы:
Я собираюсь ответить на ваши вопросы не по порядку:
Каждое наблюдение предоставит некоторую дополнительную информацию о параметре (через функцию правдоподобия). Поэтому нет смысла удалять данные, так как вы просто потеряете информацию.
Технически, да: редкое наблюдение гораздо более информативно (то есть функция правдоподобия будет круче). Если бы ваше соотношение событий составляло 50:50, вы бы получили гораздо более узкие доверительные интервалы (или достоверные интервалы, если вы являетесь байесовским) для того же объема данных . Однако вы не можете выбирать частоту событий (если не проводите исследование «случай-контроль»), поэтому вам придется обходиться тем, что у вас есть.
Самая большая проблема, которая может возникнуть, это идеальное разделение : это происходит, когда некоторая комбинация переменных дает все не-события (или все события): в этом случае оценки параметров максимального правдоподобия (и их стандартные ошибки) будут приближаться к бесконечности (хотя обычно алгоритм остановится заранее). Есть два возможных решения:
а) удаление предикторов из модели: хотя это сделает ваш алгоритм сходящимся, вы удалите переменную с наибольшей объяснительной силой, так что это имеет смысл только в том случае, если ваша модель была переобучена для начала (например, подгонка слишком большого количества сложных взаимодействий) ,
б) использовать какой-либо вид наказания, такой как предварительное распределение, которое сократит оценки до более разумных значений.
источник
glm
функции R. В худшем случае это все равно, что отбрасывать часть каждой уменьшенной точки данных, но это не совсем то же самое. 2) Как я уже сказал, есть компромиссы, связанные с этим решением. Вероятно, это имеет смысл в тех случаях, когда выборка из населения не является четко определенной, и истинная частота событий не имеет смысла с самого начала. Я конечно не рекомендовал бы это через правление.Существует лучшая альтернатива удалению событий для временных или пространственных данных: вы можете агрегировать данные по времени / пространству и моделировать их как Пуассона. Например, если ваше событие «извержение вулкана происходит в день X», то не много дней будет извержение вулкана. Однако, если вы сгруппируете дни в недели или месяцы, например, «количество извержений вулкана в месяце X», то вы уменьшите количество событий, и у большего количества событий будут ненулевые значения.
источник