I am trying to model reaction times with a relatively simply formula:
rt ~ 0 + condition + n:condition + (1 | p_id)
where condition is a three level factor, and n is an integer (0 - 36).
A standard lmm works well enough, does a good of fitting the means, etc But really, we want a model that won’t predict values <0, and can match the skew of the distribution.
Using lognormal() helps quite a lot, and I’m almost tempted to call it a day and get on with submitting my paper! But, when the posterior predictions are plotted, you can see that model is predicting too may short rts . We next tried using a shifted_lognormal() to account for this, but we didn’t get very far.
I’m currently trying to work with family = inverse_gaussian(), and this is working more or less. Although it it often fails to find good starting values.
We’re having quite a bit of trouble in specifying sensible priors. We’d really really like to have priors for each of the three distributions that result in broadly similar prior predictions (we know that most our of data is going to be between 0.2 and 2 seconds!). Whenever I try to run the brms model with
sample_prior = "only", we get lots of initalising warnings etc.
I’ve even tried running the model with the default priors, then using those posteriors to inform a new set of priors to test, but I can’t get this working either!
Does anybody have any experience working with any of these distributions? It would be great to get some advice! I’m happy to switch back to shifted_lognormal, stick with inverse_gaussian, or move to something else.
Thanks in advance,