# How to interpret coefficents when you have an offset?

I'm measuring counts of birds as a function of the time (in months) across three parks (NP), as well as the presence of carcasses and season. I'm trying to find out whether the population is decreasing. I fit an offset of the length of the transect.

My interpretation of the effect of date in the park called Ruaha is: (exp(-0.005 + -0.013)-1)*100 = -1.78% decrease per month which implies a (exp((-0.005 + -0.013)*12)-1)*100 = -19.42% decrease per year.

My interpretation of the intercept is the number of birds present during the first month in the baseline park which would be exp(-3.511) = .03 birds but with a wide credible interval.

Do these interpretations make sense in light of my model structure?

               Estimate Est.Error    Q2.5  Q97.5
Intercept        -3.511     3.648 -10.513  5.109
ndate            -0.005     0.010  -0.023  0.015
NPRuaha           0.396     5.074 -11.303 10.783
NPSelous          0.680     5.932 -11.741 11.061
SeasonWet         0.404     0.266  -0.114  0.935
CarcassPres1      0.168     0.435  -0.647  1.011
ndate:NPRuaha    -0.013     0.012  -0.038  0.011
ndate:NPSelous   -0.016     0.028  -0.071  0.038


Here's the model:

library(brms)

model_fit <-
brm(
count ~  0 + Intercept +
ndate * NP + Season + CarcassPres +
(1 | NP / StandardTransect) +
offset(log(Tlength)),
family = negbinomial,
data = mydata,
chains = 1)


My data

