# STATISTICAL DEBT — inventaire honnête des paramètres manuels (§100.8-9) Chaque paramètre « choisi à la main » est une dette : il doit devenir estimé (inférence hiérarchique, validation croisée) ou documenté comme prior conservateur assumé. État au 2026-08-30 (v3.0.x). ## Paramètres manuels du cœur (config.py) | Paramètre | Valeur | Origine | Dette | Plan | |---|---|---|---|---| | `time_decay_halflife_days` | 12 j | convention (538-like) | moyenne | replay multi-élections → profil de vraisemblance | | `max_effective_n` | 2500 | anti-domination, heuristique | faible | test de sensibilité | | `design_effects` (web 1,30…) | littérature | littérature générale, pas QC | moyenne | `pollster_error.mode_effects` sur 6 élections | | `excess_poll_sd_pp` | 1,5 pp | littérature TSE | moyenne | résidus multi-élections | | `rw_daily_sd` bornes | [0,004; 0,030] | garde-fous | faible | q déjà estimé par MV dans les bornes | | `campaign_drift_inflation` | 1,6 | « cycles passés », non formalisé | **élevée** | replay : estimer l'inflation campagne vs hors-campagne | | `house_effect_shrinkage` | 0,5 | heuristique | moyenne | hiérarchique (global + déviation élection, τ estimé) | | `house_effect_max_pp` | ±3 pp | garde-fou | faible | conserver comme borne | | `industry_error_sd` | 0,12 (alr) | calibré sur 2018+2022 SEULEMENT | **élevée** (§60 : no single-election calibration) | `pollster_error.industry_sigma` empirique sur 6 élections (implémenté) | | `regional_error_sd` | 0,14 | résidus backtest 2022, atténués à la main | **élevée** | résidus multi-élections (2018→2022 + 2014→2018…) quand les résultats par circ. seront ingérés | | `riding_error_sd` | 0,20 | idem | **élevée** | idem | | `incumbent_retirement_penalty` | 0,06 alr | littérature | moyenne | §29 : apprendre P(perte du vote personnel) par contexte | | `byelection_swing_shrink` | 0,6 | littérature partielles | moyenne | §30 : modèle de partielle avec effet participation/candidat | | `byelection_equivalent_n` / excess | 350 / ±3 pp | jugement | moyenne | idem | | `media_nudge_pp_max` | ±0,35 pp | borne prudente, NON backtestée | assumée (borne stricte, décomposée) | validation post-2026 (§96) | | `market_blend_weight` | 12 % | prudence, NON appris | **élevée** (§36 : no fixed 88/12) | stacking appris quand historique de marchés QC existera (aucun marché 2022) | | `fundamentals_horizon_days`/`max_weight`/exp 1,3 | 540/0,8/1,3 | forme 538-like | **élevée** (§33) | replay : apprendre la décroissance | | `fundamentals_term_penalty_pp` | 1,5 pp/mandat | littérature | moyenne | LOEO (8 obs. — restera un prior) | | `RIDGE_LAMBDA` (fondamentaux) | 4,0 | jugement | moyenne | LOEO sur grille | | volatilité A/B/C (0,10/0,06/0,05) et cap 1,5 | jugement borné | **assumée** (variance seulement, bornée, décomposée) | validation post-2026 | | catégories Solide/Probable/Favorisé (95/80/60) | convention | faible | présentation seulement | ## Couches non backtestées (état) - **Partielles, nudge médias, volatilité sociale/wiki** : non rejouables avant 2022 (données absentes) — bornées par construction, Δ=0 documenté dans l'ablation, évaluation après le 5 octobre 2026 (§96). - **Ensemble marchés** : aucun marché 2022 → poids prudent 12 % assumé. - **Sondage synthétique LLM** : poids nul, objet d'étude (§97). ## Fuites potentielles identifiées (et leur état) 1. ~~`compute_pollster_profiles` en backtest~~ — le backtest 2022 passe `{}` (aucune correction maison) : pas de fuite, mais sous-utilise l'info → remplacé par LOEO dans le replay (profils appris sur les AUTRES élections). 2. **Fondamentaux en replay** : `_ridge_fit()` s'ajuste sur les 8 élections, INCLUANT celle testée → fuite dans le backtest 2022 actuel (faible mais réelle). Corrigé : `compute_prior(exclude_year=…)` (LOEO strict). 3. `industry_error_sd=0,12` calibré sur 2018/2022 puis testé sur 2022 → circulaire. Corrigé par l'estimation multi-élections LOEO. ## Constats du replay v3.1 (recherche ouverte) - **EAM ponctuelle** : modèle 3,71 pp vs baseline « moyenne 14 j » 3,49 (le modèle bat « dernier sondage » 3,84). L'écart vient surtout de 2007 (surge ADQ 6,6 vs 5,4) — cohérent avec le chantier queues lourdes. La valeur du modèle est la DISTRIBUTION : les baselines n'ont ni intervalle, ni couverture, ni P(sièges). Pistes : corrections maison LOEO possiblement contre-productives en point aux horizons lointains (petits échantillons); q trop lisse en campagne; Student-t. À trancher par le même replay avant tout changement (§84).