Thank you for the amazing work!
As documented here for the approximation flag.
https://github.com/slundberg/shap/blob/a1e891656deb4424f0b3a45d092d087db28796e4/shap/explainers/tree.py#L160-L162
Why is Saabas considered as an approximation for Shap?
Shapley values result from averaging the impact of adding each member of a group one at a time over all possible orderings. SHAP values measure the impact of a set of features (members of a group) on a model using conditional expectations, and then combine the impact of all subsets using the Shapley values. Saabas also uses conditional expectations but it only considers a single ordering of the features (the one specified by the tree). Just as a single ordering could be considered an approximation for averaging over all possible orderings, Saabas can be considered as an approximation to SHAP values. Note that this approximation does cause inconsistency problems, as detailed in the arXiv paper.
Thank you for your response! This is very helpful.
Most helpful comment
Shapley values result from averaging the impact of adding each member of a group one at a time over all possible orderings. SHAP values measure the impact of a set of features (members of a group) on a model using conditional expectations, and then combine the impact of all subsets using the Shapley values. Saabas also uses conditional expectations but it only considers a single ordering of the features (the one specified by the tree). Just as a single ordering could be considered an approximation for averaging over all possible orderings, Saabas can be considered as an approximation to SHAP values. Note that this approximation does cause inconsistency problems, as detailed in the arXiv paper.