PPC intervals
Medians and central interval estimates of yrep
with y
overlaid.
See the Plot Descriptions section, below.
ppc_intervals( y, yrep, x = NULL, ..., prob = 0.5, prob_outer = 0.9, size = 1, fatten = 3 ) ppc_intervals_grouped( y, yrep, x = NULL, group, ..., facet_args = list(), prob = 0.5, prob_outer = 0.9, size = 1, fatten = 3 ) ppc_ribbon( y, yrep, x = NULL, ..., prob = 0.5, prob_outer = 0.9, alpha = 0.33, size = 0.25 ) ppc_ribbon_grouped( y, yrep, x = NULL, group, ..., facet_args = list(), prob = 0.5, prob_outer = 0.9, alpha = 0.33, size = 0.25 ) ppc_intervals_data( y, yrep, x = NULL, group = NULL, ..., prob = 0.5, prob_outer = 0.9 ) ppc_ribbon_data( y, yrep, x = NULL, group = NULL, ..., prob = 0.5, prob_outer = 0.9 )
y |
A vector of observations. See Details. |
yrep |
An S by N matrix of draws from the posterior
predictive distribution, where S is the size of the posterior sample
(or subset of the posterior sample used to generate |
x |
A numeric vector the same length as |
... |
Currently unused. |
prob, prob_outer |
Values between 0 and 1 indicating the desired
probability mass to include in the inner and outer intervals. The defaults
are |
group |
A grouping variable (a vector or factor) the same length as
|
facet_args |
An optional list of arguments (other than |
alpha, size, fatten |
Arguments passed to geoms. For ribbon plots |
The plotting functions return a ggplot object that can be further
customized using the ggplot2 package. The functions with suffix
_data()
return the data that would have been drawn by the plotting
function.
ppc_intervals(), ppc_ribbon()
100*prob
% central intervals for yrep
at each x
value. ppc_intervals()
plots intervals as vertical bars with points
indicating yrep
medians and darker points indicating observed
y
values. ppc_ribbon()
plots a ribbon of connected intervals
with a line through the median of yrep
and a darker line connecting
observed y
values. In both cases an optional x
variable can
also be specified for the x-axis variable.
Depending on the number of observations and the variability in the
predictions at different values of x
, one or the other of these
plots may be easier to read than the other.
ppc_intervals_grouped(), ppc_ribbon_grouped()
Same as ppc_intervals()
and ppc_ribbon()
, respectively, but a
separate plot (facet) is generated for each level of a grouping variable.
Gelman, A., Carlin, J. B., Stern, H. S., Dunson, D. B., Vehtari, A., and Rubin, D. B. (2013). Bayesian Data Analysis. Chapman & Hall/CRC Press, London, third edition. (Ch. 6)
y <- rnorm(50) yrep <- matrix(rnorm(5000, 0, 2), ncol = 50) color_scheme_set("brightblue") ppc_ribbon(y, yrep) ppc_intervals(y, yrep) # change x axis to y values (instead of indices) and add x = y line ppc_intervals(y, yrep, x = y) + abline_01() color_scheme_set("teal") year <- 1950:1999 ppc_ribbon(y, yrep, x = year, alpha = 0, size = 0.75) + ggplot2::xlab("Year") color_scheme_set("pink") year <- rep(2000:2009, each = 5) group <- gl(5, 1, length = 50, labels = LETTERS[1:5]) ppc_ribbon_grouped(y, yrep, x = year, group) + ggplot2::scale_x_continuous(breaks = pretty) ppc_ribbon_grouped( y, yrep, x = year, group, facet_args = list(scales = "fixed"), alpha = 1, size = 2 ) + xaxis_text(FALSE) + xaxis_ticks(FALSE) + panel_bg(fill = "gray20") ppc_dat <- ppc_intervals_data(y, yrep, x = year, prob = 0.5) ppc_group_dat <- ppc_intervals_data(y, yrep, x = year, group = group, prob = 0.5) ## Not run: library("rstanarm") fit <- stan_glmer(mpg ~ wt + (1|cyl), data = mtcars, refresh = 0) yrep <- posterior_predict(fit) color_scheme_set("purple") with(mtcars, ppc_intervals(mpg, yrep, x = wt, prob = 0.5)) + panel_bg(fill="gray90", color = NA) + grid_lines(color = "white") ppc_intervals_grouped(y = mtcars$mpg, yrep, prob = 0.8, x = mtcars$wt, group = mtcars$cyl) color_scheme_set("gray") ppc_intervals(mtcars$mpg, yrep, prob = 0.5) + ggplot2::scale_x_continuous( labels = rownames(mtcars), breaks = 1:nrow(mtcars) ) + xaxis_text(angle = -70, vjust = 1, hjust = 0) ## End(Not run)
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.