> Date: Tue, 6 Jan 2009 15:00:19 +0000 (GMT) > From: Prof Brian Ripley <rip...@stats.ox.ac.uk> > Subject: Re: [Rd] Apparant bug in binomial model in GLM (PR#13434) > To: soren.fau...@biology.au.dk > Cc: r-b...@r-project.org, r-de...@stat.math.ethz.ch > Message-ID: <alpine.lfd.2.00.0901061444380.9...@auk.stats.ox.ac.uk> > Content-Type: text/plain; charset="iso-8859-1"; Format="flowed" > > This is a (too-little) known phenomenon: the problem is the low power of > the Wald test in certain circumstances, and not the R implementation. > > You can look it up in MASS (the book) pp.197-9.
Good reference, but a much better reference tells what WORKS in this situation not what doesn't work. http://www.stat.umn.edu/geyer/gdor/ has a paper and technical report that give methods detecting when the MLE for a GLM does not exist in the conventional sense and for constructing valid hypothesis tests and confidence intervals. The methods are implemented using the R contributed package rcdd and detailed examples are shown in the technical report, which is made with Sweave, hence fully reproducible by anyone who has R. BTW the particular example given doesn't make clear WHAT question cannot be answered correctly. Some questions can be without fuss, for example > y <- c(0,0,0,0,0,1,1,1,1,1) > x <- seq(along = y) > out1 <- glm(y ~ x, family = binomial) Warning messages: 1: In glm.fit(x = X, y = Y, weights = weights, start = start, etastart = etastart, : algorithm did not converge 2: In glm.fit(x = X, y = Y, weights = weights, start = start, etastart = etastart, : fitted probabilities numerically 0 or 1 occurred > out0 <- glm(y ~ 1, family = binomial) > anova(out0, out1, test = "Chisq") Analysis of Deviance Table Model 1: y ~ 1 Model 2: y ~ x Resid. Df Resid. Dev Df Deviance P(>|Chi|) 1 9 13.8629 2 8 7.865e-10 1 13.8629 0.0002 This P-value (P = 0.0002) is valid, because the MLE does exist for the null hypothesis. Hence we see that we have to use the model y ~ x for which the MLE does not exist in the conventional sense. To obtain valid one-sided confidence intervals for the linear predictor or mean value parameters, follow the methods in the technical report. > Can I ask how you 'knew for certain' what this should do? From the FAQ: > > But be sure you know for certain what it ought to have done. If you > aren't familiar with the command, or don't know for certain how the > command is supposed to work, then it might actually be working right. > For example, people sometimes think there is a bug in R's mathematics > because they don't understand how finite-precision arithmetic works. > Rather than jumping to conclusions, show the problem to someone who > knows for certain. > > Who was your authority here? > > > On Tue, 6 Jan 2009, soren.fau...@biology.au.dk wrote: > > > Full_Name: S?ren Faurby > > Version: 2.4.1 and 2.7.2 > > Neither of which is current. > > > OS: > > Submission from: (NULL) (192.38.46.92) > > > > > > There appear to be a bug in the estimation of significance in the > > binomial model in GLM. This bug apparently appears when the correlation > > between two variables is to strong. > > > > Such as this dummy example > > c(0,0,0,0,0,1,1,1,1,1)->a > > a->b > > m1<-glm(a~b, binomial) > > summary(m1) > > > > It is sufficient that all 1's correspond to 1's such as this example > > > > c(0,0,0,0,0,1,1,1,1,1)->a > > c(0,0,0,0,1,1,1,1,1,1)->c > > m1<-glm(a~c, binomial) > > summary(m1) > > > > I hope that this message is understandable. > > > > Kind regards, S?ren > > > > ______________________________________________ > > R-devel@r-project.org mailing list > > https://stat.ethz.ch/mailman/listinfo/r-devel > > > > -- > Brian D. Ripley, rip...@stats.ox.ac.uk > Professor of Applied Statistics, http://www.stats.ox.ac.uk/~ripley/ > University of Oxford, Tel: +44 1865 272861 (self) > 1 South Parks Road, +44 1865 272866 (PA) > Oxford OX1 3TG, UK Fax: +44 1865 272595 > > ------------------------------ > > Message: 6 > Date: Tue, 06 Jan 2009 16:08:21 +0100 > From: Peter Dalgaard <p.dalga...@biostat.ku.dk> > Subject: Re: [Rd] Apparant bug in binomial model in GLM (PR#13434) > To: soren.fau...@biology.au.dk > Cc: r-b...@r-project.org, r-de...@stat.math.ethz.ch > Message-ID: <496373e5.9000...@biostat.ku.dk> > Content-Type: text/plain; charset=UTF-8 > > soren.fau...@biology.au.dk wrote: > > Full_Name: S?ren Faurby > > Version: 2.4.1 and 2.7.2 > > OS: > > Submission from: (NULL) (192.38.46.92) > > > > > > There appear to be a bug in the estimation of significance in the binomial > > model > > in GLM. This bug apparently appears when the correlation between two > > variables > > is to strong. > > > > Such as this dummy example > > c(0,0,0,0,0,1,1,1,1,1)->a > > a->b > > m1<-glm(a~b, binomial) > > summary(m1) > > > > It is sufficient that all 1's correspond to 1's such as this example > > > > c(0,0,0,0,0,1,1,1,1,1)->a > > c(0,0,0,0,1,1,1,1,1,1)->c > > m1<-glm(a~c, binomial) > > summary(m1) > > That's not a bug, just the way things work. When the algorithm diverges, > as seen by the huge Std.Error, Wald tests (z) are unreliable. (Notice > that the log OR in an a vs. c table is infinite whichever way you turn > it.) The likelihood ratio test (as in drop1(m1, test="Chisq")) is > somewhat less unreliable, but in these small examples, still quite some > distance from the table based approaches of fisher.test(a,c) and > chisq.test(a,c). > > > > > > I hope that this message is understandable. > > > > Kind regards, S?ren > > > > ______________________________________________ > > R-devel@r-project.org mailing list > > https://stat.ethz.ch/mailman/listinfo/r-devel > > > -- > O__ ---- Peter Dalgaard ?ster Farimagsgade 5, Entr.B > c/ /'_ --- Dept. of Biostatistics PO Box 2099, 1014 Cph. K > (*) \(*) -- University of Copenhagen Denmark Ph: (+45) 35327918 > ~~~~~~~~~~ - (p.dalga...@biostat.ku.dk) FAX: (+45) 35327907 -- Charles Geyer Professor, School of Statistics University of Minnesota char...@stat.umn.edu ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel