R: RStan Diagnostic plots

Diagnostic plots {rstan} | R Documentation

## RStan Diagnostic plots

### Description

Diagnostic plots for HMC and NUTS using ggplot2.

### Usage

      stan_diag(object,
                information = c("sample","stepsize", "treedepth","divergence"),
                chain = 0, ...)
      stan_par(object, par, chain = 0, ...)

      stan_rhat(object, pars, ...)
      stan_ess(object, pars, ...)
      stan_mcse(object, pars, ...)

### Arguments

`object` | A stanfit or stanreg object.
`information` | The information to be contained in the diagnostic plot.
`par,pars` | The name of a single scalar parameter (`par`) or one or more parameter names (`pars`).
`chain` | If `chain=0` (the default) all chains are combined. Otherwise the plot for `chain` is overlaid on the plot for all chains combined.
`...` | For `stan_diag` and `stan_par`, optional arguments to `arrangeGrob`. For `stan_rhat`, `stan_ess`, and `stan_mcse`, optional arguments to `stat_bin` in the ggplot2 package.

### Details

`stan_rhat`,`stan_ess`,`stan_mcse`

  Respectively, these plots show the distribution of the Rhat statistic, the ratio of effective sample size to total sample size, and the ratio of Monte Carlo standard error to posterior standard deviation for the estimated parameters. These plots are not intended to identify individual parameters, but rather to allow for quickly identifying if the estimated values of these quantities are desireable for all parameters.

`stan_par`

  Calling `stan_par` generates three plots: (i) a scatterplot of `par` vs. the accumulated log-posterior (`lp__`), (ii) a scatterplot of `par` vs. the average Metropolis acceptance rate (`accept_stat`), and (iii) a violin plot showing the distribution of `par` at each of the sampled step sizes (one per chain). For the scatterplots, red points are superimposed to indicate which (if any) iterations encountered a divergent transition. Yellow points indicate a transition that hit the maximum treedepth rather than terminated its evolution normally.

`stan_diag`

  The `information` argument is used to specify which plots `stan_diag` should generate:

  - `information='sample'`Histograms of `lp__` and `accept_stat`, as well as a scatterplot showing their joint distribution.

  - `information='stepsize'`Violin plots showing the distributions of `lp__` and `accept_stat` at each of the sampled step sizes (one per chain).

  - `information='treedepth'`Histogram of `treedepth` and violin plots showing the distributions of `lp__` and `accept_stat` for each value of `treedepth`.

  - `information='divergence'`Violin plots showing the distributions of `lp__` and `accept_stat` for iterations that encountered divergent transitions (`divergent=1`) and those that did not (`divergent=0`).

### Value

For `stan_diag` and `stan_par`, a list containing the ggplot objects for each of the displayed plots. For `stan_rhat`, `stan_ess`, and `stan_mcse`, a single ggplot object.

### Note

For details about the individual diagnostics and sampler parameters and their interpretations see the Stan Modeling Language User's Guide and Reference Manual at http://mc-stan.org/documentation/.

### See Also

`List of RStan plotting functions`, `Plot options`

### Examples

    ## Not run:
    fit <- stan_demo("eight_schools")

    stan_diag(fit, info = 'sample') # shows three plots together
    samp_info <- stan_diag(fit, info = 'sample') # saves the three plots in a list
    samp_info[[3]] # access just the third plot

    stan_diag(fit, info = 'sample', chain = 1) # overlay chain 1

    stan_par(fit, par = "mu")

    ## End(Not run)

[Package rstan version 2.21.2 Index]