Detectability random effects for data collector with no replicate surveys

18 views
Skip to first unread message

Aaron Skinner

unread,
Mar 26, 2026, 12:28:58 AM (6 days ago) Mar 26
to spOccupancy and spAbundance users
Hi Jeff & all,

I have 10 data collectors contributing to a multi-species occupancy model, and I’ve included data collector as a random intercept in the detection model. One data collector did not conduct repeat surveys at each site (all replicates are NA after the first visit), so there is effectively no within-site replication to inform detectability for that observer. My expectation was that the detection intercepts for this data collector would shrink strongly toward the hypermean, but that is not what I see empirically. I extracted species × data collector random effects from Occ_mod$alpha.star.samples using the function below:
# Function to create random effect table
create.re.tbl <- function(re.samples){
  Intercept <- colMeans(re.samples)
  Group <- str_split_i(names(Intercept), "-", 1)
  Id <- str_split_i(names(Intercept), "-", 2)
  Species <- str_split_i(names(Intercept), "-", 3)
  # Join together as tibble
  tibble(Group, Id, Species, Intercept)
}
Detection_re <- create.re.tbl(Occ_mod$alpha.star.samples) 

This produces a tibble with 1,000 rows (100 species × 10 data collectors). When I plot these values, the data collector with no replicate surveys (collector_team_1) shows a clear shift to lower detectability (peak left of zero), rather than shrinking toward the global mean. In contrast, summary(Occ_mod) reports a global mean of 0.144 (SD = 0.022).

A few questions:

  • How should I expect the detection model to behave for a data collector with no replicate surveys? Is a systematic deviation (rather than shrinkage to the mean) expected in this case?

  • Would you recommend excluding this data collector? They also used a different protocol (25 m vs 50 m radius, and no survey duration recorded).

  • The global mean and standard deviation (0.144, 0.022) from summary(Occ_mod) don't match with the plot produced by my post-hoc attempt using Occ_mod$alpha.star.samples. I assume this is because the global mean reported by summary(Occ_mod)  is informed by differing amounts of data from each species × data collector (i.e. partial pooling), whereas my post-hoc summary treats all species × data collectors equally. Am I on the right track here? 

  • I also see very narrow peaks around ~0 for some collectors (e.g., 3, 9, 10). Do you have any thoughts what might be causing this? 

Thanks very much for any thoughts,
Aaron

Captura de pantalla 2026-03-25 a la(s) 20.17.34.png

gilles colling

unread,
Mar 26, 2026, 4:40:37 AM (6 days ago) Mar 26
to Aaron Skinner, spOccupancy and spAbundance users
Hi Aaron,

I’ve been working with something very similar recently, so just my 2 cents. I think the leftward shift for collector_team_1 comes from the model not being able to properly partition the variance. Because that observer used a 25 m radius instead of 50 m (~4× area difference), the systematic detection difference gets absorbed into the observer random intercept. With no repeat visits there’s basically no information to estimate detectability for that collector, so it doesn’t really get pulled back toward the mean.

Given the protocol difference and lack of replication, I’d probably consider dropping that collector since detection is effectively unidentifiable there.

On the global mean: summary() reports the community-level hyperparameter, while the alpha.star values are zero-centered deviations within the grouping factor, so they’re not the same thing. Your post-hoc summary also treats all species × collector combinations equally, which the hierarchical model doesn’t.

The narrow peaks for collectors 3, 9, 10 are likely just standard shrinkage: weak data with no obvious bias letting the prior dominate.

Cheers, Gilles


--
You received this message because you are subscribed to the Google Groups "spOccupancy and spAbundance users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to spocc-spabund-u...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/spocc-spabund-users/306ca9a1-21ce-44ed-a576-8d5eca2c5535n%40googlegroups.com.

Aaron Skinner

unread,
Mar 27, 2026, 12:59:51 PM (4 days ago) Mar 27
to gilles colling, spOccupancy and spAbundance users
Hi GIles, 

Thank you for your thoughts! I sort of see what you're getting at, but I'll ask a few follow-ups. My intuition is that the 25 vs 50 m radius would increase detection for this observer, not decrease it. But more importantly, without any replicates it seems that occupancy and detectability are completely unidentifiable, and thus I would've guessed that the model would assume the global mean for this data collector. I agree that dropping this collector probably makes the most sense. 

If alpha.star values are zero-centered deviations then I think this should be the correct way to generate the plot I had in mind, where the black curve is the global mean + SD, although you're correct that this still treats all species × collector combinations equally.
Captura de pantalla 2026-03-27 a la(s) 09.57.17.png

Thanks!
Aaron
He/him/his
Reply all
Reply to author
Forward
0 new messages