# Purifying Interaction Effects with the Functional ANOVA: An Efficient Algorithm for Recovering Identifiable Additive Models

arXiv: https://arxiv.org/abs/1911.04974 · HTML: https://mlsanity.com/paper/1911.04974/

## Key facts

- Cited by 42 papers in the map (data through 14 Oct 2026).
- First posted on arXiv 12 Nov 2019.

## Built on by (most cited first, 30 of 42)

- [NODE-GAM: Neural Generalized Additive Model for Interpretable Deep Learning](https://mlsanity.com/paper/2106.01613/) (2021)
- [From Shapley Values to Generalized Additive Models and back](https://mlsanity.com/paper/2209.04012/) (2022)
- [Beyond TreeSHAP: Efficient Computation of Any-Order Shapley Interactions for Tree Ensembles](https://mlsanity.com/paper/2401.12069/) (2024)
- [KernelSHAP-IQ: Weighted Least-Square Optimization for Shapley Interactions](https://mlsanity.com/paper/2405.10852/) (2024)
- [Unifying local and global model explanations by functional decomposition of low dimensional structures](https://mlsanity.com/paper/2208.06151/) (2022)
- [PredDiff: Explanations and Interactions from Conditional Expectations](https://mlsanity.com/paper/2102.13519/) (2021)
- [Towards a theory of model distillation](https://mlsanity.com/paper/2403.09053/) (2024)
- [Towards Rigorous Interpretations: a Formalisation of Feature Attribution](https://mlsanity.com/paper/2104.12437/) (2021)
- [A New PHO-rmula for Improved Performance of Semi-Structured Networks](https://mlsanity.com/paper/2306.00522/) (2023)
- [Ultra-marginal Feature Importance: Learning from Data with Causal Guarantees](https://mlsanity.com/paper/2204.09938/) (2022)
- [Interpretable Survival Analysis for Heart Failure Risk Prediction](https://mlsanity.com/paper/2310.15472/) (2023)
- [Tree Ensemble Explainability through the Hoeffding Functional Decomposition and TreeHFD Algorithm](https://mlsanity.com/paper/2510.24815/) (2025)
- [PiML Toolbox for Interpretable Machine Learning Model Development and Diagnostics](https://mlsanity.com/paper/2305.04214/) (2023)
- [Interpretable Machine Learning based on Functional ANOVA Framework: Algorithms and Comparisons](https://mlsanity.com/paper/2305.15670/) (2023)
- [Contextualized Machine Learning](https://mlsanity.com/paper/2310.11340/) (2023)
- [Fast Estimation of Partial Dependence Functions using Trees](https://mlsanity.com/paper/2410.13448/) (2024)
- [Disentangling Interactions and Dependencies in Feature Attribution](https://mlsanity.com/paper/2410.23772/) (2024)
- [Tensor Product Neural Networks for Functional ANOVA Model](https://mlsanity.com/paper/2502.15215/) (2025)
- [Using Model-Based Trees with Boosting to Fit Low-Order Functional ANOVA Models](https://mlsanity.com/paper/2207.06950/) (2022)
- [NeurCAM: Interpretable Neural Clustering via Additive Models](https://mlsanity.com/paper/2408.13361/) (2024)
- [Interpretable Prediction and Feature Selection for Survival Analysis](https://mlsanity.com/paper/2404.14689/) (2024)
- [META-ANOVA: Screening interactions for interpretable machine learning](https://mlsanity.com/paper/2408.00973/) (2024)
- [Inherently Interpretable Tree Ensemble Learning](https://mlsanity.com/paper/2410.19098/) (2024)
- [Function Trees: Transparent Machine Learning](https://mlsanity.com/paper/2403.13141/) (2024)
- [DNAMite: Interpretable Calibrated Survival Analysis with Discretized Additive Models](https://mlsanity.com/paper/2411.05923/) (2024)
- [Common Functional Decompositions Can Mis-attribute Differences in Outcomes Between Populations](https://mlsanity.com/paper/2504.16864/) (2025)
- [The Most Important Features in Generalized Additive Models Might Be Groups of Features](https://mlsanity.com/paper/2506.19937/) (2025)
- [STRIDE: Subset-Free Functional Decomposition for XAI in Tabular Settings](https://mlsanity.com/paper/2509.09070/) (2025)
- [Exact Functional ANOVA Decomposition for Categorical Inputs Models](https://mlsanity.com/paper/2603.02673/) (2026)
- [Generalized Functional ANOVA: A Complete Theoretical Framework](https://mlsanity.com/paper/2605.18422/) (2026)

## Abstract (arXiv)

Models which estimate main effects of individual variables alongside interaction effects have an identifiability challenge: effects can be freely moved between main effects and interaction effects without changing the model prediction. This is a critical problem for interpretability because it permits "contradictory" models to represent the same function. To solve this problem, we propose pure interaction effects: variance in the outcome which cannot be represented by any smaller subset of features. This definition has an equivalence with the Functional ANOVA decomposition. To compute this decomposition, we present a fast, exact algorithm that transforms any piecewise-constant function (such as a tree-based model) into a purified, canonical representation. We apply this algorithm to Generalized Additive Models with interactions trained on several datasets and show large disparity, including contradictions, between the effects before and after purification. These results underscore the need to specify data distributions and ensure identifiability before interpreting model parameters.
