Pareto k diagnostics with grid faceting

Pareto k diagnostics with grid faceting#

Faceted Pareto k plot using grid layout to separate data by field and year dimensions

Matplotlib version of plot_khat_facet_grid

Link to this page with the bokeh tab selected

Link to this page with the plotly tab selected

import warnings

import numpy as np
from arviz_base import load_arviz_data
from arviz_base.labels import MapLabeller
from arviz_stats import loo

import arviz_plots as azp

azp.style.use("arviz-variat")

idata = load_arviz_data("rugby")
points_da = idata.log_likelihood.dataset[["home_points", "away_points"]].to_array(
    dim="field"
)
idata.log_likelihood["points"] = points_da.assign_coords(field=["home", "away"])
idata.log_likelihood.coords["year"] = ("match", np.repeat([2014, 2015, 2016, 2017], 15))

warnings.filterwarnings("ignore", "Estimated shape parameter.*greater than 0.70")
warnings.filterwarnings("ignore", "Assuming dpi=100")
loo_result = loo(idata, var_name="points", pointwise=True)

pc = azp.plot_khat(
    loo_result,
    rows=["field"],
    cols=["year"],
    labeller=MapLabeller(coord_map={"field": {"home": "Home", "away": "Away"}}),
    visuals={
        "bin_text": {"color": "darkblue"},
        "hlines": {"color": "darkred", "width": 2},
        "title": True,
    },
    figure_kwargs={"figsize": (8, 6)},
    backend="none", # change to preferred backend
)

pc.show()

See also

API Documentation: plot_khat

Other examples with plot_khat#