glmmTMB с пространственной автокорреляцией - PullRequest
0 голосов
/ 22 октября 2018

У меня есть большой набор данных о количестве животных, собранных по сетке из 20 точек за несколько лет.Я хочу запустить негинную модель данных, учитывающую пространственную автокорреляцию, которая (насколько я знаю) между точками.

Я построил модель, следуя инструкциям пространственной автокорреляции с glmmTMB :

данные игрушки:

df <- structure(list(Stratum = structure(c(2L, 1L, 3L, 3L, 2L, 2L, 
1L, 3L, 2L, 3L, 1L, 1L, 2L, 2L, 2L, 1L, 2L, 1L, 1L, 1L), .Label = c("A", 
"C", "G"), class = "factor"), SubstratumNum = structure(c(3L, 
3L, 3L, 2L, 2L, 1L, 1L, 1L, 2L, 2L, 1L, 2L, 2L, 3L, 3L, 1L, 3L, 
2L, 1L, 3L), .Label = c("1", "2", "3"), class = "factor"), Round_IDGlobal = structure(c(33L, 
9L, 1L, 14L, 1L, 15L, 12L, 5L, 20L, 8L, 4L, 31L, 23L, 10L, 2L, 
3L, 19L, 16L, 2L, 22L), .Label = c("494", "506", "746", "821", 
"822", "829", "830", "831", "834", "841", "842", "858", "862", 
"864", "866", "868", "869", "881", "886", "887", "888", "892", 
"894", "905", "920", "929", "939", "950", "951", "952", "954", 
"961", "962", "963"), class = "factor"), NTotal = c(0, 0, 0, 
22, 0, 0, 0, 44, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), Easting =     c(421404.301562637, 
418803.885030836, 418042.117225571, 417187.715740421, 419311.45516526, 
417264.924140131, 416268.565309357, 416408.875490186, 419311.45516526, 
417187.715740421, 416268.565309357, 417488.310843067, 419311.45516526, 
421404.301562637, 421404.301562637, 416268.565309357, 421404.301562637, 
417488.310843067, 416268.565309357, 418803.885030836), Northing = c(7000230.98045177, 
7004401.10398065, 6992987.57831617, 6994272.80680691, 6999227.50164136, 
6998264.92240288, 7002164.31946824, 6995705.21394914, 6999227.50164136, 
6994272.80680691, 7002164.31946824, 7003320.22469426, 6999227.50164136, 
7000230.98045177, 7000230.98045177, 7002164.31946824, 7000230.98045177, 
7003320.22469426, 7002164.31946824, 7004401.10398065)), row.names = c(NA, 
-20L), class = c("tbl_df", "tbl", "data.frame"))

расчет переменной, которая будет использоваться для пространственной автокорреляции:

library(glmmTMB)
df$pos <- numFactor(df$Easting, df$Northing)

модель:

mod1 <- glmmTMB(NTotal ~ YearF + 
                        # sampling variables
                        Stratum + SubstratumNum + 
                        # random variable  
                        (1 | Round_IDGlobal) +
                        # autocorrelation
                        exp(pos + 0 | Round_IDGlobal),
                        family = nbinom2,
                        data= df)

Thisэто упрощенная версия моей полной модели.Всякий раз, когда я запускаю полную или любую упрощенную модель в своем полном наборе данных, я всегда получаю предупреждение non-positive-definite Hessian matrix, если только я не закомментирую пространственную структуру exp().Виньетка говорит мне, что, скорее всего, это проблема сложности модели, но наверняка набор данных из 24 000 точек предоставит достаточно информации для этого.Это заставляет меня думать, что я делаю что-то не так.Из набора данных игрушек и структуры модели - есть мысли?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...