Observation Level XAI

Ceteris Paribus

This chart shows how prediction will change if only one variable will be different. You can merge plots for different models and for different observations. The dark blue dot represents original value for the observation.

Dashboard options

  • Left margin for variables values - for categorical variables only

Connector options

# Maxiumum number of grid points.
# When grid_type is quantile then actual number can be lower.
arena.set_option('CeterisParibus', 'grid_points', value)
# Type of grid. Points can be taken uniformly ('uniform')
# or from empirical distribution of the variable ('quantile')
arena.set_option('CeterisParibus', 'grid_type', value)

Break Down

The idea of this chart is to check how values of variables for this specific observation affect the final prediction. The result is a waterfall of positive and negative contributions. The starting point is an averaged prediction for the whole dataset. The algorithm consists of two steps:
  1. Choose path - we want to start with variables that were the most important. To create an order we for each column set the observation's value for the whole testing dataset. The absolute value of the difference in averaged prediction will be our importance.
  2. Calculate contributions along the path - this step looks similar to the previous one. We start with the testing dataset and iterate over the path. Each iteration fixes column at observation's value. The next iteration uses the data frame from the previous one. In the end, every column will be constant. After replacements, we measure contribution as a difference in averaged prediction.

Dashboard options

  • Left margin for variables names with values
  • Maximum variables in Break Down

Shapley Values

Shapley Values chart is an extended version of Break Down. Instead of creating the best order of variables, it chooses multiple random paths and averages contributions. Take a look at the options tab in the dashboard to enable boxplots over columns.

Dashboard options

  • Display boxplots over Shapley Values
  • Left margin for variables names with values
  • Maximum variables in Shapley Values

Connector options

# Number of random paths
arena.set_option('ShapleyValues', 'B', value)
# Number of parallel processes
arena.set_option('ShapleyValues', 'cpus', value)
Modifying Observations Dataset Level XAI