https://github.com/cran/bayestestR
Tip revision: ebb4d406af6a7168582caf0094830bc559b472a7 authored by Dominique Makowski on 02 May 2022, 06:40:03 UTC
version 0.12.1
version 0.12.1
Tip revision: ebb4d40
check_prior.Rd
% Generated by roxygen2: do not edit by hand
% Please edit documentation in R/check_prior.R
\name{check_prior}
\alias{check_prior}
\title{Check if Prior is Informative}
\usage{
check_prior(model, method = "gelman", simulate_priors = TRUE, ...)
}
\arguments{
\item{model}{A \code{stanreg}, \code{stanfit}, \code{brmsfit}, \code{blavaan}, or \code{MCMCglmm} object.}
\item{method}{Can be \code{"gelman"} or \code{"lakeland"}. For the
\code{"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
\code{"lakeland"} method, the prior is considered as informative if the
posterior falls within the \verb{95\%} HDI of the prior.}
\item{simulate_priors}{Should prior distributions be simulated using
\code{\link[=simulate_prior]{simulate_prior()}} (default; faster) or sampled via
\code{\link[=unupdate]{unupdate()}} (slower, more accurate).}
\item{...}{Currently not used.}
}
\value{
A data frame with two columns: The parameter names and the quality
of the prior (which might be \code{"informative"}, \code{"uninformative"})
or \code{"not determinable"} if the prior distribution could not be
determined).
}
\description{
Performs a simple test to check whether the prior is informative to the
posterior. This idea, and the accompanying heuristics, were discussed in
\href{https://statmodeling.stat.columbia.edu/2019/08/10/}{this blogpost}.
}
\examples{
\dontrun{
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
}
}
}
\references{
https://statmodeling.stat.columbia.edu/2019/08/10/
}