Я пытаюсь предсказать бинарный результат, используя 50 непрерывных объясняющих переменных (диапазон большинства переменных до ∞ ). Мой набор данных имеет почти 24 000 строк. Когда я бегу в R, я получаю:glm
Warning messages:
1: glm.fit: algorithm did not converge
2: glm.fit: fitted probabilities numerically 0 or 1 occurred
Я читал другие ответы, которые предполагают, что может иметь место идеальное разделение, но я уверен, что это не так в моих данных (хотя квази-полное разделение может существовать; как я могу проверить, чтобы увидеть, так ли это?) , Если я удалю некоторые переменные, ошибка «не сходится» может исчезнуть. Но так бывает не всегда.
Я попытался использовать те же переменные в bayesglm
функции и получил те же ошибки.
Какие шаги вы бы предприняли, чтобы точно выяснить, что здесь происходит? Как вы выясните, какие переменные вызывают проблемы?
bayesglm
попытка избежать разделения путем добавления априора, но с 24 000 строк, априор, вероятно, затоплен вероятностью. Попробуйте уменьшить prior.scale
, возможно, на большое количество. Также подумайте об увеличении степеней свободы априора, что поможет исключить большие ценности, связанные с разделением.
bayesglm
бумаге , они утверждают , что разделение «является общей проблемой, даже если размер выборки велик , а число предикторов мал»