Ошибка при запуске игры с пуассоновым семейством и смещением - PullRequest
1 голос
/ 06 марта 2019

Я пытаюсь запустить игру в R и получаю странное сообщение об ошибке.

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

test <- structure(list(depth = c(2.5, 7.5, 12.5, 17.5, 22.5, 27.5, 32.5, 
37.5, 42.5, 47.5, 52.5, 57.5, 62.5, 67.5, 72.5, 77.5, 82.5, 87.5, 
92.5, 97.5), count = c(53323, 665, 1090, 491, 540, 514, 612, 
775, 601, 497, 295, 348, 357, 294, 292, 968, 455, 148, 155, 101
), vol = c(2119.92, 111.76, 156.64, 71.28, 77.44, 73.92, 62.48, 
78.32, 74.8, 81.84, 53.68, 80.96, 80.08, 79.2, 79.2, 77.44, 77.44, 
84.48, 73.04, 59.84)), class = c("tbl_df", "tbl", "data.frame"
), row.names = c(NA, -20L), .Names = c("depth", "count", "vol"
))

gam(count ~ s(depth) + offset(vol), data = test, family = "poisson")
Error in if (pdev - old.pdev > div.thresh) { : missing value where TRUE/FALSE needed

Есть идеи, почему это не работает? Если я избавлюсь от смещения или установлю family = "gaussian", функция будет работать так, как и следовало ожидать.

Редактировать: Я считаю, что

gam(count ~ s(depth) + offset(log(vol)), data = test, family = "poisson")

действительно запускается, и я думаю, что я видел что-то, что говорит, что кто-то хочет записать преобразование переменной смещения для них, так что, возможно, это на самом деле работает нормально.

1 Ответ

2 голосов
/ 07 марта 2019

Вам обязательно нужно указать vol в логарифмическом масштабе (для этой модели).

В более общем смысле, смещение входит в модель в масштабе функции связи. Следовательно, если ваша модель использует family = poisson(link = 'sqrt'), то вы хотите включить смещение как offset(sqrt(vol)).

Я подозреваю, что ошибка происходит из-за некоторого переполнения или неправильного значения вероятности / отклонения, возникающего из-за предположения, что значения vol были в логарифмическом масштабе, пока исходная модель подходила.

...