[Rd] Standardized Pearson residuals

peter dalgaard pdalgd at gmail.com
Mon Mar 14 23:32:49 CET 2011


On Mar 14, 2011, at 22:25 , Brett Presnell wrote:

> 
> Is there any reason that rstandard.glm doesn't have a "pearson" option?
> And if not, can it be added?

Probably... I have been wondering about that too. I'm even puzzled why it isn't the default. Deviance residuals don't have quite the properties that one might expect, e.g. in this situation, the absolute residuals sum pairwise to zero, so you'd expect that the standardized residuals be identical in absolute value

> y <- 1:4
> r <- c(0,0,1,1)
> c <- c(0,1,0,1)
> rstandard(glm(y~r+c,poisson))
         1          2          3          4 
-0.2901432  0.2767287  0.2784603 -0.2839995 

in comparison,

> i <- influence(glm(y~r+c,poisson))
> i$pear.res/sqrt(1-i$hat)
         1          2          3          4 
-0.2817181  0.2817181  0.2817181 -0.2817181 

The only thing is that I'm always wary of tampering with this stuff, for fear of finding out the hard way why thing are the way they are....


> 
> Background: I'm currently teaching an undergrad/grad-service course from
> Agresti's "Introduction to Categorical Data Analysis (2nd edn)" and
> deviance residuals are not used in the text.  For now I'll just provide
> the students with a simple function to use, but I prefer to use R's
> native capabilities whenever possible.


Incidentally, chisq.test will have a stdres component in 2.13.0 for much the same reason. 

> 
> I think something along the following lines should do it:
> 
> rstandard.glm <-
>  function(model,
>           infl=influence(model, do.coef=FALSE),
>           type=c("deviance", "pearson"), ...)
> {
>  res <- switch(type, pearson = infl$pear.res, infl$dev.res)
>  res <- res/sqrt(1-infl$hat)
>  res[is.infinite(res)] <- NaN
>  res
> }
> 
> ______________________________________________
> R-devel at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel

-- 
Peter Dalgaard
Center for Statistics, Copenhagen Business School
Solbjerg Plads 3, 2000 Frederiksberg, Denmark
Phone: (+45)38153501
Email: pd.mes at cbs.dk  Priv: PDalgd at gmail.com



More information about the R-devel mailing list