How would you model this in brms?

I’m learning brms and would benefits from your thoughts on how to model the following.
Output variable PU is dependent on variable time, PU~Time. PU varies in the data set from 1 to 30, and has a fixed upped bound. This maximum increases nonlinearly with time.

My idea is to assume that PU is sampled from a scaled beta distribution: beta(a,b)m. Where beta(a,b) is the beta distribution with parameters an and b, and is a scaling parameters. And m~intercept + exp^(timec), where c is a parameter and time is a variable in the dataset.

I’m interested in what people think of this conceptually, and pointers to how to implement this in brms would be appreciated.


You are likely to get much better answers to this question if you describe the data in more detail. Where do they come from, what do they represent, how were they collected? Are they best thought of as discrete or continuous? Why is there a maximum and why does it vary?

Yes, absolutely. PU is a phenotype. It is a linear measurement. The max is a functional constraint that is lifted over time by natural selection. The data is collected from the fossil record over deep time scale (variable time). I want to model the way the max is lifted over time. Note that below this max, phenotypes can vary quite a lot and be small, close to zero.
Thank you for taking the time to respond to me.

My main comment is that it is often challenging to estimate a distribution parameterized by its maximum, because obtaining samples that approach the maximum is often a low-probability event.

A second issue to be aware of is that it will be challenging to model this maximum flexibly, because you need to do so in such a way that the modeled maximum is constrained to never go below any of the observed data at any point in evolutionary time. I suspect that this will be challenging to implement in brms. Maybe @avehtari has a good idea for how to do this using some sort of constrained Gaussian process.

A third relevant issue to consider is whether you wish to enforce an a priori monotonicity constraint on the time evolution of the maximum, or whether you want the model to return a posterior that might have occasional decreases in the maximum through time.

1 Like

Thank you for taking the time to share your thoughts. I need to think about this some more.