PPCintervals.Rd
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 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)# 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)#> Warning: There were 1 divergent transitions after warmup. Increasing adapt_delta above 0.95 may help. See #> http://mcstan.org/misc/warnings.html#divergenttransitionsafterwarmup#> Warning: Examine the pairs() plot to diagnose sampling problemsyrep < 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)