Skip to content

feat(k-index): publish a level chosen per band, not one shared quantile - #80

Merged
junwen94 merged 1 commit into
mainfrom
feat/kindex-extratrees-nsites
Sep 13, 2026
Merged

junwen94 merged 1 commit into
mainfrom
feat/kindex-extratrees-nsites

Conversation

@junwen94

Copy link
Copy Markdown
Collaborator

A single shared quantile means the easy majority and the hard tail share one number: q0.6 under-predicted 76.7% of the time for structures that genuinely need rung 12 or above, while the bulk of the dataset (rung < 7) already sat at 12.1% with room to spare. Raising the one shared level to fix the tail would tax the majority with mesh it does not need.

quantile_by_band cuts structures into bands by the model's own median and picks a separate published level per band -- the cheapest one keeping that band's own under-prediction at or below 5% on validation, not the dataset average. Bands land on q0.90 below rung 7 and q0.975 at or above it. The estimator is unchanged -- same pickle, same SHA-256 -- only the decision rule changed.

Measured on the held-out test split: under-prediction falls from 22.9% to 4.2% overall and from 76.7% to 14.7% for rung 12 or above, at the cost of MAE rising from 1.135 to 2.974 and R2 going negative (-0.305) -- a real trade, not a free win.

Two things get worse in isolation, both bounded downstream rather than fixed here: small, simple cells are pushed to denser meshes than before (primitive silicon now predicts rung 38, up from rung 17), which Core's planned metallicity-gated k-distance ceiling is designed to cap; and for a very small number of simple, high-symmetry cells the published rung can exceed the number of meshes that exist on that structure's own ladder (conventional silicon predicts rung 40 against a 38-rung ladder), which Core is designing a bounds check for. Neither is something this decision rule can fix on its own.

Updates the deposit (PSDI 4050a-aas85, in place), the protocol (edited in place, per the same-forest precedent), the model card, and the notebook, re-executed against the new decision.

A single shared quantile means the easy majority and the hard tail
share one number: q0.6 under-predicted 76.7% of the time for
structures that genuinely need rung 12 or above, while the bulk of
the dataset (rung < 7) already sat at 12.1% with room to spare.
Raising the one shared level to fix the tail would tax the majority
with mesh it does not need.

quantile_by_band cuts structures into bands by the model's own median
and picks a separate published level per band -- the cheapest one
keeping that band's own under-prediction at or below 5% on
validation, not the dataset average. Bands land on q0.90 below rung 7
and q0.975 at or above it. The estimator is unchanged -- same pickle,
same SHA-256 -- only the decision rule changed.

Measured on the held-out test split: under-prediction falls from
22.9% to 4.2% overall and from 76.7% to 14.7% for rung 12 or above,
at the cost of MAE rising from 1.135 to 2.974 and R2 going negative
(-0.305) -- a real trade, not a free win.

Two things get worse in isolation, both bounded downstream rather
than fixed here: small, simple cells are pushed to denser meshes than
before (primitive silicon now predicts rung 38, up from rung 17),
which Core's planned metallicity-gated k-distance ceiling is designed
to cap; and for a very small number of simple, high-symmetry cells
the published rung can exceed the number of meshes that exist on that
structure's own ladder (conventional silicon predicts rung 40 against
a 38-rung ladder), which Core is designing a bounds check for.
Neither is something this decision rule can fix on its own.

Updates the deposit (PSDI 4050a-aas85, in place), the protocol
(edited in place, per the same-forest precedent), the model card, and
the notebook, re-executed against the new decision.
@junwen94
junwen94 merged commit 8b99127 into main Sep 13, 2026
4 checks passed
@junwen94
junwen94 deleted the feat/kindex-extratrees-nsites branch September 13, 2026 09:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant