arviz_plots.plot_rank

Contents

arviz_plots.plot_rank#

arviz_plots.plot_rank(dt, var_names=None, filter_vars=None, group='posterior', coords=None, sample_dims=None, ci_prob=None, plot_collection=None, backend=None, labeller=None, aes_by_visuals=None, visuals=None, stats=None, **pc_kwargs)[source]#

Fractional rank Δ-ECDF plots.

Rank plots are built by replacing the posterior draws by their ranking computed over all chains. Then each chain is plotted independently. If all of the chains are targeting the same posterior, we expect the ranks in each chain to be uniformly distributed. To simplify comparison we compute the ordered fractional ranks, which are distributed uniformly in [0, 1]. Additionally, we plot the Δ-ECDF, that is, the difference between the expected CDF from the observed ECDF. Simultaneous confidence bands are computed using the simulation method described in [1].

Parameters:
dtxarray.DataTree

Input data

var_namesstr or list of str, optional

One or more variables to be plotted. Currently only one variable is supported. Prefix the variables by ~ when you want to exclude them from the plot.

filter_vars{None, “like”, “regex”}, optional, default=None

If None (default), interpret var_names as the real variables names. If “like”, interpret var_names as substrings of the real variables names. If “regex”, interpret var_names as regular expressions on the real variables names.

groupstr, optional

Which group to use. Defaults to “posterior”.

coordsdict, optional

Coordinates to plot.

sample_dimsstr or sequence of hashable, optional

Dimensions to reduce unless mapped to an aesthetic. Defaults to rcParams["data.sample_dims"]

ci_probfloat, optional

Indicates the probability that should be contained within the plotted credible interval. Defaults to rcParams["stats.ci_prob"]

plot_collectionPlotCollection, optional
backend{“matplotlib”, “bokeh”, “plotly”}, optional
labellerlabeller, optional
aes_by_visualsmapping of {strsequence of str}, optional

Mapping of visuals to aesthetics that should use their mapping in plot_collection when plotted. Valid keys are the same as for visuals.

visualsmapping of {strmapping or False}, optional

Valid keys are:

  • ecdf_lines -> passed to ecdf_line

  • credible_interval -> passed to ci_line_y

  • xlabel -> passed to labelled_x

  • title -> passed to labelled_title

  • remove_axis -> not passed anywhere, can only be False to skip calling this function

statsmapping, optional

Valid keys are:

  • ecdf_pit -> passed to ecdf_pit. Default is {"n_simulation": 1000}.

**pc_kwargs

Passed to arviz_plots.PlotCollection.wrap

Returns:
PlotCollection

References

[1]

Säilynoja et al. Graphical test for discrete uniformity and its applications in goodness-of-fit evaluation and multiple sample comparison. Statistics and Computing 32(32). (2022) https://doi.org/10.1007/s11222-022-10090-6

Examples

Rank plot for the crabs hurdle-negative-binomial dataset.

>>> from arviz_plots import plot_rank, style
>>> style.use("arviz-variat")
>>> from arviz_base import load_arviz_data
>>> dt = load_arviz_data('crabs_hurdle_nb')
>>> plot_rank(dt, var_names=["~mu"])
../../_images/arviz_plots-plot_rank-1.png