brms (version 0.10.0)

hypothesis.brmsfit: Non-linear hypothesis testing

Description

Perform non-linear hypothesis testing for all model parameters.

Usage

"hypothesis"(x, hypothesis, class = "b", group = "", alpha = 0.05, ...)
hypothesis(x, hypothesis, ...)
"print"(x, digits = 2, chars = 20, ...)
"plot"(x, N = 5, ignore_prior = FALSE, theme = ggplot2::theme(), ask = TRUE, do_plot = TRUE, chars = 20, ...)

Arguments

x
An R object typically of class brmsfit.
hypothesis
A character vector specifying one or more non-linear hypothesis concerning parameters of the model.
class
A string specifying the class of parameters being tested. Default is "b" for fixed effects. Other typical options are "sd" or "cor". If class = NULL, all parameters can be tested against each other, but have to be specified with their full name (see also parnames)
group
Name of a grouping factor to evaluate only random effects parameters related to this grouping factor. Ignored if class is not "sd" or "cor".
alpha
The alpha-level of the tests (default is 0.05).
...
Currently ignored.
digits
Minimal number of significant digits, see print.default.
chars
Maximum number of characters of each hypothesis to print or plot. If NULL, print the full hypotheses. Defaults to 20.
N
The number of parameters plotted per page.
ignore_prior
A flag indicating if prior distributions should also be plotted. Only used if priors were specified on the relevant parameters.
theme
A theme object modifying the appearance of the plots. For some basic themes see ggtheme. Can be defined globally for the current session, via theme_set.
ask
logical; indicates if the user is prompted before a new page is plotted. Only used if do_plot is TRUE.
do_plot
logical; indicates if plots should be plotted directly in the active graphic device. Defaults to TRUE.

Value

Summary statistics of the posterior distributions related to the hypotheses.

Details

Among others, hypothesis computes an evidence ratio for each hypothesis. For a directed hypothesis, this is just the posterior probability under the hypothesis against its alternative. For an undirected (i.e. point) hypothesis the evidence ratio is a Bayes factor between the hypothesis and its alternative. In order to calculate this Bayes factor, all parameters related to the hypothesis must have proper priors and argument sample_prior of function brm must be set to TRUE. When interpreting Bayes factors, make sure that your priors are reasonable and carefully chosen, as the result will depend heavily on the priors. It particular, avoid using default priors.

Examples

Run this code
## Not run: 
# ## define priors
# prior <- c(set_prior("normal(0,2)", class = "b"),
#            set_prior("student_t(10,0,1)", class = "sigma"),
#            set_prior("student_t(10,0,1)", class = "sd"))
# 
# ## fit a linear mixed effects models
# fit <- brm(time ~ age + sex + disease + (1 + age|patient),
#            data = kidney, family = gaussian("log"),
#            prior = prior, sample_prior = TRUE, 
#            control = list(adapt_delta = 0.95))
# 
# ## perform two-sided hypothesis testing
# (hyp1 <- hypothesis(fit, "sexfemale = age + diseasePKD"))
# plot(hyp1)
# hypothesis(fit, "exp(age) - 3 = 0", alpha = 0.01)
# 
# ## perform one-sided hypothesis testing
# hypothesis(fit, "diseasePKD + diseaseGN - 3 < 0")
# 
# hypothesis(fit, "age < Intercept", 
#            class = "sd", group  = "patient")
# 
# ## test the amount of random intercept variance on all variance
# h <- paste("sd_patient_Intercept^2 / (sd_patient_Intercept^2 +",
#            "sd_patient_age^2 + sigma_time^2) = 0")
# (hyp2 <- hypothesis(fit, h, class = NULL))
# plot(hyp2)
# 
# ## test more than one hypothesis at once
# (hyp3 <- hypothesis(fit, c("diseaseGN = diseaseAN", 
#                            "2 * diseaseGN - diseasePKD = 0")))
# plot(hyp3, ignore_prior = TRUE)
# ## End(Not run)

Run the code above in your browser using DataCamp Workspace