The distribution of a (test) statistic T(yrep)
, or a pair of (test)
statistics, over the simulated datasets in yrep
, compared to the
observed value T(y)
computed from the data y
. See the
Plot Descriptions and Details sections, below, as
well as Gabry et al. (2019).
ppc_stat( y, yrep, stat = "mean", ..., binwidth = NULL, breaks = NULL, freq = TRUE ) ppc_stat_grouped( y, yrep, group, stat = "mean", ..., facet_args = list(), binwidth = NULL, breaks = NULL, freq = TRUE ) ppc_stat_freqpoly_grouped( y, yrep, group, stat = "mean", ..., facet_args = list(), binwidth = NULL, freq = TRUE ) ppc_stat_2d(y, yrep, stat = c("mean", "sd"), ..., size = 2.5, alpha = 0.7)
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 
stat  A single function or a string naming a function, except for

...  Currently unused. 
binwidth  Passed to 
breaks  Passed to 
freq  For histograms, 
group  A grouping variable (a vector or factor) the same length as

facet_args  A named list of arguments (other than 
size, alpha  Arguments passed to 
A ggplot object that can be further customized using the ggplot2 package.
For Binomial data, the plots will typically be most useful if
y
and yrep
contain the "success" proportions (not discrete
"success" or "failure" counts).
ppc_stat()
A histogram of the distribution of a test statistic computed by applying
stat
to each dataset (row) in yrep
. The value of the statistic in the
observed data, stat(y)
, is overlaid as a vertical line. More details on
ppc_stat()
can be found in Gabry et al. (2019).
ppc_stat_grouped()
,ppc_stat_freqpoly_grouped()
The same as ppc_stat()
, but a separate plot is generated for each
level of a grouping variable. In the case of
ppc_stat_freqpoly_grouped()
the plots are frequency polygons rather
than histograms. More details on ppc_stat_grouped()
can be found in
Gabry et al. (2019).
ppc_stat_2d()
A scatterplot showing the joint distribution of two test statistics
computed over the datasets (rows) in yrep
. The value of the
statistics in the observed data is overlaid as large point.
Gabry, J. , Simpson, D. , Vehtari, A. , Betancourt, M. and Gelman, A. (2019), Visualization in Bayesian workflow. J. R. Stat. Soc. A, 182: 389402. doi:10.1111/rssa.12378. (journal version, arXiv preprint, code on GitHub)
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:
PPCcensoring
,
PPCdiscrete
,
PPCdistributions
,
PPCerrors
,
PPCintervals
,
PPCloo
,
PPCoverview
,
PPCscatterplots
#>#>ppc_stat_2d(y, yrep)#>color_scheme_set("mixredblue") ppc_stat_freqpoly_grouped(y, yrep, group, facet_args = list(nrow = 2))#># use your own function to compute test statistics color_scheme_set("brightblue") q25 < function(y) quantile(y, 0.25) ppc_stat(y, yrep, stat = "q25") # legend includes function name#># can define the function in the 'stat' argument but then # the legend doesn't include a function name ppc_stat(y, yrep, stat = function(y) quantile(y, 0.25))#>