Как построить рутограмму для модели квазипуассона? - PullRequest
0 голосов
/ 22 марта 2020

Я хотел бы построить rootogram для модели quasipoisson. Пакет countreg действительно хорошо работает для пуассона и отрицательного бинома, но он говорит, что «семейство в настоящее время не поддерживается» для моделей квазипуассона.

Я знаю, что пакеты vcd и latticeExtra также могут строить ротограммы. К сожалению, когда я пытаюсь построить rootogram модели quasipoisson с этими пакетами, я получаю сообщения об ошибках.

Вот код для всех трех пакетов:

#some data for replication)
y <- rpois(100, 3)
x1 <- c(rep(0, 50), rep(1, 50))
x2 <- rnorm(100, 1000, 300)
data <- data.frame(y, x1, x2)

library(countreg)
countreg::rootogram(glm(y~x1 +x2, data = data, family = quasipoisson))

выдает ошибку :

Ошибка в rootogram.glm (glm (y ~ x1 + x2, data = data, family = quasipoisson)): семейство в настоящее время не поддерживается

library(vcd)
vcd::rootogram(glm(y~x1 + x2, data = data, family = quasipoisson))

выдает ошибку:

Ошибка в rootogram.default (glm (y ~ x1 + x2, data = data, family = quasipoisson)): отсутствует аргумент "fit", без значения по умолчанию

library(latticeExtra)
latticeExtra::rootogram(glm(y ~ x1 + x2, data = data, family = quasipoisson))

выдает ошибку:

Ошибка в sqrt (as.vector (объект)): не числовой c аргумент математической функции

Дополнительно: предупреждающее сообщение:

В rootogram.default (glm (y ~ x1 + x2, data = data, family = quasipoisson)): NA введены с помощью принуждения

Ответы [ 2 ]

1 голос
/ 23 марта 2020

Не все библиотеки используют объект модели для отображения результатов. Взгляните на документацию этих функций ротограмм.

Например, функция vcd требует данных и прогнозов для построения графика. Вы можете сделать график так:

#some data for replication)
y <- rpois(100, 3)
x1 <- c(rep(0, 50), rep(1, 50))
x2 <- rnorm(100, 1000, 300)
data <- data.frame(y, x1, x2)

mod <- glm(y~x1 +x2, data = data, family = quasipoisson)

library(vcd)
vcd::rootogram(data[,1], predict(mod), scale = "raw")

enter image description here

В качестве примечания, я не смог установить countreg, поэтому я не могу знаю, что с этим не так.

0 голосов
/ 09 апреля 2020

Попробуйте построить рутограмму для базовой модели c Пуассона с теми же предикторами. Прогнозируемые значения и остатки одинаковы, поэтому вы можете получить приблизительное представление о соответствии вашей модели.

С другой стороны, @RoB, попробуйте install.packages ("countreg", repos = "* 1003). * ") для установки пакета countreg.

...