RHALE report

target MedHouseVal · 8 features · 4 plotted

data 2,000 × 88 continuousmodel output 0.0317 ± 0.899 in [-1.6, 3.17]
method rhaletop_k 5coverage 0.8000heter_threshold 0.2650min_r2_gain 0.0100finder bestnof_instances 2000random_state 21

1 · Overview — where to look

An additive surrogate read off the global curves reproduces 78.1% of the model's predicted variance; adding the regional plots kept by the decision sequence, 81.9%.

explained-variance ledger

Each point is a feature: importance (x) against heterogeneity (y). Bottom-left is ignorable; bottom-right is important and fully described by its mean effect; the top-right corner — important and heterogeneous — is where the mean hides something. An arrow marks each split the decision sequence accepted: from the feature's global point to its weighted-mean point across the subregions.

feature triage
#featureimportanceheterogeneity#regionsregional analysis
1Longitude0.81520.84697split found — rejected by the decision sequence →
2Latitude0.48910.68437split into 4 regions →
3MedInc0.44500.28245split found — rejected by the decision sequence →
4AveOccup0.33650.30997split into 4 regions →
5AveRooms0.10730.2153·not plotted (below the coverage cut)
6AveBedrms0.04890.1556·not plotted (below the coverage cut)
7HouseAge0.04500.2475·not plotted (below the coverage cut)
8Population0.03460.1625·not plotted (below the coverage cut)

The plotted features carry 90% of the total importance mass (target 80%, ceiling top_k = 5).

The decision sequence. Starting from the global curves, each round applies the split with the largest explained-variance gain, measured on top of the splits above it, and stops when no remaining split adds at least 1.0%. A real split (its heterogeneity does drop) can still add nothing — or even hurt, by double-counting — when its variance is already explained by an earlier split.

stepregionsheterogeneityexplained variance
global effects (GAM)··78.1%
+ split AveOccup (on HouseAge, Latitude, MedInc)40.400 → 0.310+1.6% → 79.8%
+ split Latitude (on AveOccup, HouseAge, Longitude)40.991 → 0.684+2.1% → 81.9%
rejected · Longitude (on AveOccup, Latitude)40.847 → 0.670+0.7% — below the 1.0% threshold
rejected · MedInc (on AveOccup, HouseAge)30.282 → 0.244+0.7% — below the 1.0% threshold
Bar view — importance and heterogeneityimportance and heterogeneity

2 · Regional analysis — the final CALM

The selected snapshot: global effects everywhere except the accepted splits. Features in descending importance — a split feature enters as one group at the instance-weighted mean of its subregions. The split features' global counterparts are in the baseline section at the end.

2.1 · Longitude

importance 0.8152heterogeneity 0.8469regions 1

Global effect

Longitude global effect

Regional effects

A split on AveOccup, Latitude into 4 regions was found (heterogeneity 0.847 → 0.670), but the decision sequence skips it: it adds only +0.7%, below the 1.0% threshold. The regional plots are omitted; reproduce them with find_regions.

2.2 · Latitude

importance 0.4891heterogeneity 0.6843regions 4

Split on AveOccup, HouseAge, Longitude into 4 regions — worth +2.1% of explained variance on top of the splits above it; importance and heterogeneity here are the instance-weighted means over the subregions. The global counterpart is in the baseline.

Partition tree

Feature 6 - Full partition tree:
🌳 Full Tree Structure:
───────────────────────
Latitude 🔹 [id: 0 | heter: 0.99 | inst: 2000 | w: 1.00]
    Longitude < -1.04 🔹 [id: 1 | heter: 1.08 | inst: 521 | w: 0.26]
        HouseAge < -0.32 🔹 [id: 2 | heter: 0.64 | inst: 173 | w: 0.09]
        HouseAge ≥ -0.32 🔹 [id: 3 | heter: 1.17 | inst: 348 | w: 0.17]
    Longitude ≥ -1.04 🔹 [id: 4 | heter: 0.73 | inst: 1479 | w: 0.74]
        AveOccup < -0.38 🔹 [id: 5 | heter: 0.71 | inst: 475 | w: 0.24]
        AveOccup ≥ -0.38 🔹 [id: 6 | heter: 0.51 | inst: 1004 | w: 0.50]
