Sto cercando di prevedere un risultato binario usando 50 variabili esplicative continue (l'intervallo della maggior parte delle variabili va da a ∞ ). Il mio set di dati ha quasi 24.000 righe. Quando corro in R, ottengo:glm
Warning messages:
1: glm.fit: algorithm did not converge
2: glm.fit: fitted probabilities numerically 0 or 1 occurred
Ho letto le altre risposte che suggeriscono che potrebbe verificarsi una separazione perfetta, ma sono fiducioso che non sia il caso nei miei dati (anche se potrebbe esistere una separazione quasi completa; come posso testare per vedere se è così?) . Se rimuovo alcune variabili, l'errore "non converge" potrebbe scomparire. Ma non è sempre quello che succede.
Ho provato a usare le stesse variabili in una bayesglm
funzione e ho ottenuto gli stessi errori.
Quali passi faresti per capire esattamente cosa sta succedendo qui? Come capisci quali variabili stanno causando i problemi?
bayesglm
cerca di evitare la separazione aggiungendo un precedente, ma con 24.000 righe, il precedente viene probabilmente sommerso dalla probabilità. Prova a restringere prior.scale
, possibilmente di una grande quantità. Considera anche di aumentare i gradi di libertà del priore, che aiuteranno a escludere grandi valori associati alla separazione.
bayesglm
carta , sostengono che la separazione è "un problema comune, anche quando la dimensione del campione è grande e il numero di predittori è piccolo"