1

我想知道 R 如何找到标准化残差或rstandard何时拟合泊松 GLM。我已经发现了这一点,但它不是在谈论标准化残差。所以这里有一个简单的代码:

counts <- c(18,17,15,20,10,20,25,13,12)
x=rpois(9,1)
E=counts*10+rpois(9,2)
glm.D93 <- glm(counts ~ x+offset(log(E)), family=poisson)

现在我需要知道 R 是如何计算的:

> rstandard(glm.D93)
           1            2            3            4            5            6 
 0.018364902 -0.009725560  0.011933387 -0.026455659 -0.036635623 -0.002118836 
           7            8            9 
 0.036552236 -0.022033897  0.034771135

我使用 help onrstandard发现实际上有两种类型的 rstandard. 一种基于“偏差”(默认),另一种基于“pearson”残差。这两者都可以通过以下函数轻松获得:

> resid(glm.D93,type="dev")
> resid(glm.D93,type="pear")

我猜要找到rstandard,我应该将以上两个残差除以第 i 个残差的标准差。谢谢。

4

1 回答 1

3

很容易看到代码清楚地说明了您推断的功能。由于 rstandard 显然是通用的(并且大多数 stats 包函数都是 S3,因此您只需将类添加到“stem”函数名称中:

> rstandard.glm
function (model, infl = influence(model, do.coef = FALSE), 
                 type = c("deviance", "pearson"), ...) 
{
    type <- match.arg(type)
    res <- switch(type, pearson = infl$pear.res, infl$dev.res)
    res <- res/sqrt(summary(model)$dispersion * (1 - infl$hat))
    res[is.infinite(res)] <- NaN
    res
}
于 2013-11-04T20:24:42.690 回答