mydata <- structure(list(count= c(0, 2, 3, 4, 2, 3, 4, 0, 0, 1, 0, 0, 2,
2, 4, 9, 0, 0, 0, 5, 3, 0, 1, 0, 5, 6, 0, 0, 4, 5, 2, 3, 1, 8,
0, 0, 0, 2, 0, 1, 0, 4, 1, 2, 0, 0, 0, 3, 2, 2, 0, 2, 2, 0, 4,
2, 0, 2, 0, 0, 3, 1, 0, 2, 2, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 1,
0, 1, 4, 6, 0, 2, 2, 1, 0, 6, 0, 6, 2, 0, 2, 1, 0, 0, 0, 1, 1,
2, 1, 0, 0, 0, 0, 0, 3, 1, 3, 1), ndate = c(0, 0, 0, 0, 0, 14,
14, 14, 14, 14, 14, 19, 19, 19, 19, 20, 20, 25, 25, 25, 25, 25,
25, 32, 32, 33, 33, 33, 33, 33, 38, 38, 38, 38, 38, 38, 39, 39,
39, 39, 39, 41, 41, 42, 42, 42, 42, 43, 43, 43, 44, 46, 46, 46,
46, 51, 51, 51, 51, 51, 51, 54, 54, 54, 55, 56, 56, 56, 58, 58,
61, 61, 61, 61, 61, 63, 63, 66, 66, 67, 67, 67, 68, 68, 68, 68,
68, 71, 72, 73, 78, 78, 79, 79, 89, 89, 89, 90, 90, 91, 91, 91,
96, 96, 96, 96, 97, 97), nyear = c(2013, 2013, 2013, 2013, 2013,
2014, 2014, 2014, 2014, 2014, 2014, 2015, 2015, 2015, 2015, 2015,
2015, 2015, 2015, 2015, 2015, 2015, 2015, 2016, 2016, 2016, 2016,
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
2016, 2016, 2016, 2017, 2017, 2017, 2017, 2017, 2017, 2017, 2017,
2017, 2017, 2017, 2017, 2017, 2017, 2017, 2017, 2017, 2017, 2017,
2017, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018,
2018, 2018, 2018, 2018, 2018, 2018, 2019, 2019, 2019, 2019, 2019,
2019, 2019, 2019, 2019, 2019, 2019, 2019, 2019, 2020, 2020, 2020,
2020, 2021, 2021, 2021, 2021, 2021, 2021, 2021, 2021, 2021, 2021,
2021, 2021, 2021, 2021), NP = structure(c(1L, 1L, 2L, 2L, 2L,
2L, 2L, 2L, 2L, 1L, 1L, 2L, 2L, 2L, 2L, 1L, 1L, 1L, 1L, 2L, 2L,
2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 1L, 1L, 2L,
2L, 2L, 2L, 2L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L,
2L, 2L, 1L, 1L, 2L, 2L, 2L, 2L, 1L, 1L, 3L, 3L, 2L, 2L, 2L, 3L,
3L, 2L, 2L, 2L, 2L, 2L, 1L, 1L, 1L, 1L, 3L, 3L, 3L, 2L, 2L, 2L,
2L, 2L, 3L, 3L, 3L, 1L, 1L, 3L, 3L, 2L, 2L, 2L, 1L, 1L, 3L, 3L,
3L, 2L, 2L, 2L, 3L, 3L, 1L), .Label = c("Katavi", "Ruaha", "Selous"
), 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",
"Wet", "Dry", "Dry", "Dry", "Wet", "Dry", "Dry", "Dry", "Dry",
"Dry", "Wet", "Wet", "Wet", "Wet", "Wet", "Wet", "Wet", "Wet",
"Wet", "Wet", "Dry", "Dry", "Dry", "Wet", "Wet", "Wet", "Wet",
"Wet", "Wet", "Wet", "Wet", "Wet", "Wet", "Wet", "Wet", "Dry",
"Dry", "Dry", "Dry", "Dry", "Dry"), CarcassPres = structure(c(1L,
1L, 2L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,
1L, 1L, 2L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,
1L, 2L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,
1L, 2L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,
1L, 2L, 2L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 1L, 1L,
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 1L), .Label = c("0",
"1"), class = "factor"), StandardTransect = structure(c(4L, 3L,
1L, 5L, 7L, 5L, 1L, 8L, 6L, 4L, 3L, 8L, 5L, 6L, 1L, 4L, 3L, 4L,
3L, 5L, 1L, 8L, 6L, 8L, 6L, 5L, 1L, 8L, 6L, 1L, 5L, 5L, 1L, 6L,
4L, 3L, 8L, 6L, 5L, 1L, 8L, 4L, 3L, 5L, 1L, 8L, 6L, 5L, 1L, 6L,
8L, 5L, 1L, 8L, 6L, 4L, 3L, 5L, 1L, 8L, 6L, 3L, 4L, 10L, 2L,
1L, 5L, 6L, 2L, 10L, 5L, 8L, 8L, 1L, 6L, 3L, 4L, 4L, 3L, 9L,
2L, 10L, 5L, 1L, 7L, 5L, 7L, 2L, 10L, 9L, 4L, 3L, 10L, 2L, 5L,
1L, 7L, 4L, 3L, 2L, 10L, 9L, 5L, 7L, 1L, 2L, 9L, 4L), .Label = c("Jongomero",
"Kidai", "LakeChada", "LakeKatavi", "Lunda", "Magangwe", "Mbagi-Mdonya",
"Mpululu", "Msolwa", "Mtemere"), class = "factor"), Tlength = c(35.2,
86.7, 93, 75, 27.2, 74.4, 93, 10.3, 45.8, 35.2, 78.2, 10.3, 71,
45.8, 93, 35.2, 63.9, 35.2, 77.9, 86.6, 93, 10.3, 45.8, 10.3,
45.8, 68.9, 93, 10.3, 45.8, 93, 86.7, 90.5, 93, 45.8, 35.2, 81.6,
10.3, 45.8, 88.2, 93, 10.3, 35.2, 64.6, 82.3, 93, 10.3, 45.8,
77.9, 93, 45.8, 10.3, 90.3, 93, 10.3, 45.8, 35.2, 77.4, 87.5,
93, 10.3, 45.8, 66, 35.2, 71.2, 85.7, 93, 87.5, 45.8, 85.5, 69.6,
97.8, 10.3, 10.3, 93, 45.8, 86.6, 35.2, 35.2, 71.9, 77.9, 88.5,
80, 85.2, 93, 56.1, 85.5, 56.1, 97.6, 81.8, 79.7, 35.2, 71.1,
81.9, 53.8, 86.5, 68.7, 60.7, 78.7, 56.6, 66.9, 71.8, 79.2, 82.6,
71.8, 92.4, 85.6, 78.5, 77.3)), row.names = c(NA, -108L), class = "data.frame")

• Commented Dec 21, 2023 at 18:15