--------------------------------------------------
Feature 6 - Statistics per tree level:
🌳 Tree Summary:
─────────────────
Level 0🔹heter: 0.99
    Level 1🔹heter: 0.82 | 🔻0.17 (17.37%)
        Level 2🔹heter: 0.68 | 🔻0.13 (16.43%)


Latitude where (Longitude < -1.04) and (HouseAge < -0.32)
heterogeneity 0.6442 · −35% vs global · n=173
Latitude where (Longitude < -1.04) and (HouseAge ≥ -0.32)
heterogeneity 1.1703 · −-18% vs global · n=348
Latitude where (Longitude ≥ -1.04) and (AveOccup < -0.38)
heterogeneity 0.7084 · −29% vs global · n=475
Latitude where (Longitude ≥ -1.04) and (AveOccup ≥ -0.38)
heterogeneity 0.5114 · −48% vs global · n=1,004

2.3 · MedInc

importance 0.4450heterogeneity 0.2824regions 1

Global effect

MedInc global effect

Regional effects

A split on AveOccup, HouseAge into 3 regions was found (heterogeneity 0.282 → 0.244), but the decision sequence skips it: it adds only +0.7%, below the 1.0% threshold. The regional plots are omitted; reproduce them with find_regions.

2.4 · AveOccup

importance 0.3365heterogeneity 0.3099regions 4

Split on HouseAge, Latitude, MedInc into 4 regions — worth +1.6% of explained variance on top of the splits above it; importance and heterogeneity here are the instance-weighted means over the subregions. The global counterpart is in the baseline.

Partition tree

Feature 5 - Full partition tree:
🌳 Full Tree Structure:
───────────────────────
AveOccup 🔹 [id: 0 | heter: 0.40 | inst: 2000 | w: 1.00]
    HouseAge < -0.12 🔹 [id: 1 | heter: 0.30 | inst: 888 | w: 0.44]
        MedInc < 0.56 🔹 [id: 2 | heter: 0.27 | inst: 579 | w: 0.29]
        MedInc ≥ 0.56 🔹 [id: 3 | heter: 0.28 | inst: 309 | w: 0.15]
    HouseAge ≥ -0.12 🔹 [id: 4 | heter: 0.38 | inst: 1112 | w: 0.56]
        Latitude < -0.39 🔹 [id: 5 | heter: 0.35 | inst: 622 | w: 0.31]
        Latitude ≥ -0.39 🔹 [id: 6 | heter: 0.32 | inst: 490 | w: 0.24]
--------------------------------------------------
Feature 5 - Statistics per tree level:
🌳 Tree Summary:
─────────────────
Level 0🔹heter: 0.40
    Level 1🔹heter: 0.35 | 🔻0.05 (13.30%)
        Level 2🔹heter: 0.31 | 🔻0.04 (10.58%)


AveOccup where (HouseAge < -0.12) and (MedInc < 0.56)
heterogeneity 0.2702 · −32% vs global · n=579
AveOccup where (HouseAge < -0.12) and (MedInc ≥ 0.56)
heterogeneity 0.2844 · −29% vs global · n=309
AveOccup where (HouseAge ≥ -0.12) and (Latitude < -0.39)
heterogeneity 0.3520 · −12% vs global · n=622
AveOccup where (HouseAge ≥ -0.12) and (Latitude ≥ -0.39)
heterogeneity 0.3194 · −20% vs global · n=490

3 · Global baseline — without regions

What you would believe about the split features without the regional analysis: their global mean effects, with the heterogeneity the accepted splits just explained still hiding inside the band. Compare with their subregions in the regional analysis above.

Latitude

global importance 0.9540global heterogeneity 0.9909
Latitude global effect (baseline)

AveOccup

global importance 0.3517global heterogeneity 0.3997
AveOccup global effect (baseline)