Informative priors #238
Replies: 8 comments 10 replies
-
ok, got it. sounds like a good idea! might be some hassle for more complex brms-models, though, probably it's safer to pass a model instead of a formula, or we can check if insight can do the work for us. |
Beta Was this translation helpful? Give feedback.
-
This needs:
We could write an example illustrating a full real-data "study" (the master tutorial?) (showing all facets of bayestestR):
|
Beta Was this translation helpful? Give feedback.
-
For factors we would need to incorporate |
Beta Was this translation helpful? Give feedback.
-
nice, we could add that indeed, so this "walk-through" would be fairly complete. |
Beta Was this translation helpful? Give feedback.
-
reminder to myself: continue working on this paper... |
Beta Was this translation helpful? Give feedback.
-
aha! I found your demon, now I will bump this issue just as you bump the news-file one 😈 |
Beta Was this translation helpful? Give feedback.
-
Looking back at this, this really would be a nice thing to have 🤩 |
Beta Was this translation helpful? Give feedback.
-
(see also #437) Continuation of my thoughts on conceptualising priors and teaching prior specification in a useful way The EasyPrior FrameworkPriors exist in a three-dimensional space. 1. Fidelityalternative names: coherence, alignment, appropriateness, ... The most important dimension. This refers to whether a prior distribution is aligned with the target "true" distribution/range of the parameter.
![]() The first step of prior selection is to make sure the prior is not inappropriate, which requires some understanding of the parameters that we are estimating. However, thanks to the Central Limit Theorem, a Normal prior is in practice often a good choice. 2. LocationWhat is the most plausible value. Where do we put the most probability mass?
3. PrecisionHow narrow/wide is our prior. How much influence does it have.
ExampleLet's say we are trying to specify the prior for the SD parameter of participants random effect in a mixed model. This parameter is strictly positive, and let's assume its "true distribution" (a bit of a shaky concept) is Gamma(alpha=4, theta=4). This means the mean = 16, and mode = 12.
We could do a 3D plot to illustrate this with various examples ![]() The terminology and names might not be optimal. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Now that I think of it @strengejacke, your tutorial paper about informative priors could be boosted by the implementation of an easy-to-use function (let's call it
informative_priors
) that would facilitate the set-up of informative priors.Formatted priors object
I believe that most researchers would be interested in using more informative priors, if only that was simpler. One of the function of such function could be to provide a unified interface to prior specification, that would return a prior object compatible with what they want to use, i.e., brms, rstanarm etc.
Standardized informative priors based on interpreted categorical sizes
Of course, our initial reaction is that informative priors have to be decided on a case by case basis, in regards to prior literature and expectations. While this is, of course, true, one could potentially imagine a second approach to the problem.
For instance, it could be interesting to allow for a more naturalistic prior specification. Similar to what sometimes we think, and what we'd like to say, e.g. "I expect this effect to be small". Now how to transform "small" into something mathematically acceptable? We could refer to an interpretation grid (we could transfer some utilities for that from report). Let's say that a standardized coef for "small" is 0.2. We could unstandardize this value based on the mean/SD of the data, that would give us the location of a prior corresponding to a "small" effect. The scale could be automatically adjusted accordingly.
E.g.
informative_priors_rstanarm(y ~ A + B, size =c("small", "medium"), data = df)
would return a list with priors set that one could then just pass to the rstanarm model.Believers vs. Agnostic vs. Sceptic priors
Finally, an argument could control the "type" of prior. Three of them make particular sense to me. First of all, the agnostic prior is similar to the one set by default, for instance in rstanarm (although I find its automatic scaling to be way too generous), i.e., one located at 0. This one is suited for true exploratory analysis. On the contrary, a believer's prior can be useful, for instance in small samples or noisy data, would be located at the expected effect value. If we take the example above, and I expect the effect to be "small", I would place a believer's prior at 0.2 (or its unstandardized equivalent). However, in large datasets or for very robust data, one might want to set sceptic priors, that would be located at the same location than a believer's, but on the opposite direction. A sceptic prior for the example above would be set at -0.2. Such feature could be easily added to our function.
informative_priors_brms(y ~ A, size ="medium", data = df, type = "sceptic")
Beta Was this translation helpful? Give feedback.
All reactions