Waarom krijg ik de waarschuwing “algoritme is niet geconvergeerd” en “waarschijnlijk numeriek 0 of 1 voorzien” van glm?

Dus dit is een heel simpele vraag, ik kom er gewoon niet uit.

Ik voer een logit uit met behulp van de glm-functie, maar krijg steeds waarschuwingsberichten met betrekking tot de onafhankelijke variabele. Ze zijn opgeslagen als factoren en ik heb ze veranderd in numeriek, maar had geen geluk. Ik heb ze ook gecodeerd naar 0/1, maar dat werkte ook niet.

Help alstublieft!

> mod2 <- glm(winorlose1 ~ bid1, family="binomial")
Warning messages:
1: glm.fit: algorithm did not converge 
2: glm.fit: fitted probabilities numerically 0 or 1 occurred 

Ik heb het ook geprobeerd in Zelig, maar soortgelijke fout:

> mod2 = zelig(factor(winorlose1) ~ bid1, data=dat, model="logit")
How to cite this model in Zelig:
Kosuke Imai, Gary King, and Oliva Lau. 2008. "logit: Logistic Regression for Dichotomous Dependent Variables" in Kosuke Imai, Gary King, and Olivia Lau, "Zelig: Everyone's Statistical Software," http://gking.harvard.edu/zelig
Warning messages:
1: glm.fit: algorithm did not converge 
2: glm.fit: fitted probabilities numerically 0 or 1 occurred 

BEWERKEN:

> str(dat)
'data.frame':   3493 obs. of  3 variables:
 $ winorlose1: int  2 2 2 2 2 2 2 2 2 2 ...
 $ bid1      : int  700 300 700 300 500 300 300 700 300 300 ...
 $ home      : int  1 0 1 0 0 0 0 1 0 0 ...
 - attr(*, "na.action")=Class 'omit'  Named int [1:63021] 3494 3495 3496 3497 3498 3499 3500 3501 3502 3503 ...
  .. ..- attr(*, "names")= chr [1:63021] "3494" "3495" "3496" "3497" ...

Antwoord 1, autoriteit 100%

Als u op zoek bent naar ?glm(OF Zelfs een Google-zoekopdracht voor uw tweede waarschuwingsbericht) kunt u hierover struikelen van de documentatie:

Voor de achtergrond voor waarschuwingsberichten over ‘gemonteerde kansen numeriek 0 of 1 gebeurde’ voor binomiale GLMS, zie Venables & AMP; Ripley (2002, pp. 197-8).

Nu, niet iedereen heeft dat boek. Maar ervan uitgaande dat het koosjer voor mij is om dit te doen, hier is de relevante passage:

Er is een vrij gebruikelijke omstandigheid waarin beide convergentie
Problemen en het Phenomeen Hauck-Donner kan optreden. Dit is wanneer de
Gepaste kansen zijn extreem dicht bij nul of een. Overweeg een
Medische diagnose-probleem met duizenden gevallen en ongeveer 50 binair
verklarende variabele (die kan ontstaan ​​door het coderen van minder categorisch
variabelen); Een van deze indicatoren is zelden waar, maar altijd
Geeft aan dat de ziekte aanwezig is. Dan de gemonteerde kansen
van gevallen met die indicator moet één zijn, die alleen kan worden bereikt
Door β I = ∞ te nemen. Het resultaat van glmZAL ZIJN
waarschuwingen en een geschatte coëfficiënt van ongeveer +/- 10. Er is geweest
redelijk uitgebreide discussie hierover in de statistische literatuur,
Meestal claimen van niet-bestaan ​​van schattingen van maximale waarschijnlijkheid; zien
Sautner en Duffy (1989, blz. 234).

Een van de auteurs van dit boek merkte in iets meer detail hier . Dus de les is hier om zorgvuldig te kijken naar een van de niveaus van je voorspeller. (En Google het waarschuwingsbericht!)


Antwoord 2, Autoriteit 10%

Dit is waarschijnlijk te wijten aan volledige scheiding, d.w.z. één groep die volledig is samengesteld uit 0S of 1S.

Er zijn verschillende opties om hiermee om te gaan:

(a) Gebruik Firth’s bestrafte waarschijnlijkheidsmethode, zoals geïmplementeerd in de pakketten logistfof brglmin R. Dit gebruikt de methode die wordt voorgesteld in Firth (1993), “Bias reduction of maximum likelihood schattingen”, Biometrika, 80,1.; die de eerste-orde-bias verwijdert uit maximale waarschijnlijkheidsschattingen.

(b) Door mediaan-onbevooroordeelde schattingen te gebruiken in exacte conditionele logistische regressie. Pakket elrmof logistiXin R kan dit.

(c) Gebruik LASSO of elastische netto geregulariseerde logistische regressie, b.v. met behulp van het glmnet-pakket in R.

(d) Ga Bayesiaans, vgl. de paper Gelman et al (2008), “Een zwak informatieve standaard voorafgaande distributie voor logistieke en andere regressiemodellen” , Ann. toepassing Stat., 2, 4en functie bayesglmin het armpakket.

(e) Gebruik een verborgen logistisch regressiemodel, zoals beschreven in Rousseeuw & Christmann (2003), “Robuustheid tegen separatie en uitbijters in logistische regressie”, Computational Statistics & Gegevensanalyse, 43, 3, en geïmplementeerd in het R-pakket hlr.

U moet uw factor als factor eerst hercoderen met behulp van dat$bid1 = as.factor(dat$bid1))

oplossingen voor dit probleem worden hier ook besproken:

https://stats.stackexchange.com / Vragen / 11109 / How-to-deal-met-Perfect-Separation-In-Logistic-Regression

HTTPS: // Statistieken .StackExchange.com / vragen / 45803 / logistiek-regression-in-R-resulteerde-in-perfect-separatie-hack-Donner-fenomeen

https : //stats.stackexchange.com/questions/239928/Is-ther-any-intinitive-explanation-of-why-logistic-regression-will-not-work-for

https://stats.stackexchange.com/questions / 5354 / logistiek-regression-model-do-not-converge? RQ = 1


Antwoord 3, Autoriteit 2%

Als u de GLM-formule en de bijbehorende ingangen (d.w.z. ontwerpmatrix, linkfunctie enz …) correct hebt gespecificeerd. Het GLM-algoritme kan niet convergeren vanwege niet genoeg iteraties die worden gebruikt in de iteratief opnieuw gewogen kleinste vierkanten (IRL’s) algoritme. Maxit = 25 (standaard) naar Maxit = 100 in R.

Other episodes