Понимание остатков glm $ и остатка (glm) - PullRequest
10 голосов
/ 28 марта 2010

Можете ли вы сказать мне, что возвращается glm $ residuals и Остаток (glm) , где glm - квазипуассонный объект. например Как бы я создал их, используя glm $ y и glm $ linear.predictors.

GLM $ невязки

     n missing  unique    Mean     .05     .10   .25  .50     .75     .90     .95

 37715   10042    2174 -0.2574 -2.7538 -2.2661 -1.4480 -0.4381  0.7542  1.9845  2.7749



lowest : -4.243 -3.552 -3.509 -3.481 -3.464
highest:  8.195  8.319  8.592  9.089  9.416

кубовых остатков (GLM)

        n    missing     unique       Mean        .05        .10        .25
    37715          0       2048 -2.727e-10    -1.0000    -1.0000    -0.6276
      .50        .75        .90        .95
  -0.2080     0.4106     1.1766     1.7333

lowest : -1.0000 -0.8415 -0.8350 -0.8333 -0.8288
highest:  7.2491  7.6110  7.6486  7.9574 10.1932

Ответы [ 2 ]

25 голосов
/ 28 марта 2010

Вызов остатка (модель) по умолчанию будет соответствовать остаткам отклонения, тогда как модель $ остаток даст вам рабочие остатки. Из-за функции связи нет единого определения того, что является остатком модели. Существуют отклонения, рабочие, частичные, остатки Пирсона и отклика. Поскольку они зависят только от средней структуры (а не от дисперсии), остатки для квазипуассона и пуассона имеют одинаковую форму. Вы можете взглянуть на функцию residuals.glm для деталей, но вот пример:

counts <- c(18,17,15,20,10,20,25,13,12)
outcome <- gl(3,1,9)
treatment <- gl(3,3)
glm.D93 <- glm(counts ~ outcome + treatment, family=quasipoisson())
glm.D93$resid


#working
resid(glm.D93,type="working")
(counts - glm.D93$fitted.values)/exp(glm.D93$linear)

#deviance
resid(glm.D93,type="dev")
fit <- exp(glm.D93$linear)
poisson.dev <- function (y, mu) 
    sqrt(2 * (y * log(ifelse(y == 0, 1, y/mu)) - (y - mu)))
poisson.dev(counts,fit) * ifelse(counts > fit,1,-1)

#response
resid(glm.D93,type="resp")
counts - fit

#pearson
resid(glm.D93,type="pear")
(counts - fit)/sqrt(fit)
4 голосов
/ 28 марта 2010

Я не знаю достаточно о распределениях Пуассона и Квази-Пуассона, чтобы ответить на ваш вопрос в запрашиваемой глубине (т. Е. Точное уравнение, которое преобразует переменные в невязки с использованием модели), но если какая-либо путаница из-за того, какие остаточные типы используются и почему две команды дают разные ответы, это может помочь:

Остаток () по умолчанию имеет тип «девиация» в R. Однако glm () присваивает разные остатки вектору $ residuals.

Если вы используете семейство квази-Пуассона, glm () назначит остатки рабочего типа, тогда как, остаток () дает тип отклонения по умолчанию.

Чтобы попробовать это, вы можете использовать:

Остаток (glm, type = "working")

и

glm $ Остатки

и это должно дать вам тот же ответ (по крайней мере, это было сделано для образца набора данных, который я использовал).

В соответствии с R, рабочие остатки являются: «остатки в последней итерации соответствия IWLS»

Если вы посмотрите книгу «Обобщенные линейные модели и расширения» (автор Хардин и Хильбе) в GoogleBook, вы можете получить доступ к разделу 4.5, в котором объясняются различные типы остатков.

...