Train Centered Aging Portable Contextual RAPM
This candidate applies an explicit pre-season location constraint to the age-informed bounded hierarchical portable-matchup contextual model:
uv run nba-train-forward-centered-aging-bounded-hierarchical-portable-matchup-contextual-rapm \
--through-season 2025-26
Centering Rule
For every target season (t), the model first builds the usual full prior vector for returning and cold-start players. It then subtracts the prior-season possession-weighted prior mean:
Here (p_{j,t-1}) is the completed prior-season on-court possession exposure. Players without such exposure shift with the vector but receive zero weight in the reference calculation. The initial historical season uses a uniform reference because no completed NBA season precedes it.
The shift is common to every player, so it cancels from a five-versus-five RAPM row. It establishes a meaningful reference for the recursive state without using target-season outcomes.
Outputs
The model writes the standard portable contextual artifact below:
artifacts/models/forward_centered_aging_bounded_hierarchical_portable_matchup_contextual_rapm/2025-26/
season_player_prior_metadata.parquet records the centering method, offset,
and total reference exposure for each target season. Compare frozen metrics to
the uncentered aging candidate before promoting the centered state.