CALM: Conditionally Additive Local ModelsInterpretability-by-Design with Accurate Locally Additive Models and Conditional Feature Effects

Vasilis Gkolemis1,2, Loukas Kavouras2, Dimitrios Kyriakopoulos2, Konstantinos Tsopelas2, Dimitrios Rontogiannis4, Giuseppe Casalicchio5, Theodore Dalamagas2, Christos Diou1,3
1Department of Informatics and Telematics, Harokopio University of Athens   2IMSI, ATHENA RC   3Archimedes AI, ATHENA RC   4Max Planck ISS   5LMU Munich

NeurIPS 2026, main track poster
[Paper] [Code] [Docs] [PyPI] [BibTeX]

Overview

A GAM gives every feature one curve, and the prediction is their sum. It is easy to read, but it misses feature interactions, which costs accuracy. A GA²M captures pairwise interactions, at the cost of crucial interpretability properties. CALM combines the best of both. It captures interactions as conditional feature effects: more than one curve per feature, each active in a different region of the input space. This improves accuracy over GAMs while keeping their interpretability properties.

Data: |

GAM: one curve for x3

Figure 1: GAM: one curve per feature. The interaction is averaged away.

CALM: one curve for x3 per region of x2

Figure 2: CALM: one curve per feature, per region. The interaction is two curves you can read.

GA2M: the x3 curveGA2M: the x3 by x2 surface

Figure 3: GA²M: curves plus pairwise heatmaps. The interaction is a surface to decode.

Interpretability

CALM keeps three interpretability properties (P1, P2, P3) of a GAM that a GA²M loses.

P1. Local Feature Contribution

What is the contribution of each feature to the prediction?
Formally: Given an input x, how much does each xi contribute to ŷ(x)?

Here: what does x₃ add at x₃ = 0.5, when x₂ > 0?

CALMGA²M
CALM: x3 read on the x2 > 0 curve at 0.5GA2M: the same reading on the x3 curve and on the surface

+0.5   Find x₃ on the x₂ > 0 curve and read the value.

+0.29 from the curve, ? from the surface   The surface adds +0.21 at this point, but it is shared with x₂ and the model does not say how to split it.

P2. Regional Feature Sensitivity

How does changing xi change the prediction?
Formally: Given xi and Δx > 0, what is Δŷ = ŷ(x + eiΔx) − ŷ(x), assuming only xi is perturbed and x\i is fixed?

Here: how does the prediction change when x₃ goes from 0 to 1?

CALMGA²M
CALM: the step from 0 to 1 on both curvesGA2M: the same step on the curve and on the surface

+1.0 when x₂ > 0
−0.9 when x₂ ≤ 0
  One answer per curve, each exact.

+0.05 from the curve, ? from the surface   The step on the surface changes with x₂, row by row. With more features, one surface per feature that x₃ interacts with.

P3. Global Feature Property

Is the model globally monotonic increasing with respect to xi?
Formally: For all x and Δx > 0, is Δŷ = ŷ(x + eiΔx) − ŷ(x) > 0?

Here: does raising x₃ always raise the prediction?

CALMGA²M
CALM: both curves on the interval below 0GA2M: the same interval on the curve and on the surface

Only below 0   Both curves climb up to x₃ = 0. After it, the x₂ ≤ 0 curve turns down.

Yes on the curve, ? on the surface   The curve climbs, but the surface could undo it somewhere. Every row of the surface has to be checked against it.

Accuracy

CALM recovers most of what a GA²M gains over a GAM.

Table 1: Error on held-out data, lower is better (5 folds). The noise puts the best possible value at 0.10.
ModelRMSEError vs. the GAM
GAM0.33reference
CALM0.10−69%
GA²M0.11−67%
Black box0.12−62%

More results

The paper's 25 datasets.

CALM and GA2M gains over the GAM on the paper's 25 datasets

What each model gains over the GAM, per dataset. Numbers at the right: CALM · GA²M.

Usage

pip install calm-additive
from calm_additive import CALMRegressor

model = CALMRegressor().fit(X_train, y_train)
model.predict(X_test)

model.print_summary()        # the model on one screen
model.plot_curves("hour")    # one feature, one curve per region

Abstract

Generalized additive models (GAMs) offer interpretability through independent univariate feature effects but underfit when interactions are present in data. GA²Ms add selected pairwise interactions, which improves accuracy but sacrifices interpretability and limits model auditing. We propose Conditionally Additive Local Models (CALMs), a new model class that balances the interpretability of GAMs with the accuracy of GA²Ms. CALMs allow multiple univariate shape functions per feature, each active in a different region of the input space. These regions are defined independently for each feature as simple logical conditions (thresholds) on the features it interacts with. As a result, effects remain locally additive while varying across subregions to capture interactions. We further propose a principled distillation-based training pipeline that identifies homogeneous regions with limited interactions and fits interpretable shape functions via region-aware backfitting. Experiments on diverse classification and regression tasks show that CALMs consistently outperform GAMs and achieve accuracy broadly comparable to GA²Ms, while preserving the univariate auditability that GA²Ms forfeit.

Citation

@inproceedings{gkolemis2026calm,
  title     = {Interpretability-by-Design with Accurate Locally Additive Models
               and Conditional Feature Effects},
  author    = {Gkolemis, Vasilis and Kavouras, Loukas and Kyriakopoulos, Dimitrios
               and Tsopelas, Konstantinos and Rontogiannis, Dimitrios
               and Casalicchio, Giuseppe and Dalamagas, Theodore and Diou, Christos},
  booktitle = {Advances in Neural Information Processing Systems (NeurIPS)},
  year      = {2026}
}

Acknowledgments

The work leading to these results has been funded by the European Union under Grant Agreement No. 101289094 (project AIRIS). Views and opinions expressed are however those of the authors and do not necessarily reflect those of the European Union or the granting authority (HaDEA). Neither the European Union nor the granting authority can be held responsible for them.

The research leading to this work has received funding from the European Union’s Horizon Europe research and innovation program under Grant Agreement No: 101135826 (aidapt.eu).

Author: Vasilis Gkolemis et al.

Created: 2026-10-07

github.com/givasile/calm-additive