Отрицательная ошибка биномиального моделирования
Лектор попросил меня откорректировать отрицательную биномиальную модель для моих данных (глядя на расстояние от участка наблюдения лесной моли, в котором наблюдались различные статусные группы (эндемичные, экзотические, местные).
Мой фрейм данных выглядел так (n=2466):
id native.exotic urban_non bush.distance scientific_name
12469 exotic 0 0 Opodiphthera eucalypti
224769 native 1 170 Agrotis ipsilon
251928 native 1 405 Platyptilia falcatalis
524208 exotic 1 2010 Ctenoplusia limbirena
Мне посоветовали использовать MASS и запустить код
m1 <- glm.nb(count ~ bush.distance*native.exotic, data=moth)
drop1(m1, test="Chisq")
xv <- (with(moth, seq(from=min(bush.distance), max(bush.distance),
length.out=200)))
newdat <- expand.grid(bush.distance=xv,
native.exotic=levels(moth$native.exotic))
newdat$fit <- predict(m1, newdata = newdat, type="response") +
geom_line(data = newdat, aes(x=bush.distance, y=fit))
Тем не менее, у меня нет переменной подсчета. Я использовал melt для преобразования моих данных в длинный формат, чтобы он выглядел так:
dist status count
0 endemic 844
1 endemic 8
5 endemic 3
10 endemic 5
Но все же, когда я запускаю код, я получаю такой результат:
m1 <- glm.nb(count ~ dist*status, data=bush_status)
Error: no valid set of coefficients has been found: please supply starting values
Мои знания R очень просты, поэтому я прошу прощения, если я не очень хорошо объяснил это, но любая помощь будет высоко ценится. Спасибо!
1 ответ
Обычно это параметр дисперсии, который вызывает проблемы для glm.nb
, Вы должны попытаться указать начальное значение для него с помощью init.theta
аргумент. пример
out1a <- glm.nb(Species~log(Area), data=gala, link=identity, init.theta=1)
Это может занять несколько проб и ошибок, но установка init.theta
ценность то, что работало для меня.