Looking for Guidance on Using Cumulative models to understand disease progression in wildlife images from camera traps

Please share your Stan program and accompanying data if possible.


Hello all, I am a master’s student working on a camera trapping project trying to see if we can use cameras to model disease progression in moose. If you are familar with camera trapping data you probably already know all of the pitfalls (pseudoreplication, low effective sample size, etc.)

I am using hair loss as an indicator of disease on unmarked moose and each moose is divided into 4 quadrants and scored independently so each quadrant is scored with a interval value (“< 5%”,“6-25%”,“26-50%”,“51-75%”,“76%-100%%”) and the full body hair loss estimate is derived from the weighted sum of these quadrats (I think there might be some mathematical coupling going on here but I’ve gotten completely different answers from different folks on whether this is statistically sound)

( I had initially tried this by converting the intervals to mid point values but I think that the cumulative model is more true to the actual data structure.

I know from my spearmans correlation test that the quadrats are correlated with eachother (as expected since they should be coming from the same animal.

What I am trying to understand is how informative each quadrat is for total severity especially in relation to time. Disease progression is expected to move from Q1 towards Q4 as the disease progresses and Q1 and Q2 are probably the early predictors of disease.

Any who I that’s a whole lot of typing to say I’m trying to find resources on how to use these models and if I’m doing everything completely wrong. I totaly new to this type of modeling framework but one of my committee members suggested it and given the weird data structure I have I think that brms() provides a bit more flexibility



Hi, @Nina_Kappel and welcome to the Stan forums.

I’ve never used arms, and I’m not familiar with the details of camera trapping, but I can help with the underlying statistical problem in terms of what you’re calling “coupling.”

The data sounds like it’s going to be indicators of the 5 levels across 4 quadrants. So an observation of a single moose at a single time might be recorded as (1, 1, 2, 1) for a moose whose first two quadrants and last quadrant have < 5% hair loss and quadrant 3 has 6-25% loss. If you’re getting actual measurements in 0–100% that would be better to use than quantizing into levels, but I’m assuming you don’t have any flexibility and have a (0.05, 0.25, 0.5, 0.75, 1.0) cutoffs for the intervals.

The usual strategy in measurement problems like this is to assume a parameter for what you a re calling “total severity”. This can be on whatever scale you want, but let’s say it’s a log odds transform of (0, 1), so unconstrained. (That is, take a value in (0, 1) and transform with logit). What you then want to do is figure out how to generate the quadrant losses given the overall severity. For example, a very simple GLM with a custom link would look like this:

\mu_n \in \mathbb{R}: severity level for moose n

z_n \sim \textrm{multi-normal}(\mu_n, \Sigma): draw the underlying levels z_n \in \mathbb{R}^4, with each component z_{n, q} represents severity of hair loss in quadrant q. This lets you account for correlation.

Then use this like in an ordinal logit. That is, you want to do something like

y_{n, q} = \textrm{quadrant}(z_{n, q}, c_q)

where c_q is a monotonically strictly increasing sequence of 4 cutpoints (determining 5 possible answers 1:5 for level of severity).

After this, y \in \{1, 2, 3, 4, 5\}^4 is of the format of your data. The critical thing here is to let the latent quadrant severities z be generated with correlation based on the overall severity.

I have no idea how you’d do that in brms, but I could help you set it up in Stan.

Do you have ID tags on the moose so that you know which are repeated measurements of the same moose? It sounds like you want to have some kind of time trend in z_n where the disease progresses over time.