RHALE report
target MedHouseVal · 8 features · 4 plotted
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%.
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 | importance | heterogeneity | #regions | regional analysis |
|---|---|---|---|---|---|
| 1 | Longitude | 0.8152 | 0.8469 | 7 | split found — rejected by the decision sequence → |
| 2 | Latitude | 0.4891 | 0.6843 | 7 | split into 4 regions → |
| 3 | MedInc | 0.4450 | 0.2824 | 5 | split found — rejected by the decision sequence → |
| 4 | AveOccup | 0.3365 | 0.3099 | 7 | split into 4 regions → |
| 5 | AveRooms | 0.1073 | 0.2153 | · | not plotted (below the coverage cut) |
| 6 | AveBedrms | 0.0489 | 0.1556 | · | not plotted (below the coverage cut) |
| 7 | HouseAge | 0.0450 | 0.2475 | · | not plotted (below the coverage cut) |
| 8 | Population | 0.0346 | 0.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.
| step | regions | heterogeneity | explained variance |
|---|---|---|---|
| global effects (GAM) | · | · | 78.1% |
| + split AveOccup (on HouseAge, Latitude, MedInc) | 4 | 0.400 → 0.310 | +1.6% → 79.8% |
| + split Latitude (on AveOccup, HouseAge, Longitude) | 4 | 0.991 → 0.684 | +2.1% → 81.9% |
| rejected · Longitude (on AveOccup, Latitude) | 4 | 0.847 → 0.670 | +0.7% — below the 1.0% threshold |
| rejected · MedInc (on AveOccup, HouseAge) | 3 | 0.282 → 0.244 | +0.7% — below the 1.0% threshold |
Bar view — importance 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
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
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%)
2.3 · 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
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%)
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.