SPB Git

# Chapitre 14 — Nettoyage, géocodage et qualité des données : bilan de rédaction (2026-10-31)

# Compteurs

  • Prose : ≈ 12 650 mots (regex de tools/check_manuscript.py sur manuscript/chapters/ch14.tex) ; 34 pages compilées (chapitre + solutions + bibliographie du chapitre).
  • 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).
  • 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).
  • É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).
  • 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).
  • 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.
  • 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).

# Contrôles

  • tools/compile_chapter.sh 14 → OK ch14 : 34 pages, 0 references/citations non definies, 0 overfull hbox.
  • python3 -m pytest -q analysis/python/tests/test_ch14.py → 15 passed.
  • 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).
  • Convention \cref sans article : vérifiée par grep (toutes les occurrences portent article/préposition ou sont entre parenthèses).
  • 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).

# Données et scripts

  • 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é).
  • 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.
  • analysis/python/figures/ch14_figures.py : 5 figures, traite.style.
  • 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.

# Points non vérifiés ou partiellement vérifiés (voir ch14-claims.csv)

  1. Proportions d'anomalies du jeu brut (≈ 18 %) : pédagogiques ; aucune statistique publique trouvée (non_verifie, déclaré).
  2. É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é).
  3. Zandbergen 2008 et Ratcliffe 2001 : résumés qualitatifs sans chiffre (partiellement_verifie).
  4. Code postal canadien (RTA / UDL, précision variable) : connaissance générale, PCCF et fichiers de Postes Canada non consultés (partiellement_verifie).
  5. Seuils 2,5 / 3 / 3,5 et recommandation de Leys et al. 2013 : DOI vérifié, contenu connu de la littérature (partiellement_verifie).
  6. Exigence NPP OEAQ « comprendre et vérifier le raisonnement » : formulation générale, numéro de norme à préciser (partiellement_verifie).
  7. 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.

# Suggestions pour l'harmonisation

  • 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.
  • 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.
  • 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.
  • 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.
Files · 3c869615bf2283d3927a1ebb038f3436dbc36f91
Menu

Theme