?
Counterfactual explanations based on synthetic data generation
A counterfactual explanation is the generation for a particular sample of a set of instances that belong
to the opposite class but are as close as possible in the feature space to the factual being explained.
Existing algorithms that solve this problem are usually based on complicated models that require a large
amount of training data and significant computational cost. We suggest here a method that involves two
stages. First, a synthetic set of potential counterfactuals is generated based on simple statistical models
(Gaussian copula, sequential model based on conditional distributions, Bayesian network, etc.), and
second, instances satisfying constraints on probability, proximity, diversity, etc. are selected. Such an
approach enables us to make the process transparent, manageable and to reuse the generative models.
Experiments on three public datasets have demonstrated that the proposed method provides results at
least comparable to known algorithms of counterfactual explanations, and superior to them in some
cases, especially on low-sized datasets. The most effective generation model is a Bayesian network in
this case.