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] [arXiv] [OpenReview] [Poster] [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: the hour curve

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

CALM: the hour curve on working days and on days off

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

GA2M: the hour curveGA2M: the hour by working-day surface

Figure 3: GA²M: curves plus pairwise heatmaps. The interaction is a surface to decode, one of 8 that involve the hour.

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 the hour add at 8 am on a working day?

CALMGA²M
CALM: the hour read on the working-day curve at 8 amGA2M: the same reading on the hour curve and on the surface

+307 rentals per hour   Find the hour on the working-day curve and read the value.

+182 from the curve, ? from 8 surfaces   The working-day surface adds +103 here, and 7 more surfaces add their share. Each is shared with another feature, 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 the hour goes from 8 am to 10 am?

CALMGA²M
CALM: the step from 8 am to 10 am on both curvesGA2M: the same step on the curve and on the surface

−355 working day
+133 day off
  One answer per curve, each exact.

−196 from the curve, ? from 8 surfaces   All 8 surfaces move, each by an amount set by another feature. There is no answer until those 8 features are fixed.

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: do rentals always rise from 5 am to 8 am?

CALMGA²M
CALM: both curves from 5 am to 8 amGA2M: the same interval on the curve and on the surface

Yes   Both curves climb there. Two curves checked, and the statement holds for every input.

Yes on the curve, ? on 8 surfaces   The curve climbs, but each of the 8 surfaces could undo it somewhere. All of them have to be checked together.

Accuracy

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

Table 1: Bike Sharing: error on held-out data, lower is better (5 folds, from the paper).
ModelRMSEError vs. the GAM
GAM100.2reference
CALM62.4−38%
GA²M54.8−45%
Black box39.4−61%

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 high 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. We propose Conditionally Additive Local Models (CALMs), a new model class that narrows this trade-off: it stays close to GAMs in interpretability and close to GA²Ms in accuracy. CALMs allow multiple univariate shape functions per feature, each active in different regions 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 never underperform GAMs, often beat them 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).

This work was also supported by the EYWA project, winner of the EIC Horizon Prize on Early Warning for Epidemics, and the CONOPS project, funded by the European Union through the Destination Earth initiative and implemented by ESA (contract No. 4000143571/24/I-NS).

Author: Vasilis Gkolemis et al.

Created: 2026-10-07

github.com/givasile/calm-additive