PPC test statistics
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 |
For Binomial data, the plots will typically be most useful if
y
and yrep
contain the "success" proportions (not discrete
"success" or "failure" counts).
A ggplot object that can be further customized using the ggplot2 package.
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: 389-402. 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:
PPC-censoring
,
PPC-discrete
,
PPC-distributions
,
PPC-errors
,
PPC-intervals
,
PPC-loo
,
PPC-overview
,
PPC-scatterplots
y <- example_y_data() yrep <- example_yrep_draws() ppc_stat(y, yrep) ppc_stat(y, yrep, stat = "sd") + legend_none() ppc_stat_2d(y, yrep) ppc_stat_2d(y, yrep, stat = c("median", "mean")) + legend_move("bottom") color_scheme_set("teal") group <- example_group_data() ppc_stat_grouped(y, yrep, group) color_scheme_set("mix-red-blue") 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))
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.