arviz.plot_compare

arviz.plot_compare(comp_df, insample_dev=True, plot_standard_error=True, plot_ic_diff=True, figsize=None, textsize=None, plot_kwargs=None, ax=None)[source]

Summary plot for model comparison.

This plot is in the style of the one used in the book Statistical Rethinking (Chapter 6) by Richard McElreath.

Parameters
comp_df: pd.DataFrame

Result of the az.compare() method

insample_devbool, optional

Plot in-sample deviance, that is the value of the information criteria without the penalization given by the effective number of parameters (pIC). Defaults to True

plot_standard_errorbool, optional

Plot the standard error of the information criteria estimate. Defaults to True

plot_ic_diffbool, optional
Plot standard error of the difference in information criteria between each model

and the top-ranked model. Defaults to True

figsizetuple, optional

If None, size is (6, num of models) inches

textsize: float

Text size scaling factor for labels, titles and lines. If None it will be autoscaled based on figsize.

plot_kwargsdict, optional

Optional arguments for plot elements. Currently accepts ‘color_ic’, ‘marker_ic’, ‘color_insample_dev’, ‘marker_insample_dev’, ‘color_dse’, ‘marker_dse’, ‘ls_min_ic’ ‘color_ls_min_ic’, ‘fontsize’

axaxes, optional

Matplotlib axes

Returns
axmatplotlib axes

Notes

Defaults to comparing Widely Accepted Information Criterion (WAIC) if present in comp_df column, otherwise compares Leave-one-out (loo)

Examples

Show default compare plot

>>> import arviz as az
>>> model_compare = az.compare({'Centered 8 schools': az.load_arviz_data('centered_eight'),
>>>                  'Non-centered 8 schools': az.load_arviz_data('non_centered_eight')})
>>> az.plot_compare(model_compare)
../_images/arviz-plot_compare-1.png

Plot standard error and information criteria difference only

>>> az.plot_compare(model_compare, insample_dev=False)
../_images/arviz-plot_compare-2.png