On Tue, 13 Jan 2009, David Winsemius wrote:
I remember have the same consternation using GLIM with binomial models on grouped and ungrouped data, but I was counseled by my betters only to consider differences in models. The differences in deviance are the same up to rounding error.859.8018 - 711.3479[1] 148.4539168.8-20.3[1] 148.5 So I would ask if these really are different answers?
I think Gerard already said that, and accepts that the test between two models is the same. He seems to be asking about using the comparison with one or other saturated model as some sort of test of model fit, something that is not normally recommended, including in the book for which polr() is support software. In any case, not an R question any more.
-- David Winsemius Heritage Labs On Jan 13, 2009, at 10:06 AM, Prof Brian Ripley wrote:Withut looking up your reference, are you not comparing grouped and ungrouped deviances? And polr() does not say anything about accepting a model (or not), only about the comparison between two models.'Deviances' are in comparison with some 'saturated' model, and I would say that M&N are comparing with a separate fit to each group, polr() with correctly predicting each observation. Both are valid, but refer to different questions.On Tue, 13 Jan 2009, Gerard M. Keogh wrote:Dear all, I've replicated the cheese tasting example on p175 of GLM's by McCullagh and Nelder. This is a 4 treatment (rows) by 9 ordinal response (cols) table. Here's my simple code: #### cheese library(MASS) options(contrasts = c("contr.treatment", "contr.poly")) y = c(0,0, 1, 7, 8,8,19, 8,1, 6,9,12,11, 7,6, 1, 0,0, 1,1, 6, 8,23,7, 5, 1,0, 0,0, 0, 1, 3,7,14,16,11) p = c(1,2,3,4,5,6,7,8,9,1,2,3,4,5,6,7,8,9,1,2,3,4,5,6,7,8,9,1,2,3,4,5,6,7,8,9) x1 = c(1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0) x2 = c(0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0) x3 = c(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0) # catgeory 4 is used as baseline ord.rp = ordered(p) fit0.polr = polr(ord.rp ~ 1, weights=y) fit1.polr = polr(ord.rp ~ x1 + x2+x3, weights=y) summary(fit1.polr) anova(fit0.polr,fit1.polr)This works and "summary" gives the correct parameter estimates but I have aproblem with the deviance. Anova gives Likelihood ratio tests of ordinal regression models Response: ord.rp Model Resid. df Resid. Dev Test Df LR stat. Pr(Chi) 1 1 200 859.8018 2 x1 + x2 + x3 197 711.3479 1 vs 2 3 148.4539 0 In McCullagh the deviance for the null model is given as 168.8 on 24 d.f. and the fitted model is 20.3 on 21 d.f. This means the change in POLR and in the book is 148.5 on 3 d.f. so the model gives a significant improvement. But the model deviance from POLR is 711 vs. 20.3 from McCullagh. Thus POLR says we should reject the model fit with chi-sq = 35 while McCullagh say we should accept it Could someone explain what I should do when it comes to accepting or rejecting the model fit itself in R? I'm using R 2.8.0. Thanks. Gerard
-- 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 ______________________________________________ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.