Estou tentando prever um resultado binário usando 50 variáveis explicativas contínuas (o intervalo da maioria das variáveis é a ). Meu conjunto de dados tem quase 24.000 linhas. Quando corro no R, recebo:glm
Warning messages:
1: glm.fit: algorithm did not converge
2: glm.fit: fitted probabilities numerically 0 or 1 occurred
Li as outras respostas que sugerem que a separação perfeita pode estar ocorrendo, mas estou confiante de que não é o caso nos meus dados (embora possa existir uma separação quase completa; como posso testar para ver se é esse o caso?) . Se eu remover algumas variáveis, o erro "não converge" pode desaparecer. Mas isso nem sempre é o que acontece.
Tentei usar as mesmas variáveis em uma bayesglm
função e obtive os mesmos erros.
Que medidas você daria para descobrir exatamente o que está acontecendo aqui? Como você descobre quais variáveis estão causando os problemas?
bayesglm
tenta evitar a separação adicionando um prior, mas com 24.000 linhas, o prior provavelmente está sendo inundado pela probabilidade. Tente encolher prior.scale
, possivelmente em grande quantidade. Considere também aumentar os graus de liberdade do prior, o que ajudará a descartar grandes valores associados à separação.
bayesglm
papel , eles argumentam que a separação é "um problema comum, mesmo quando o tamanho da amostra é grande eo número de preditores é pequena"