2

我的数据集基于动物的调查数据。我想运行以下形式的贝叶斯层次模型:

library(brms)

m1 <-
  brm(
    AWB ~ ndate * NP + Season + CarcassPres
    + (1 | NP/StandardTransect),
    offset = log(Tlength), 
    family = negbinomial,
    data = mydata
   )

这给出了一个错误:

nlist 中的错误(模型、sdata、算法、后端、iter、预热、瘦、链,:找不到对象“Tlength”

如果我删除该偏移量,由于链,我会得到一个完全独立的错误:

链1:拒绝初始值:链1:在初始值处评估的梯度不是有限的。链 1:Stan 无法从这个初始值开始采样。

我认为变量的规模ndate可能会导致问题,但这并不能解决问题。如果我将其保留为高斯族,该模型将起作用,但这不适合我的数据。

我在这里包含了完整的数据集:

structure(list(AWB = c(15, 66, 7, 44, 22, 45, 14, 33, 60, 30, 
32, 39, 45, 39, 0, 37, 24, 18, 37, 66, 60, 25, 3, 34, 13, 58, 
6, 38, 33, 12, 0, 34, 20, 75, 2, 18, 4, 15, 9, 4, 0, 50, 21, 
21, 24, 5, 9, 13, 87, 43, 1, 13, 19, 28, 1, 13, 18, 56, 42, 53, 
2, 16, 37, 5, 49, 11, 2, 15, 30, 3, 0, 57, 5, 31, 18, 94, 35, 
45, 10, 8, 53, 8, 21, 5, 11, 83, 27), ndate = c(1377043200, 1376611200, 
1376524800, 1377129600, 1377216000, 1412899200, 1413763200, 1413590400, 
1412812800, 1413072000, 1412985600, 1426809600, 1426636800, 1426723200, 
1426550400, 1428451200, 1428364800, 1442448000, 1441843200, 1441756800, 
1442361600, 1443139200, 1443052800, 1461974400, 1461888000, 1462147200, 
1463702400, 1462060800, 1475798400, 1463529600, 1463443200, 1475884800, 
1477526400, 1477440000, 1475798400, 1475971200, 1478822400, 1478736000, 
1478649600, 1478563200, 1478908800, 1485734400, 1485648000, 1487808000, 
1487721600, 1487980800, 1487894400, 1489190400, 1489104000, 1489276800, 
1492646400, 1497484800, 1497398400, 1497657600, 1497571200, 1511222400, 
1510272000, 1510185600, 1511136000, 1511395200, 1511308800, 1519344000, 
1519430400, 1524009600, 1524096000, 1524182400, 1537833600, 1537920000, 
1537747200, 1538006400, 1537833600, 1541203200, 1541289600, 1551312000, 
1551225600, 1554249600, 1554163200, 1555113600, 1554336000, 1555286400, 
1582588800, 1582329600, 1611360000, 1611273600, 1611446400, 1612569600, 
1612483200), NP = structure(c(2L, 1L, 1L, 2L, 2L, 2L, 1L, 1L, 
2L, 2L, 2L, 2L, 2L, 2L, 2L, 1L, 1L, 2L, 1L, 1L, 2L, 2L, 2L, 2L, 
2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 
2L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 
1L, 1L, 2L, 2L, 2L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 1L, 
1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 1L, 1L, 2L, 2L, 2L, 1L, 1L), .Label = c("Katavi", 
"Ruaha"), class = "factor"), Season = c("Dry", "Dry", "Dry", 
"Dry", "Dry", "Dry", "Dry", "Dry", "Dry", "Dry", "Dry", "Wet", 
"Wet", "Wet", "Wet", "Wet", "Wet", "Dry", "Dry", "Dry", "Dry", 
"Dry", "Dry", "Wet", "Wet", "Wet", "Wet", "Wet", "Wet", "Wet", 
"Wet", "Dry", "Dry", "Dry", "Dry", "Dry", "Dry", "Dry", "Dry", 
"Dry", "Dry", "Wet", "Wet", "Wet", "Wet", "Wet", "Wet", "Wet", 
"Wet", "Wet", "Wet", "Dry", "Dry", "Dry", "Dry", "Dry", "Dry", 
"Dry", "Dry", "Dry", "Dry", "Wet", "Wet", "Wet", "Wet", "Wet", 
"Wet", "Dry", "Dry", "Dry", "Dry", "Dry", "Dry", "Wet", "Wet", 
"Wet", "Wet", "Wet", "Wet", "Wet", "Wet", "Wet", "Wet", "Wet", 
"Wet", "Wet", "Wet"), CarcassPres = c(1, 0, 0, 0, 0, 0, 0, 1, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), StandardTransect = structure(c(1L, 
2L, 3L, 4L, 6L, 1L, 2L, 3L, 4L, 5L, 7L, 1L, 4L, 5L, 7L, 2L, 3L, 
1L, 2L, 3L, 4L, 5L, 7L, 5L, 7L, 1L, 1L, 4L, 4L, 5L, 7L, 1L, 2L, 
3L, 4L, 5L, 1L, 4L, 5L, 7L, 7L, 2L, 3L, 1L, 4L, 5L, 7L, 1L, 4L, 
5L, 7L, 1L, 4L, 5L, 7L, 1L, 2L, 3L, 4L, 5L, 7L, 2L, 3L, 1L, 4L, 
5L, 7L, 1L, 4L, 5L, 7L, 2L, 3L, 2L, 3L, 1L, 4L, 4L, 6L, 6L, 2L, 
3L, 1L, 4L, 6L, 2L, 3L), .Label = c("Jongomero", "LakeChada", 
"LakeKatavi", "Lunda", "Magangwe", "Mbagi-Mdonya", "Mpululu"), class = "factor"), 
    Tlength = c(93, 86.7, 35.2, 75, 27.2, 93, 78.2, 35.2, 74.4, 
    45.8, 10.3, 93, 71, 45.8, 10.3, 63.9, 35.2, 93, 77.9, 35.2, 
    86.6, 45.8, 10.3, 45.8, 10.3, 93, 93, 68.9, 86.7, 45.8, 10.3, 
    93, 81.6, 35.2, 90.5, 45.8, 93, 88.2, 45.8, 10.3, 10.3, 64.6, 
    35.2, 93, 82.3, 45.8, 10.3, 93, 77.9, 45.8, 10.3, 93, 90.3, 
    45.8, 10.3, 93, 77.4, 35.2, 87.5, 45.8, 10.3, 66, 35.2, 93, 
    87.5, 45.8, 10.3, 93, 97.8, 45.8, 10.3, 86.6, 35.2, 71.9, 
    35.2, 93, 85.2, 85.5, 56.1, 56.1, 71.1, 35.2, 68.7, 86.5, 
    60.7, 56.6, 78.7)), row.names = c(NA, -87L), class = "data.frame")
4

1 回答 1

1

在评论中,Ben 发现这个问题与我的偏移量规范有关。

该模型有效:

brm(AWB ~ ndate * NP + Season + CarcassPres + (1 | NP/StandardTransect) + offset(log(Tlength)), family = negbinomial, data = mydata)
于 2021-06-24T18:26:00.090 回答