SPB Git forge

spb/wp23_uqo

Public
6commits 1branches 0releases
32.7 MBsize
maindefault branch
41 min agolast push
TeX 62.3% Python 37.6%
1.6 KB · 19 lines markdown
Rendered Raw Blame History
1<!-- Author: Simon-Pierre Boucher — simon-pierre.boucher@uqo.ca -->2# Leakage audit — WP2334| Item (protocol §7.3) | Check | Where |5|---|---|---|6| Hedonic coefficient estimation | Task A models are fitted on sales ≤ origin; Task B predictors come from WP22 vintages whose stage-1 hedonic was re-estimated at each publication date | `data.task_a_sets`, WP22 `40_vintages.py` |7| Geographic clustering | WP22 location partition rebuilt per vintage; Task A uses raw coordinates and kNN over past sales only | `data.knn_features_at` filters `month ≤ origin` |8| Normalisation | standardisation constants from training rows (`fit`) | `models_*` |9| Feature selection | fixed lists `FEATURES_HEDONIC/MARKET/B` | `data.py`, `data_b.py` |10| Imputation | WP22 conditional medians (no price); indicators time-stable | WP22 `hedonic.build_features` |11| Target encoding | none; one-hot with training categories (`cats` passed to test design) | `data.design` |12| Spatial graph | DSGFN adjacency from centroids and the real-time history at the origin | `models_b_torch.DSGFN._adjacency` |13| Hyper-parameter tuning | none on test origins | `tab_hyper` |14| Index revisions | predictors = vintage for the origin; target = final; `target_vs_rt` stored to decompose | `data_b.build_panel` |15| Regime inference (RAREF) | HMM fitted on provincial growth rates taken from past origins' own vintages (≤ origin) | `models_b.RAREF._growth_series` |16| Partial last month | October 2026 excluded (`LAST_MONTH = 2026-09`) | `config.py` |17| Random splits | never used | `10_task_a.py`, `20_task_b.py` |18| Test: features ≤ origin | `tests/test_wp23.py::test_task_a_features_use_only_past` | — |19