SPB Git forge

spb/wp16_uqo

Public
11commits 1branches 1releases
3.3 MBsize
maindefault branch
25 min agolast push
TeX 52.9% Python 45.7% Shell 1.4%
2.6 KB

# Validation empirique de la méthode des comparables (Vrai Prix)

Projet de recherche : rétro-évaluation à grande échelle de la méthode de comparaison des ventes sur les transactions résidentielles unifamiliales du Québec (Vrai Prix, 2021-01 → 2026-09). Protocole : docs/PROTOCOLE.md. Rapport de résultats : docs/RAPPORT.md / docs/RAPPORT.pdf.

# Organisation

text
pipeline/   01_dataset → 02_index → 03_models → 04_backtest → 05_analyze → 06_report
docs/       PROTOCOLE.md, RAPPORT.md(.pdf), header.tex
out/<version>/  sales.parquet, index_asof.npy, models_*.json, est_E*.npy, targets.parquet, tables/, fig/, results.json
data/       (nœud seulement) vraiprix-20261010.db — instantané de la base de production Vrai Prix
ref/        MUN.csv (répertoire des municipalités MAMH : code → MRC → région)

# Exécution

Le calcul se fait sur M2U64 (~/comparables-validation, venv ~/uqo-eval-terrains/env, Python 3.14 : pandas, numpy, scipy, lightgbm, matplotlib). Le laptop garde le code, les docs et une copie des sorties.

bash
rsync -a --exclude out --exclude data --exclude .git ~/Desktop/Recherche-UQO/immobilier/sales-comparison-validation/ M2U64:comparables-validation/
ssh M2U64 'cd ~/comparables-validation && CV_VERSION=2026-10-10 ./run_all.sh'      # ~ 30 min
./make_pdf.sh                                                                        # rapatrie out/ + docs/ et compile le PDF

Variables : CV_VERSION (dossier de sortie), CV_SAMPLE=3000 (échantillon de cibles pour un essai), CV_PROCS (processus, 20 par défaut).

# Données

Instantané vraiprix.db pris sur M3U96a (~/apps/vrai-prix/data) le 2026-10-10 : 766 596 transactions, 3,75 M d'unités du rôle. Jeu propre : ventes unifamilial jumelées au rôle, règles R0-R11 journalisées dans out/<v>/exclusions.csv.

# Working paper (UQO WP 16)

paper/ : article en anglais au gabarit UQO (main.tex, sections/*.tex, appendix/, references.bib). Les chiffres du texte sont des macros (tables/numbers.tex) et les tableaux sont générés depuis out/<version>/ :

bash
./make_pdf.sh                          # rapatrie out/ et compile docs/RAPPORT.pdf (français)
cd paper && python3 make_paper_tables.py && latexmk -pdf main.tex   # tables + macros + PDF du WP

# Calcul réparti

run_distributed.sh : distribue les modèles trimestriels aux nœuds, lance la rétro-évaluation en 15 fragments (M3U96a ×4, M3U96b ×4, M2U64 ×3, M4M64a ×2, M4M64b ×2), rassemble sur M2U64 (04b_gather.py) puis exécute 05 et 06. Ré-estimation trimestrielle répartie : CV_ASOF=54,57 CV_THREADS=28 ../env/bin/python 03_models.py sur chaque nœud.