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.4539

168.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 a
problem 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.

Reply via email to