spb/traite-evaluation-qc
Public
1# Chapitre 14 — Nettoyage, géocodage et qualité des données : bilan de rédaction (2026-10-31)23## Compteurs4- Prose : ≈ 12 650 mots (regex de `tools/check_manuscript.py` sur `manuscript/chapters/ch14.tex`) ; 34 pages compilées (chapitre + solutions + bibliographie du chapitre).5- Figures : 6 (5 PDF Matplotlib + 1 schéma TikZ) — `ch14-fig-avant-apres.pdf`, `ch14-fig-scores-robustes.pdf`, `ch14-fig-levier-cook.pdf`, `ch14-fig-geocodage.pdf`, `ch14-fig-sensibilite-seuils.pdf` (toutes synthétiques), schéma de la chaîne de traitement (TikZ).6- Tableaux : 9 (anomalies injectées ; règles R1–R7 et effet sur n ; masquage classique/robuste par secteur ; ventes exclues S1/E1 avec vérité ; simulation de géocodage ; appariement par palier ; imputations comparées ; modèles avant/après ; sensibilité aux seuils).7- Équations numérotées : 10 (contamination, MAD, score robuste, matrice chapeau/levier, résidus studentisés interne et externe, distance de Cook, poids de Fellegi–Sunter, MAR, imputation par régression) ; 1 définition, 2 propositions démontrées (constante 1,4826 ; identité de Cook par Sherman–Morrison).8- Exercices : 7 (niveaux 1, 1, 2, 2, 2, 3, 3) ; solutions détaillées dans `solutions/ch14.tex`, chiffres testés (`test_solutions_exercices`, `test_variante_mnar`).9- Encadrés : objectifs, synthetique, exemple intégral, 3 × quebec (sources et champs de contrôle ; sources de géocodage ; appariement et renseignements personnels), pratique, erreurs, limites, synthese.10- Citations : 19 clés, toutes dans `references/library.bib` ; 9 nouvelles entrées vérifiées (DOI Crossref / fiches CKAN) dans `references/lib-ch14.bib`, non citées (nommées en toutes lettres dans le texte).1112## Contrôles13- `tools/compile_chapter.sh 14` → `OK ch14 : 34 pages, 0 references/citations non definies, 0 overfull hbox`.14- `python3 -m pytest -q analysis/python/tests/test_ch14.py` → 15 passed.15- PDF relu par planches de contact (36 → 34 pages) et pages 15 et 24 à 70 dpi : aucun tableau ni figure ne déborde après resserrement des tableaux 14.4, 14.5, 14.6, 14.8 et 14.9 (astuce `\let\small\footnotesize` dans le flottant, car `traite-qc.sty` force `\small` au début de tout `tabular`).16- Convention `\cref` sans article : vérifiée par grep (toutes les occurrences portent article/préposition ou sont entre parenthèses).17- `python3 tools/check_manuscript.py --no-log` : exécuté ; les figures du chapitre sont inscrites dans `verification/chapters/ch14-figures.csv` (fichiers par chapitre, CSV globaux non touchés).1819## Données et scripts20- `data/synthetic/cas1_gatineau_ventes_brut.csv` (618 inscriptions, 23 colonnes), `cas1_gatineau_anomalies_injectees.csv` (127), `cas1_gatineau_role_extrait.csv` (600), `cas1_gatineau_journal_exclusions.csv` (144) ; documentation `data/synthetic/README-brut.md` (le `README.md` voisin est régénéré par `synth.py`, non modifié).21- `analysis/python/cases/ch14_nettoyage.py` : génération du brut (graine 20261031), règles R1–R7, G1, I1, S1 (MAD), E1 (levier, résidus studentisés, Cook, DFFITS implantés dans le script à partir de `traite.hedonique.mco`), comparaison des modèles via `traite.cas1.hedonique`, simulation de géocodage (`traite.hedonique.coordonnees_km`, `matrice_poids_knn`), appariement, imputations, sensibilité, variante MNAR. Aucune modification de `traite/*.py`.22- `analysis/python/figures/ch14_figures.py` : 5 figures, `traite.style`.23- Résultat central : la chaîne retrouve le modèle de référence (σ 0,0837 vs 0,0830 ; R² 0,850 vs 0,853 ; écart ≤ 0,44 erreur-type sur les 16 coefficients ; prédiction du sujet 637 017 $ vs 637 953 $). Les 6 ventes liées non déclarées sont toutes détectées (4 par S1, 2 par E1) ; 2 faux positifs au seuil de référence.2425## Points non vérifiés ou partiellement vérifiés (voir ch14-claims.csv)261. Proportions d'anomalies du jeu brut (≈ 18 %) : pédagogiques ; aucune statistique publique trouvée (non_verifie, déclaré).272. Écarts-types d'erreur de position par technique de géocodage (5 / 15 / 40 / 150 / 1 000 m) : hypothèses respectant l'ordre de Zandbergen 2008, pas des mesures (non_verifie, déclaré).283. Zandbergen 2008 et Ratcliffe 2001 : résumés qualitatifs sans chiffre (partiellement_verifie).294. Code postal canadien (RTA / UDL, précision variable) : connaissance générale, PCCF et fichiers de Postes Canada non consultés (partiellement_verifie).305. Seuils 2,5 / 3 / 3,5 et recommandation de Leys et al. 2013 : DOI vérifié, contenu connu de la littérature (partiellement_verifie).316. Exigence NPP OEAQ « comprendre et vérifier le raisonnement » : formulation générale, numéro de norme à préciser (partiellement_verifie).327. Identifiants SRC-A/B/C de quelques claims repris des chapitres 9/13/16 : à faire correspondre aux lignes exactes des registres lors de l'harmonisation.3334## Suggestions pour l'harmonisation35- Fusionner `lib-ch14.bib` dans `library.bib` puis remplacer les mentions en toutes lettres (Hampel 1974, Cook 1977, Rousseeuw–Croux 1993, Leys et al. 2013, Fellegi–Sunter 1969, Rubin 1976, Adresses Québec, RQA) par `\textcite`/`\parencite`.36- Le ch. 13 (sources) et le ch. 38 (SIG) peuvent renvoyer à l'encadré « sources québécoises de géocodage » et au tableau 14.5 plutôt que de les reprendre ; le ch. 18 peut réutiliser `diagnostics()` (levier, Cook) de `ch14_nettoyage.py` — candidate à `traite.hedonique` si un autre chapitre en a besoin.37- Le ch. 9 (études de ratios) peut citer le tableau 14.2 pour la règle des 5 000 $ et le ch. 15 la segmentation par secteur utilisée dans les scores robustes.38- Si `generate_all.py` est réexécuté avec une autre graine, relancer `ch14_nettoyage.py` (le brut dérive du jeu propre) et `test_ch14.py`.39