Я намагаюся передбачити бінарний результат, використовуючи 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
намагається уникнути розлуки, додаючи попереднє, але, маючи 24000 рядків, пріоритет, ймовірно, потрапляє в забрудненість. Спробуйте зменшити prior.scale
, можливо, на велику кількість. Також розглянути можливість підвищення рівня пріоритетності пріоритету, що допоможе виключити великі значення, пов'язані з розділенням.
bayesglm
папері , вони стверджують , що поділ «є спільною проблемою, навіть якщо розмір вибірки великий , а число предикторов малий»