check_prior | R Documentation |
Performs a simple test to check whether the prior is informative to the posterior. This idea, and the accompanying heuristics, were discussed in Gelman et al. 2017.
check_prior(model, method = "gelman", simulate_priors = TRUE, ...)
## S3 method for class 'brmsfit'
check_prior(
model,
method = "gelman",
simulate_priors = TRUE,
effects = "fixed",
component = "conditional",
parameters = NULL,
verbose = TRUE,
...
)
model |
A |
method |
Can be |
simulate_priors |
Should prior distributions be simulated using
|
... |
Currently not used. |
effects |
Should results for fixed effects ( |
component |
Which type of parameters to return, such as parameters for the conditional model, the zero-inflated part of the model, the dispersion term, etc. See details in section Model Components. May be abbreviated. Note that the conditional component also refers to the count or mean component - names may differ, depending on the modeling package. There are three convenient shortcuts (not applicable to all model classes):
|
parameters |
Regular expression pattern that describes the parameters
that should be returned. Meta-parameters (like |
verbose |
Toggle off warnings. |
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).
Gelman, A., Simpson, D., and Betancourt, M. (2017). The Prior Can Often Only Be Understood in the Context of the Likelihood. Entropy, 19(10), 555. \Sexpr[results=rd]{tools:::Rd_expr_doi("10.3390/e19100555")}
library(bayestestR)
model <- rstanarm::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 <- rstanarm::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")
# can provide visual confirmation to the Lakeland method
plot(si(model, verbose = FALSE))
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.