PDP report

target bike-rentals · 11 features · 4 plotted

data 2,000 × 115 nominal · 3 ordinal · 3 continuousmodel output 174 ± 177 in [-48.9, 928]0.947 on this subsample
method pdptop_k 5coverage 0.8000heter_threshold 0.1580min_r2_gain 0.0100finder bestnof_instances 2000random_state 21

1 · Overview — where to look

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

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
1hr0.73140.28827split into 4 regions →
2temp0.22810.26685split found — rejected by the decision sequence →
3yr0.18780.20287split found — rejected by the decision sequence →
4hum0.10200.15257split into 4 regions →
5season0.09060.1341·not plotted (below the coverage cut)
6weathersit0.05570.1093·not plotted (below the coverage cut)
7workingday0.04550.3711·not plotted (below the coverage cut)
8weekday0.04480.1351·not plotted (below the coverage cut)
9mnth0.03680.1337·not plotted (below the coverage cut)
10windspeed0.01900.1580·not plotted (below the coverage cut)
11holiday0.01890.0990·not plotted (below the coverage cut)

The plotted features carry 80% 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)··71.7%
+ split hr (on temp, workingday, yr)40.478 → 0.288+15.5% → 87.2%
+ split hum (on hr, temp, weathersit)40.174 → 0.153+1.4% → 88.6%
rejected · temp (on hr, hum)30.267 → 0.241+0.9% — below the 1.0% threshold
rejected · yr (on hr, hum)40.203 → 0.178-0.1% — redundant (variance already explained)
rejected · workingday (on hr, yr)40.371 → 0.307-4.3% — redundant (variance already explained)
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 · hr

importance 0.7314heterogeneity 0.2882regions 4

Split on temp, workingday, yr into 4 regions — worth +15.5% 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 3 - Full partition tree:
🌳 Full Tree Structure:
───────────────────────
hr 🔹 [id: 0 | heter: 0.48 | inst: 2000 | w: 1.00]
    workingday = no 🔹 [id: 1 | heter: 0.37 | inst: 614 | w: 0.31]
        temp < 4.50 🔹 [id: 2 | heter: 0.24 | inst: 248 | w: 0.12]
        temp ≥ 4.50 🔹 [id: 3 | heter: 0.32 | inst: 366 | w: 0.18]
    workingday = yes 🔹 [id: 4 | heter: 0.34 | inst: 1386 | w: 0.69]
        yr = 2011 🔹 [id: 5 | heter: 0.25 | inst: 696 | w: 0.35]
        yr = 2012 🔹 [id: 6 | heter: 0.32 | inst: 690 | w: 0.34]
--------------------------------------------------
Feature 3 - Statistics per tree level:
🌳 Tree Summary:
─────────────────
Level 0🔹heter: 0.48
    Level 1🔹heter: 0.35 | 🔻0.13 (26.67%)
        Level 2🔹heter: 0.29 | 🔻0.06 (17.80%)


hr where (workingday = no) and (temp < 4.50)
heterogeneity 0.2422 · −49% vs global · n=248
hr where (workingday = no) and (temp ≥ 4.50)
heterogeneity 0.3248 · −32% vs global · n=366
hr where (workingday = yes) and (yr = 2011)
heterogeneity 0.2490 · −48% vs global · n=696
hr where (workingday = yes) and (yr = 2012)
heterogeneity 0.3247 · −32% vs global · n=690

2.2 · temp

importance 0.2281heterogeneity 0.2668regions 1

Global effect

temp global effect

Regional effects

A split on hr, hum into 3 regions was found (heterogeneity 0.267 → 0.241), but the decision sequence skips it: it adds only +0.9%, below the 1.0% threshold. The regional plots are omitted; reproduce them with find_regions.

2.3 · yr

importance 0.1878heterogeneity 0.2028regions 1

Global effect

yr global effect

Regional effects

A split on hr, hum into 4 regions was found (heterogeneity 0.203 → 0.178), but the decision sequence skips it: it adds no explained variance beyond the splits kept there — the same variance is already read elsewhere. The regional plots are omitted; reproduce them with find_regions.

2.4 · hum

importance 0.1020heterogeneity 0.1525regions 4

Split on hr, temp, weathersit into 4 regions — worth +1.4% 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 9 - Full partition tree:
🌳 Full Tree Structure:
───────────────────────
hum 🔹 [id: 0 | heter: 0.17 | inst: 2000 | w: 1.00]
    temp < 13.71 🔹 [id: 1 | heter: 0.15 | inst: 1338 | w: 0.67]
        weathersit = light rain/snow 🔹 [id: 2 | heter: 0.33 | inst: 146 | w: 0.07]
        weathersit ∈ {clear, mist, heavy rain} 🔹 [id: 3 | heter: 0.12 | inst: 1192 | w: 0.60]
    temp ≥ 13.71 🔹 [id: 4 | heter: 0.18 | inst: 662 | w: 0.33]
        hr = 17.00 🔹 [id: 5 | heter: 0.19 | inst: 33 | w: 0.02]
        hr ∈ {0.00, 1.00, 2.00, …} (23 levels) 🔹 [id: 6 | heter: 0.17 | inst: 629 | w: 0.31]
--------------------------------------------------
Feature 9 - Statistics per tree level:
🌳 Tree Summary:
─────────────────
Level 0🔹heter: 0.17
    Level 1🔹heter: 0.16 | 🔻0.01 (7.69%)
        Level 2🔹heter: 0.15 | 🔻0.01 (5.23%)


hum where (temp < 13.71) and (weathersit = light rain/snow)
heterogeneity 0.3258 · −-87% vs global · n=146
hum where (temp < 13.71) and (weathersit ∈ {clear, mist, heavy rain})
heterogeneity 0.1190 · −32% vs global · n=1,192
hum where (temp ≥ 13.71) and (hr = 17.00)
heterogeneity 0.1851 · −-6% vs global · n=33
hum where (temp ≥ 13.71) and (hr ∈ {0.00, 1.00, 2.00, …} (23 levels))
heterogeneity 0.1741 · −0% vs global · n=629

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.

hr

global importance 0.6519global heterogeneity 0.4781
hr global effect (baseline)

hum

global importance 0.1155global heterogeneity 0.1743
hum global effect (baseline)