Medians and central interval estimates of yrep
with y
overlaid.
See the Plot Descriptions section, below.
ppc_intervals(y, yrep, x, ..., prob = 0.9, size = 1, fatten = 3) ppc_intervals_grouped(y, yrep, x, group, facet_args = list(), ..., prob = 0.9, size = 1, fatten = 3) ppc_ribbon(y, yrep, x, ..., prob = 0.9, alpha = 0.33, size = 0.25) ppc_ribbon_grouped(y, yrep, x, group, facet_args = list(), ..., prob = 0.9, alpha = 0.33, size = 0.25)
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  A value between 0 and 1 indicating the desired probability mass
to include in the 
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

A ggplot object that can be further customized using the ggplot2 package.
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 xaxis 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)
Other PPCs: PPCdiscrete
,
PPCdistributions
,
PPCerrors
, PPCloo
,
PPCoverview
,
PPCscatterplots
,
PPCteststatistics
y < rnorm(50) yrep < matrix(rnorm(5000, 0, 2), ncol = 50) color_scheme_set("brightblue") ppc_ribbon(y, yrep)ppc_intervals(y, yrep)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")# NOT RUN { library("rstanarm") fit < stan_glmer(mpg ~ wt + (1cyl), data = mtcars) 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) # }