Je suis en train de prédire un résultat binaire en utilisant 50 variables continues explicatives (la gamme de la plupart des variables est à ∞ ). Mon ensemble de données contient près de 24 000 lignes. Quand je cours en R, je reçois:glm
Warning messages:
1: glm.fit: algorithm did not converge
2: glm.fit: fitted probabilities numerically 0 or 1 occurred
J'ai lu les autres réponses qui suggèrent une séparation parfaite, mais je suis convaincu que ce n'est pas le cas dans mes données (bien qu'une séparation quasi complète puisse exister, comment puis-je vérifier si c'est le cas?) . Si je supprime certaines variables, l'erreur "ne converge pas" risque de disparaître. Mais ce n'est pas toujours ce qui se passe.
J'ai essayé d'utiliser les mêmes variables dans une bayesglm
fonction et j'ai eu les mêmes erreurs.
Quelles mesures prendriez-vous pour savoir exactement ce qui se passe ici? Comment déterminez-vous les variables à l'origine des problèmes?
bayesglm
essaie d'éviter la séparation en ajoutant un avant, mais avec 24 000 lignes, le précédent est probablement submergé par la probabilité. Essayez de rétrécir prior.scale
, peut-être beaucoup. Pensez également à augmenter les degrés de liberté des précédents, ce qui aidera à éliminer les grandes valeurs associées à la séparation.
bayesglm
article , ils soutiennent que la séparation est "un problème commun, même lorsque la taille de l'échantillon est grande et que le nombre de prédicteurs est faible"