Shapley Values for dependent features using Divisive Clustering
Abstract
Formålet med denne oppgave er å anvende den nye metoden DivisiveShapApprox på å approksimere SHAP-verdier og å sammenlikne dens prestasjoner med KernelSHAP-metoden.
Det er for tiden mange metoder som gjør det mulig å tolke maskinlæringsmodeller, og én av de mest populære metodene er Shapley-verdier. Shapley-verdiene gir innsikt i prediksjonene til en maskinlæringsmodell ved å gi hver av variablene som er brukt for prediksjonen en verdi som beskriver variabelens bidrag til prediksjonen. SHAP-verdiene er Shapley-verdier for ett enkeltindivids prediksjon. Ettersom beregningen av Shapley-verdier er svært tidkrevende trenger man approksimasjonsmetoder for å kunne bruke Shapley-verdier i praksis.
I denne oppgaven sammenlikner vi to approksimasjonsmetoder for Shapley-verdiene. Den første metoden vi benytter er KernelSHAP-metoden, som for øyeblikket er den mest brukte approksimasjonsmetoden. Den andre approksimasjonsmetoden vi benytter er DivisiveShapApprox-metoden, samt en modifisert versjon av denne, DivisiveShapApproxNew. Approksimasjonsmetodene ble sammenliknet over tre sett med eksperimenter.
Det første settet med eksperimenter brukte data fra en multivariat Gaussisk fordeling og en lineær sammenheng mellom utfallet og dataene. Det andre settet med eksperimenter brukte også data med multivariat Gaussisk fordeling, men med en ikke-lineær sammenheng mellom utfallet og dataene, modellert av en random forest-modell. Det siste eksperimentet brukte syntetisk data, som er laget fra ekte data, som ble gitt av DNB. På dette datasettet blir en random forest-modell benyttet for å predikere sannsynligheten for mislighold, og SHAP-verdiene blir beregnet av de ulike approksimasjonsmetodene.
Resultatene fra eksperimentene avslører at DivisiveShapApprox er for ustabil til å være til bruk, men at dette er forbedret hos DivisiveShapApproxNew. Prestasjonene til DivisiveShapApproxNew avhenger av sammenhengen mellom utfallet og dataene, og metoden er kun konkurransedyktig når denne sammenhengen kan deles opp i mindre biter. For enkle sammenhenger, som en lineær modell, vil DivisiveShapApproxNew prestere bedre enn KernelSHAP, gitt at begge metodene har den samme korte kjøretiden. Når man øker kjøretiden til metodene vil feilen til KernelSHAP reduseres raskere enn hos DivisiveShapApproxNew og KernelSHAP vil være best, gitt lang nok kjøretid. Konklusjonen blir at KernelSHAP alt i alt er det beste valget. The aim of this thesis is to apply the new DivisiveShapApprox method to approximate SHAP values and to compare its performance to the KernelSHAP method.
There are now many methods to add interpretability to a machine learning model, and one of the most popular methods is the Shapley values. The Shapley values provide insight into the predictions made by a machine learning model by assigning each of the features used in the prediction a value of its contribution to the prediction. The SHAP values are the Shapley values for a single individuals’ prediction. As the computation of Shapley values is very time consuming, one needs to use approximation methods in order to use Shapley values in practice.
In this thesis we compare two approximation methods for Shapley values. The first method we use is the KernelSHAP method, which is currently the most used approximation method. The second approximation method we use is the DivisiveShapApprox method, and a modified version of this method, DivisiveShapApproxNew. The approximation methods were compared over three sets of experiments. The first set of experiments used data from a multivariate Gaussian distribution and a linear relationship between the output and the data. The second set of experiments also used multivariate Gaussian data, but a non-linear relationship between the output and the data, modelled with a random forest model. The final experiment used synthetic data, based on a real data set from the Norwegian financial service group DNB. On this data set a random forest model was fitted to predict the probability of default, and the SHAP values were computed using the different approximation methods.
The results of the experiments revealed that DivisiveShapApprox is too unstable for use, and that this is improved on in DivisiveShapApproxNew. The performance of DivisiveShapApproxNew is dependent on the relationship between the data and the output, and is only competitive when this relationship can be decomposed. For a simple relationship such as the linear model, the DivisiveShapApproxNew will outperform the KernelSHAP method, if both methods are given an equal short run time. As the run times of both methods increases, the error from the KernelSHAP method reduces faster than from the DivisiveShapApproxNew and the KernelSHAP is best if given enough computation time. In conclusion, the KernelSHAP is overall the better option.