# check_prior: Check if Prior is Informative In DominiqueMakowski/bayestestR: Understand and Describe Bayesian Models and Posterior Distributions

## Description

Performs a simple test to check whether the prior is informative to the posterior. This idea, and the accompanying heuristics, were discussed in this blogpost.

## Usage

 `1` ```check_prior(model, method = "gelman", simulate_priors = TRUE, ...) ```

## Arguments

 `model` A `stanreg`, `stanfit`, or `brmsfit` object. `method` Can be `"gelman"` or `"lakeland"`. For the `"gelman"` method, if the SD of the posterior is more than 0.1 times the SD of the prior, then the prior is considered as informative. For the `"lakeland"` method, the prior is considered as informative if the posterior falls within the `95%` HDI of the prior. `simulate_priors` Should prior distributions be simulated using `simulate_prior()` (default; faster) or sampled via `unupdate()` (slower, more accurate). `...` Currently not used.

## Value

A data frame with two columns: The parameter names and the quality of the prior (which might be `"informative"`, `"uninformative"`) or `"not determinable"` if the prior distribution could not be determined).

## References

https://statmodeling.stat.columbia.edu/2019/08/10/

## Examples

 ``` 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20``` ```## Not run: library(bayestestR) if (require("rstanarm")) { model <- stan_glm(mpg ~ wt + am, data = mtcars, chains = 1, refresh = 0) check_prior(model, method = "gelman") check_prior(model, method = "lakeland") # An extreme example where both methods diverge: model <- stan_glm(mpg ~ wt, data = mtcars[1:3, ], prior = normal(-3.3, 1, FALSE), prior_intercept = normal(0, 1000, FALSE), refresh = 0 ) check_prior(model, method = "gelman") check_prior(model, method = "lakeland") plot(si(model)) # can provide visual confirmation to the Lakeland method } ## End(Not run) ```

DominiqueMakowski/bayestestR documentation built on July 27, 2021, 4:12 p.m.