[Rd] Pearson residuals (PR#1123)

Thomas Lumley tlumley@u.washington.edu
Thu, 11 Oct 2001 08:52:57 -0700 (PDT)


On Thu, 11 Oct 2001 p.dalgaard@biostat.ku.dk wrote:

> We can easily agree that it's not right... The culprit is this
>
> revision 1.54
> date: 2001/06/07 17:43:06;  author: tlumley;  state: Exp;  lines: +1 -1
> wrong sign of pearson residual for inverse link (PR#862)
>
> diff -u -r1.53 -r1.54
> --- src/library/base/R/glm.R    1 Jun 2001 11:48:34 -0000       1.53
> +++ src/library/base/R/glm.R    7 Jun 2001 17:43:06 -0000       1.54
> @@ -651,7 +651,7 @@
>                        d.res <-
> sqrt(pmax((object$family$dev.resids)(y, mu, wts), 0))
>                        ifelse(y > mu, d.res, -d.res)
>                    } else rep(0, length(mu)),
> -                  pearson = r * sqrt(object$weights),
> +                  pearson = (y-mu)/sqrt(object$weights),
>                    working = r,
>                    response = y - mu,
>
> Which is listed as Thomas' doing, but I suspect it was discussed
> internally, and thus a collective piece of absentmindedness.
>

Yes, in response to a previous bug report (?Atkinson) pointing out that
the old version was wrong when the link function was monotone decreasing
(Gamma/reciprocal).  It wasn't a confusion of * and /, it was a deeper
absentmindedness.

We can't just use $weights, although it does work for canonical links. We
need (y-mu)/sqrt(prior.weights*variance(mu))

	-thomas

-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-
r-devel mailing list -- Read http://www.ci.tuwien.ac.at/~hornik/R/R-FAQ.html
Send "info", "help", or "[un]subscribe"
(in the "body", not the subject !)  To: r-devel-request@stat.math.ethz.ch
_._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._