SPB Git

Repository Public Research preview

Commit

Stage D batches N2/N3/N4/N5/L2 — WP02-ECON-02 THEO-01 EDIT-15 THEO-06 ADVE-05 ECON-07 ECON-10 THEO-07 ECON-11 EDIT-12 ECON-05 ADVE-03 EDIT-01 EDIT-02 ADVE-01 EDIT-04 ECON-03 THEO-14 ADVE-02 THEO-04 ADVE-06 ADVE-12 ADVE-09 ADVE-13 DATA-02 ADVE-08 DATA-08 DATA-07 DATA-09 DATA-11 DATA-01 DATA-03 EDIT-08 THEO-11 ADVE-18

N2: scripts/12_specifications_v2.py (11 designs x 5 encoder variants x {raw, centred contrasts, Löwdin}
x {S_main, S_v11, S_nodup} x {rule, langdetect} = 530 cells; unscaled dummies; per-0.10-cosine scale;
HC3 / FSA-clustered t and F(q, G-1); Holm, BH, Romano–Wolf (FSA-cluster bootstrap B=999) on the 55
main-grid cells with a pre-stated 90 % survival criterion; LMG decomposition; domain tests with Holm;
Models A–E on the v2 design; leverage of the raw lot field; --legacy reproduces the 14 v1.2 rows at 1e-14),
scripts/15_spatial_inference.py (Moran's I k=10 with permutation p; Conley 5/10/20 km; decision rule).
N3: scripts/13_multiverse.py (200 phrasing draws x 2 encoders x 3 specs x {raw, centred} x {S_main, S_v11};
the three v1.2 variants reproduced). N4: scripts/14_oos_v2.py (random x20, FSA x20, leave-one-region-out,
GroupKFold by region, k-means distance blocks + 10 km buffer, duplicate-grouped, S_nodup; training-fold FE
with municipality/region/grand-mean fallback; Clark–West, Diebold–Mariano, bootstrap CIs, MCS; price-masked
encoders; --legacy reproduces revision_oos.csv at 1e-16). N5: scripts/16_pca_benchmark.py (Table 9 from a
script; PC1 correlations), scripts/17_inline_numbers.py (results/inline_numbers.json, 2,607 keys),
run_all.sh, tests/ (data, legacy results at rtol 1e-6, embeddings at 1e-5, leakage), environment/
(lock with transitive pins, pip freeze, hardware, HF revisions, SHA-256), data/DATA_AVAILABILITY.md
(users-table exclusion, scrape window 7–11 Jan 2026, shareable extract), LICENSE (MIT), data citation and
model-card entries in references.bib, README runtimes. L2: scripts/18_tables_v2.py (16 tables with labels,
Table 9 regenerated from CSV without self-ratings) and scripts/19_figures_v2.py (fig13–fig16).
results/v2/*.csv|json committed; no data, embeddings or texts.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Simon-Pierre Boucher committed · Nov 4, 2026 parent 39b7e92
57 changed files +19,938 −18 Browse files
57 changed files
modified .gitignore +5 −3
@@ -34,13 +34,15 @@ logs/
34 34 # macOS
35 35 .DS_Store
36 36
37 −# Project-specific: raw SQLite + processed caches (see data/README.md)
38 −data/*
39 −!data/README.md
37 +# Project-specific: raw SQLite + processed caches (see data/README.md); the directories themselves are
38 +# not ignored so that the id+label sample files and data/ref can be committed
39 +data/raw/*
40 +data/processed/*
40 41
41 42 # Stage D (2026-11-03): committed derived reference map and id+label sample files (no text)
42 43 !data/ref/
43 44 !data/ref/**
45 +!data/processed/.gitkeep
44 46 !data/processed/language_sample_300.csv
45 47 !data/processed/dimension_sample_300.csv
46 48 !data/DATA_AVAILABILITY.md
added LICENSE +25 −0
@@ -0,0 +1,25 @@
1 +MIT License
2 +
3 +Copyright (c) 2026 Simon-Pierre Boucher
4 +
5 +Permission is hereby granted, free of charge, to any person obtaining a copy
6 +of this software and associated documentation files (the "Software"), to deal
7 +in the Software without restriction, including without limitation the rights
8 +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 +copies of the Software, and to permit persons to whom the Software is
10 +furnished to do so, subject to the following conditions:
11 +
12 +The above copyright notice and this permission notice shall be included in all
13 +copies or substantial portions of the Software.
14 +
15 +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 +SOFTWARE.
22 +
23 +The code licence does not cover the data: the Realtor.ca listing database and the
24 +listing texts are proprietary platform content and are not distributed (see
25 +data/DATA_AVAILABILITY.md).
modified README.md +11 −2
@@ -152,11 +152,20 @@ python3 scripts/06_tables.py # LaTeX tables from results
152 152 python3 scripts/07_revision_extensions.py # ~25 s (+ model downloads on first run)
153 153 python3 scripts/08_revision_tables.py # revision tables + fig12
154 154
155 +./run_all.sh # Stage D (2026-11-03): scripts 09–20, results/v2, v2 tables/figures, tests
156 +
155 157 cd paper && make # latexmk → main.pdf (61 pages)
156 158 ```
157 159
158 −Total runtime ≈ 8 minutes on an Apple-silicon laptop (embeddings cached after the first run). All stochastic steps are
159 −seeded (`seed = 42`). Expected checkpoints: step 3 prints `R² = 0.4525 / 0.4647 / 0.4962 / 0.5122 / 0.5118` and
160 +Measured runtimes (Stage D run of 2026-11-03, Apple M5 Max 18 cores / 48 GB, macOS 27.0, Python 3.14.4, device `mps`,
161 +1-min load 100–160 from concurrent jobs, every script under `nice -n 10` with `OMP_NUM_THREADS=4`): steps 01–08 ≈ 8 min
162 +warm (embedding caches present; cold: + 86 s MiniLM and + 30 s multilingual encoding on MPS, + model downloads ≈ 560 MB);
163 +Stage D batches (`./run_all.sh`, scripts 09–20): 09 data audit 49 s (+ 55 s with `--llm-labels`), 10 re-encodings 7 min
164 +cold / 3 min warm, 11 geometry 1 s, 12 specification grid 3 min 48 s (530 cells + Romano–Wolf B = 999 on 55 cells, 6 workers),
165 +13 multiverse 7 min (200 draws × 18 cells), 14 out-of-sample 12 min (257 fold sets, bootstrap and MCS), 15 spatial 10 s,
166 +16–20 < 10 s each; `pytest tests` ≈ 45 s (run `tests/test_embeddings.py` in its own process: torch and scikit-learn each load
167 +an OpenMP runtime and the mixed process segfaults under load). All stochastic steps are seeded (`seed = 42`; CV seeds 42–61;
168 +multiverse seeds 42 + draw). Environment lock, hardware and SHA-256 checksums: `environment/`. Expected checkpoints: step 3 prints `R² = 0.4525 / 0.4647 / 0.4962 / 0.5122 / 0.5118` and
160 169 `F = 99.53`; step 7 prints `dR2(sims)=0.0475` (D), `0.0174` (D-L), `0.0197` (D-L + FSA FE), `0.0392` (ML-D-L + FSA FE).
161 170
162 171 ## 🗃 Data
added data/DATA_AVAILABILITY.md +70 −0
@@ -0,0 +1,70 @@
1 +<!-- Author: Simon-Pierre Boucher — contact@spboucher.ai -->
2 +
3 +# Data availability statement (Stage D draft, 2026-11-03; to be inserted in §4.1 by the author)
4 +
5 +## Source and provenance
6 +
7 +The listings were extracted from the public pages of Realtor.ca (Canadian Real Estate
8 +Association, Data Distribution Facility JSON records; every record carries the DDF keys
9 +`MlsNumber`, `RelativeURLEn`/`RelativeURLFr`, `TimeOnRealtor`). Listings originating from
10 +the Centris broker system of the Quebec real-estate boards appear on Realtor.ca by
11 +syndication; "Centris" therefore designates the upstream broker system, not a second
12 +source. The extraction ran from **2026-01-07 21:14 UTC to 2026-01-11 17:06 UTC**
13 +(field `scrapedAt`, three calendar days of activity), not on a single day. The raw file is
14 +the SQLite database `louka.db` (267,902,976 bytes, SHA-256
15 +`5dfba878151002cc9ed912c051bc2662a07492e6c759e13f054d7cc5333fe493`), table `properties`
16 +(46,479 listings in five categories; 17,089 single-family houses, of which 17,087 enter the
17 +analysis sample). Prices are **asking prices** at the time of extraction; no transaction
18 +price and no listing date other than the extraction window is available.
19 +
20 +## What is not redistributed
21 +
22 +* `louka.db` itself and the listing texts (`PublicRemarks`): proprietary platform content
23 + subject to the Realtor.ca terms of use; the texts cannot be redistributed and are not
24 + needed to reproduce any table from the analysis data below.
25 +* The embeddings of the texts (`embeddings_*.npy`): a 384-dimensional representation of the
26 + proprietary texts, withheld for the same reason.
27 +* **The application `users` table.** The database file also contains an application table
28 + `users` (columns id, username, password — a credentials schema; 0 rows at the time of the
29 + 2026-11-03 audit). This table is never read by any script (the database is opened
30 + read-only and immutable, `src/data.py`), it is excluded from every extract, and the
31 + shareable extract described below does not contain it.
32 +
33 +## What is shareable (text-free analysis data, DCAS "analysis data")
34 +
35 +| File | Content | Rows × cols |
36 +|---|---|---|
37 +| `data/processed/hedonic_maison_results.csv` | v1.2 analysis dataset: id, price, log price, six structural fields (v1.2 coding), description length, 20 cosine similarities (MiniLM-L6) | 17,087 × 30 |
38 +| `data/processed/revision_fields.csv` | language class (stop-word rule), FSA, municipality, lot and floor area (m²) | 17,087 × 6 |
39 +| `data/processed/fields_v2.parquet` | Stage D fields: samples (S_main, S_nodup, S_floor), language labels (rule, cleaned rule, langdetect), administrative region, boilerplate / price-mention / collision flags | 17,087 × 20 |
40 +| `data/processed/houses_v2.parquet` **minus the `remarks` column** | v2 structural fields (float counts, raw strings, missing indicators, lot/floor m², MLS number, scrape time, postal code) | 17,087 × 36 |
41 +| `data/processed/sim_<variant>_{raw,centred,lowdin}.npy`, `sim_<variant>_mean.npy` | 20 similarities per listing for every encoder variant and similarity variant | 17,087 × 20 |
42 +| `data/processed/references_{minilm,ml}.npy` | embeddings of the 20 reference texts (the texts are in Appendix Table reference_texts) | 20 × 384 |
43 +| `data/processed/token_lengths.parquet` | word-piece counts per listing under both tokenisers | 17,087 × 3 |
44 +| `data/processed/language_sample_300.csv`, `dimension_sample_300.csv` (committed) | ids + labels of the two 300-listing validation samples (stop-word rule, langdetect, two independent LLM passes — **LLM-coded, not human-coded**) | 300 × 9 / 300 × 13 |
45 +| `data/ref/municipality_region.csv` (committed) | municipality string → administrative region (MAMH Répertoire des municipalités 2026) | 1,075 rows |
46 +
47 +From these files every estimation script (03–08, 12–17, 20) re-runs without the database;
48 +scripts 01, 02, 09, 10 and 11 need `louka.db` / the texts (01, 09) or the embeddings (02,
49 +10, 11). SHA-256 of every input and cache: `environment/checksums.txt`.
50 +
51 +## Codebook (analysis data)
52 +
53 +`id` Realtor.ca listing id (string) · `mls_number` MLS number (string) · `price` asking price
54 +(CAD) · `log_price` · `bedrooms`, `bathrooms`, `half_baths`, `parking`, `stories` counts
55 +(v1.2: integers with missing coded 0 and `'1.5'` storeys coded 0; v2: floats, NaN when
56 +missing, with `*_missing` indicators) · `land_size` v1.2 raw lot field (mixed units) ·
57 +`lot_sqm`, `floor_sqm` unit-corrected areas (m²), `lot_unit` ∈ {m2, sqft, ac, hec,
58 +dimensions, missing} · `latitude`, `longitude` · `postal_code`, `fsa` (first three
59 +characters), `municipality`, `region` · `remarks_length` characters · `boilerplate` (<100
60 +characters or "See listing broker…") · `price_mention` (dollar amount or price-change phrase in
61 +the text) · `geo_price_dup` id of the (lat, lon, price) collision group (−1 if none) ·
62 +`lang_rule`, `lang_rule_clean`, `lang_langdetect` ∈ {fr, en, mixed/other} · `in_main`,
63 +`in_v11`, `in_nodup`, `in_floor` sample flags · `sim_<slug>` cosine similarities.
64 +
65 +## Citation, licence, deposit
66 +
67 +Data citation (references.bib key `realtor2026ddf`): Canadian Real Estate Association,
68 +*Realtor.ca listings, Data Distribution Facility records*, accessed 7–11 January 2026.
69 +Code: MIT licence (`LICENSE`). A DOI deposit of the text-free analysis files and code
70 +(Zenodo or Borealis) is left to the author after Stage E (DCAS rule 14 pending).
modified data/README.md +12 −1
@@ -29,6 +29,7 @@ python3 scripts/05_figures.py
29 29 python3 scripts/06_tables.py
30 30 python3 scripts/07_revision_extensions.py # 2026-10-17 revision: language, FE, OOS, sensitivity, multilingual encoder
31 31 python3 scripts/08_revision_tables.py
32 +./run_all.sh # Stage D batches (scripts 09–20)
32 33 ```
33 34
34 35 The pipeline recreates everything under `data/processed/`:
@@ -41,7 +42,17 @@ The pipeline recreates everything under `data/processed/`:
41 42 | `hedonic_maison_results.csv` | analysis dataset used by all models/figures |
42 43 | `embeddings_multilingual.npy` | 17,087 × 384 embeddings from paraphrase-multilingual-MiniLM-L12-v2 (cache, step 07) |
43 44 | `revision_fields.csv` | language class, FSA, municipality, lot and floor area (m²) per listing (step 07) |
44 −| `legacy/` | pre-refactor artifacts kept for byte-level comparison |
45 +| `houses_v2.parquet` | Stage D frame (17,087 × 37: float counts, raw strings, missing indicators, MLS, scrape time, FSA, municipality, lot/floor m², flags; step 09) |
46 +| `fields_v2.parquet` | samples (S_main / S_nodup / S_floor), language labels (rule, cleaned rule, langdetect), region, flags (step 09) |
47 +| `embeddings_{minilm_256,minilm_chunk,ml_128,ml_512,ml_chunk}[_masked].npy` | 17,087 × 384 encoder variants of the revision (step 10; SHA-256 in `environment/checksums.txt`) |
48 +| `references_{minilm,ml}.npy`, `token_lengths.parquet` | reference embeddings; word-piece counts per listing (step 10) |
49 +| `sim_<variant>_{raw,centred,lowdin,mean}.npy` | 17,087 × 20 similarity variants (step 11) |
50 +| `language_sample_300.csv`, `dimension_sample_300.csv` (committed) | ids + labels of the LLM-coded validation samples (no text) |
51 +| `_llm_sample_texts.csv`, `_reference_nearest_texts.csv` | texts for the coding passes / nearest listings — never committed |
52 +
53 +The pre-refactor `legacy/` folder of the author's checkout is produced by no script and is not part of the pipeline.
54 +What can be shared and what cannot (including the application `users` table, never read and never extracted) is stated
55 +in `DATA_AVAILABILITY.md`.
45 56
46 57 Embeddings are deterministic for a given model version, so a fresh run reproduces the
47 58 committed results exactly (see `docs/CHANGES.md` §3 and `docs/CHANGELOG-REVISION.md` §1). Both
added data/processed/dimension_sample_300.csv +301 −0
@@ -0,0 +1,301 @@
1 +id,lang_rule,sample_rank,luxe_A,terrain_nature_A,familial_A,tranquillite_A,a_renover_A,luxe_B,terrain_nature_B,familial_B,tranquillite_B,a_renover_B
2 +28748489,fr,1,0,1,0,1,1,0,1,0,1,1
3 +28936240,fr,2,0,1,0,1,1,0,1,0,1,1
4 +29132529,fr,3,0,0,0,0,0,0,0,0,0,0
5 +28968074,en,4,0,1,1,1,0,0,1,0,1,0
6 +28988664,en,5,0,1,1,1,0,0,1,1,1,0
7 +28765168,fr,6,1,1,0,1,0,1,0,0,0,0
8 +28882063,fr,7,0,1,1,0,0,0,0,1,0,0
9 +29147909,en,8,0,1,0,0,0,0,0,0,0,0
10 +28848341,en,9,0,1,0,1,0,0,1,0,1,0
11 +28959078,en,10,0,0,0,0,0,0,0,0,0,0
12 +28862424,fr,11,0,1,0,1,0,0,1,0,1,0
13 +28587522,en,12,1,0,0,0,0,0,0,0,0,0
14 +28489623,fr,13,0,1,0,1,0,0,1,0,1,0
15 +29033898,fr,14,0,1,0,1,0,0,1,0,1,0
16 +29132000,en,15,1,1,1,0,0,1,1,0,0,0
17 +28968186,en,16,0,1,0,0,0,0,1,0,0,0
18 +29166446,fr,17,0,1,0,1,0,0,1,0,1,0
19 +29137500,en,18,0,1,1,0,0,0,0,0,0,0
20 +29146307,fr,19,0,0,1,1,0,0,0,1,1,0
21 +29192417,en,20,0,1,0,1,0,0,1,0,1,0
22 +28793571,en,21,1,1,0,0,0,0,1,0,0,0
23 +28981982,fr,22,0,1,0,1,0,0,0,0,1,0
24 +28418662,en,23,1,1,1,0,0,1,1,0,0,0
25 +28964682,fr,24,0,0,1,0,0,0,0,1,0,0
26 +26725338,fr,25,1,1,0,0,0,1,1,0,0,0
27 +27207482,en,26,0,0,1,0,0,0,0,0,0,0
28 +28863577,en,27,1,1,1,1,0,1,0,1,1,0
29 +29142817,fr,28,1,1,0,0,0,1,1,0,0,0
30 +29201659,en,29,0,0,1,0,0,0,0,1,0,0
31 +28730605,en,30,0,0,0,0,1,0,0,0,0,1
32 +28794216,en,31,0,1,0,1,0,0,1,0,1,0
33 +29209024,fr,32,0,0,1,0,0,0,0,0,0,0
34 +28948653,fr,33,0,1,1,1,0,0,0,0,1,0
35 +29167946,fr,34,1,0,0,0,0,0,0,0,0,0
36 +29066840,en,35,0,1,0,0,0,0,1,0,0,0
37 +28753035,fr,36,0,1,0,0,0,0,1,0,0,0
38 +28468763,fr,37,0,1,1,0,0,0,0,1,0,0
39 +29156943,fr,38,0,1,0,1,0,0,0,0,1,0
40 +29222335,fr,39,0,1,1,1,0,0,1,1,1,0
41 +28826831,en,40,1,1,0,1,0,0,1,0,1,0
42 +28639058,fr,41,0,1,0,0,0,0,1,0,0,0
43 +28107302,en,42,0,1,1,0,0,0,1,1,0,0
44 +28586756,fr,43,0,0,0,0,0,0,0,0,0,0
45 +29181706,fr,44,0,0,0,1,0,0,0,0,1,0
46 +28784346,fr,45,0,1,0,0,0,0,1,0,0,0
47 +29155459,en,46,0,1,0,0,0,0,0,0,0,0
48 +28865997,fr,47,0,0,0,0,1,0,0,0,0,1
49 +28921806,fr,48,0,1,0,0,0,0,1,0,0,0
50 +29022332,fr,49,0,0,0,1,0,0,0,0,1,0
51 +29034088,en,50,0,1,1,0,1,0,1,1,0,1
52 +28153110,en,51,1,0,1,0,0,1,0,0,0,0
53 +29012520,en,52,0,1,0,1,0,0,1,0,1,0
54 +28104649,en,53,1,1,0,1,0,1,1,0,1,0
55 +28502907,fr,54,0,1,0,0,0,0,0,0,0,0
56 +28597606,fr,55,0,0,1,1,0,0,0,0,1,0
57 +28883684,en,56,0,0,0,0,0,0,0,0,0,0
58 +29007792,fr,57,0,0,1,1,0,0,0,1,1,0
59 +29171306,fr,58,0,0,1,0,0,0,0,1,0,0
60 +28881966,fr,59,1,1,0,0,0,1,1,0,0,0
61 +28904678,fr,60,0,0,0,0,0,0,0,0,0,0
62 +28948298,fr,61,1,0,0,0,0,0,0,0,0,0
63 +28712395,en,62,1,1,0,0,0,1,1,0,0,0
64 +28749773,fr,63,0,1,0,0,0,0,1,0,0,0
65 +29200859,fr,64,0,1,0,1,0,0,0,0,1,0
66 +28346411,fr,65,0,0,0,0,0,0,0,0,0,0
67 +27817060,en,66,0,0,0,0,0,0,0,0,0,0
68 +29095491,fr,67,0,1,1,1,0,0,1,1,1,0
69 +29111987,en,68,0,0,1,0,0,0,0,0,0,0
70 +29056540,fr,69,1,1,0,1,0,1,1,0,1,0
71 +28508977,en,70,0,1,0,1,1,0,1,0,1,1
72 +28763373,en,71,0,1,1,1,0,0,1,1,1,0
73 +28994555,fr,72,0,1,0,0,0,0,1,0,0,0
74 +28978141,fr,73,0,1,0,1,0,0,1,0,1,0
75 +29176168,en,74,1,1,0,1,0,1,1,0,1,0
76 +29169342,fr,75,0,1,0,0,0,0,0,0,0,0
77 +28927648,en,76,1,1,0,0,0,1,1,0,0,0
78 +29191244,en,77,1,1,0,1,0,1,1,0,1,0
79 +29183574,fr,78,0,0,1,0,0,0,0,0,0,0
80 +28885327,en,79,0,0,1,0,1,0,0,0,0,1
81 +29215508,en,80,0,0,0,1,1,0,0,0,1,1
82 +29111021,fr,81,0,1,0,0,0,0,0,0,0,0
83 +28968085,en,82,0,0,0,1,0,0,0,0,1,0
84 +28846451,en,83,0,1,0,1,0,0,0,0,1,0
85 +29183051,fr,84,0,0,1,0,0,0,0,1,0,0
86 +28803591,en,85,0,1,1,0,0,0,0,1,0,0
87 +29186530,fr,86,0,0,0,0,0,0,0,0,0,0
88 +29038708,en,87,0,1,1,1,0,0,1,0,1,0
89 +29033073,fr,88,0,0,0,0,0,0,0,0,0,0
90 +29184921,fr,89,0,1,1,1,0,0,0,0,1,0
91 +28730541,fr,90,0,0,1,1,0,0,0,0,1,0
92 +28986548,en,91,0,0,1,0,0,0,0,1,0,0
93 +29142782,en,92,0,1,1,0,0,0,0,1,0,0
94 +28923168,fr,93,0,1,1,1,0,0,1,1,1,0
95 +29111473,en,94,0,0,1,1,0,0,0,0,1,0
96 +28939255,en,95,1,1,0,0,0,0,1,0,0,0
97 +28983234,en,96,0,1,0,1,0,0,1,0,1,0
98 +29179870,en,97,0,1,0,1,0,0,1,0,1,0
99 +28756848,fr,98,0,1,0,0,0,0,1,0,0,0
100 +29033257,en,99,0,0,1,0,0,0,0,0,0,0
101 +29128169,fr,100,0,0,0,0,0,0,0,0,0,0
102 +29062819,en,101,0,1,0,0,0,0,1,0,0,0
103 +29179900,fr,102,0,1,0,1,0,0,1,0,1,0
104 +28922285,en,103,0,0,1,0,0,0,0,1,0,0
105 +29055886,en,104,1,1,1,0,0,1,1,0,0,0
106 +28893784,en,105,1,1,0,0,0,1,1,0,0,0
107 +29007799,fr,106,0,1,1,0,0,0,0,1,0,0
108 +27578041,en,107,0,0,1,0,0,0,0,1,0,0
109 +29067891,fr,108,0,1,1,1,0,0,1,1,1,0
110 +28971026,fr,109,0,0,1,1,0,0,0,1,1,0
111 +28717229,fr,110,0,1,0,1,0,0,1,0,1,0
112 +28999625,fr,111,0,0,0,0,1,0,0,0,0,1
113 +28702149,fr,112,0,0,0,1,0,0,0,0,1,0
114 +28806518,fr,113,0,0,0,1,0,0,0,0,1,0
115 +28995717,fr,114,0,0,1,1,0,0,0,1,1,0
116 +28785189,fr,115,0,1,0,1,0,0,1,0,1,0
117 +29124516,fr,116,1,1,0,0,0,1,0,0,0,0
118 +28981449,fr,117,0,1,1,0,0,0,1,1,0,0
119 +28770374,fr,118,0,1,0,1,0,0,1,0,1,0
120 +28995910,en,119,0,0,1,0,0,0,1,0,0,0
121 +28886353,fr,120,0,0,1,0,0,0,0,0,0,0
122 +28785976,fr,121,0,0,1,1,0,0,0,1,1,0
123 +29196781,en,122,0,1,0,1,0,0,1,0,1,0
124 +29073838,en,123,1,0,0,0,0,1,0,0,0,0
125 +29144802,en,124,1,1,0,1,0,0,0,0,1,0
126 +29097811,en,125,0,0,1,1,0,0,0,0,1,0
127 +27350813,en,126,0,1,0,1,1,0,1,0,1,1
128 +29181693,en,127,0,0,1,1,0,0,0,0,1,0
129 +28846027,fr,128,0,1,1,0,0,0,1,1,0,0
130 +29116324,fr,129,0,1,0,0,0,0,0,0,0,0
131 +29220248,fr,130,0,0,1,0,0,0,0,0,0,0
132 +29154570,fr,131,0,1,0,0,0,0,1,0,0,0
133 +29012887,en,132,1,0,0,0,0,1,0,0,0,0
134 +29005130,en,133,1,1,0,1,0,1,1,0,1,0
135 +28883220,en,134,0,1,0,1,0,0,1,0,1,0
136 +29212980,fr,135,0,1,0,0,0,0,1,0,0,0
137 +27734718,en,136,0,0,0,1,1,0,0,0,1,1
138 +29089602,en,137,0,1,1,1,0,0,1,1,1,0
139 +29001537,en,138,1,1,0,1,0,0,1,0,1,0
140 +28964709,fr,139,0,1,0,0,0,0,1,0,0,0
141 +28982260,fr,140,0,1,0,0,0,0,0,0,1,0
142 +28894719,en,141,1,0,1,0,0,1,1,0,0,0
143 +29054248,en,142,0,0,1,0,0,0,0,0,0,0
144 +29069356,en,143,1,1,0,1,0,0,1,0,1,0
145 +28533836,en,144,1,1,0,0,0,1,1,0,0,0
146 +29145509,fr,145,0,1,1,1,0,0,0,1,1,0
147 +28533177,en,146,0,1,0,0,0,0,1,0,0,0
148 +29111469,en,147,0,1,1,1,0,0,0,0,1,0
149 +29190961,en,148,0,1,1,1,0,0,0,0,1,0
150 +28954162,fr,149,1,1,0,0,0,1,1,0,0,0
151 +28736135,en,150,1,0,0,1,0,1,0,0,1,0
152 +27987170,en,151,1,1,0,0,0,1,0,0,0,0
153 +28864726,en,152,0,0,1,0,0,0,0,1,0,0
154 +29063937,en,153,1,1,0,1,0,0,1,0,1,0
155 +28187798,fr,154,0,0,1,0,0,0,0,0,0,0
156 +28821921,en,155,0,0,0,0,0,0,0,0,0,0
157 +29166571,en,156,0,1,0,0,0,0,1,0,0,0
158 +29023495,fr,157,0,1,1,0,0,0,1,1,0,0
159 +29083211,en,158,0,1,0,1,0,0,1,0,1,0
160 +29211992,fr,159,0,1,0,0,0,0,1,0,0,0
161 +28805155,en,160,0,1,1,0,0,0,1,1,0,0
162 +29143751,fr,161,0,1,1,0,0,0,1,1,0,0
163 +29190304,en,162,0,0,1,0,0,0,0,1,0,0
164 +28748485,fr,163,0,0,1,1,1,0,0,1,1,0
165 +27842855,fr,164,0,1,0,0,0,0,0,0,0,0
166 +29142124,fr,165,0,1,0,0,0,0,1,0,0,0
167 +28468355,en,166,0,1,0,1,0,0,1,0,1,0
168 +28924252,fr,167,0,0,0,0,0,0,0,0,0,0
169 +28615665,en,168,1,0,1,0,0,1,0,0,0,0
170 +29135480,fr,169,0,1,0,0,0,0,0,0,0,0
171 +28896850,en,170,1,0,0,0,0,0,0,0,0,0
172 +29163004,fr,171,0,0,1,1,0,0,0,0,1,0
173 +28862232,fr,172,0,1,0,0,0,0,1,0,0,0
174 +28921859,en,173,0,0,0,0,0,0,0,0,0,0
175 +28836453,fr,174,0,0,1,0,0,0,0,1,0,0
176 +28226372,en,175,1,1,0,1,0,1,1,0,0,0
177 +29054995,fr,176,1,0,0,0,0,1,0,0,0,0
178 +29188745,en,177,0,1,0,1,0,0,1,0,1,0
179 +29018801,en,178,0,0,0,1,0,0,0,0,1,0
180 +28967831,fr,179,0,1,0,1,0,0,1,0,1,0
181 +28687560,en,180,1,1,0,1,0,1,1,0,1,0
182 +29174774,en,181,0,1,0,0,0,0,0,0,0,0
183 +28907841,fr,182,0,0,1,0,0,0,0,1,0,0
184 +29190955,en,183,0,1,0,1,0,0,1,0,1,0
185 +29178990,en,184,0,1,0,1,0,0,1,0,1,0
186 +28131720,fr,185,0,1,0,0,0,0,1,0,0,0
187 +28953081,en,186,1,1,0,1,0,1,1,0,1,0
188 +28720146,fr,187,0,1,0,1,0,0,1,0,1,0
189 +28682443,fr,188,0,1,0,0,0,0,0,0,0,0
190 +29084119,en,189,0,0,1,0,0,0,0,0,0,0
191 +28909224,fr,190,0,0,0,0,1,0,0,0,0,1
192 +28852412,fr,191,0,0,0,1,0,0,0,0,1,0
193 +28893109,en,192,0,1,0,1,1,0,1,0,1,1
194 +28478217,en,193,0,0,1,1,0,0,0,1,1,0
195 +29148687,en,194,0,1,1,0,0,0,0,1,0,0
196 +29169316,fr,195,0,1,0,1,1,0,1,0,1,0
197 +28340209,en,196,0,1,0,0,0,0,1,0,0,0
198 +29203036,en,197,0,1,1,0,0,0,0,1,0,0
199 +28846389,en,198,0,1,0,1,0,0,0,0,1,0
200 +29142045,fr,199,0,1,0,1,0,0,0,0,1,0
201 +28698285,en,200,0,1,1,1,0,0,0,1,1,0
202 +28654985,en,201,1,1,1,0,0,1,0,0,0,0
203 +28855442,en,202,1,1,1,1,0,1,1,1,1,0
204 +28958445,en,203,0,1,1,1,0,0,1,0,1,0
205 +28725742,fr,204,0,1,0,1,0,0,1,0,1,0
206 +28746700,fr,205,0,1,1,1,0,0,0,1,1,0
207 +29149043,fr,206,0,0,0,0,1,0,0,0,0,1
208 +29096257,fr,207,0,1,0,0,0,0,1,0,0,0
209 +27447014,fr,208,0,1,0,0,0,0,0,0,0,0
210 +28912945,en,209,0,1,0,1,0,0,1,0,1,0
211 +29151436,fr,210,0,1,0,0,0,0,0,0,0,0
212 +29169631,fr,211,0,0,1,0,0,0,0,1,0,0
213 +29107963,fr,212,0,0,0,0,0,0,1,0,0,0
214 +29011830,en,213,0,1,0,1,0,0,1,0,1,0
215 +28974979,en,214,0,0,1,0,0,0,0,1,0,0
216 +28868423,fr,215,1,1,0,0,0,1,1,0,0,0
217 +28767042,en,216,0,0,1,1,0,0,0,0,1,0
218 +29221271,fr,217,0,0,0,1,0,0,0,0,1,0
219 +27829695,en,218,1,1,0,0,0,1,1,0,0,0
220 +28209838,en,219,1,0,0,0,0,1,0,0,0,0
221 +28976297,fr,220,0,1,1,1,0,0,0,0,1,0
222 +29116034,fr,221,0,0,0,1,0,0,0,0,1,0
223 +29096181,en,222,0,1,0,0,1,0,1,0,0,1
224 +28496581,fr,223,0,1,0,1,0,0,1,0,1,0
225 +28885637,fr,224,0,1,0,0,0,0,1,0,0,0
226 +29007738,en,225,0,1,0,0,0,0,1,0,0,0
227 +29127621,en,226,0,0,0,0,0,0,0,0,0,0
228 +28673920,fr,227,0,1,0,0,0,0,0,0,0,0
229 +29162185,en,228,0,1,1,1,0,0,0,1,1,0
230 +29237657,fr,229,0,0,0,0,0,0,0,0,0,0
231 +28843950,en,230,0,0,1,0,0,0,1,1,0,0
232 +28232025,fr,231,0,1,0,0,0,0,1,0,0,0
233 +29105109,en,232,0,0,1,0,0,0,0,0,0,0
234 +29155340,fr,233,0,0,0,0,0,0,0,0,0,0
235 +29091368,en,234,0,0,0,0,0,0,0,0,0,0
236 +28874326,fr,235,0,0,0,0,0,0,0,0,0,0
237 +29201660,fr,236,0,1,0,1,0,0,1,0,1,0
238 +29051540,fr,237,0,1,0,0,0,0,1,0,0,0
239 +28620381,en,238,0,1,0,1,0,0,1,0,1,0
240 +28333361,fr,239,0,1,0,1,0,0,1,0,1,0
241 +28922096,en,240,1,1,0,1,0,1,1,0,1,0
242 +26946318,en,241,0,1,1,1,0,0,0,0,1,0
243 +29222629,en,242,0,0,0,0,0,0,0,0,0,0
244 +28852278,en,243,0,1,0,0,0,0,0,0,0,0
245 +28988631,fr,244,0,0,1,0,0,0,1,0,0,0
246 +29215592,fr,245,0,0,1,0,0,0,1,1,0,0
247 +29102341,en,246,1,0,0,0,0,1,0,0,0,0
248 +29197346,fr,247,1,1,0,1,0,1,0,0,1,0
249 +28915375,fr,248,1,1,0,1,0,1,1,0,1,0
250 +29215523,fr,249,0,1,0,0,0,0,1,0,0,0
251 +28570375,en,250,0,1,0,1,0,0,1,0,1,0
252 +28758043,en,251,0,1,0,0,0,0,0,0,0,0
253 +29112607,en,252,0,0,1,0,1,0,0,1,0,1
254 +29145496,fr,253,0,0,1,0,1,0,0,0,0,1
255 +28784788,en,254,0,1,0,0,0,0,1,0,0,0
256 +28852555,fr,255,0,0,1,0,0,0,0,0,0,0
257 +29125241,en,256,0,1,0,0,0,0,0,0,0,0
258 +28763351,en,257,0,0,0,0,0,0,0,0,0,0
259 +28860055,en,258,0,1,0,1,0,0,1,0,1,0
260 +29042488,en,259,0,1,0,0,0,0,0,0,1,0
261 +29226529,fr,260,0,0,1,1,0,0,0,1,1,0
262 +28874288,en,261,0,1,1,0,0,0,0,1,1,0
263 +27970357,en,262,1,1,0,0,0,1,1,0,0,0
264 +28873686,fr,263,0,1,0,1,0,0,1,0,1,0
265 +29025562,en,264,0,1,0,1,0,0,1,0,1,0
266 +28979985,en,265,0,0,1,1,0,0,0,1,1,0
267 +29072999,fr,266,0,1,0,0,0,0,0,0,0,0
268 +27090586,fr,267,0,1,0,0,0,0,1,0,0,0
269 +29189133,en,268,0,1,0,1,0,0,1,0,0,0
270 +28496491,fr,269,0,1,0,0,0,0,1,0,0,0
271 +28439073,en,270,0,0,0,1,0,0,0,0,1,0
272 +28888975,fr,271,0,0,0,1,0,0,0,0,1,0
273 +28788370,fr,272,0,0,1,0,0,0,0,1,0,0
274 +29006226,fr,273,0,1,0,1,0,0,1,0,1,0
275 +28892651,fr,274,0,1,0,1,0,0,1,0,1,0
276 +29104944,fr,275,0,1,1,1,0,0,1,1,1,0
277 +28728690,fr,276,0,0,1,0,1,0,0,0,0,1
278 +29003663,fr,277,0,0,1,0,1,0,0,1,0,1
279 +29180380,en,278,0,1,0,1,1,0,1,0,1,1
280 +29012521,fr,279,1,1,0,0,0,1,1,0,0,0
281 +29225211,fr,280,0,0,1,0,0,1,0,1,0,0
282 +29102485,fr,281,0,0,1,1,0,0,0,0,1,0
283 +29142761,fr,282,0,0,0,0,1,0,0,0,0,1
284 +29011858,fr,283,0,0,1,0,0,0,0,1,0,0
285 +28574927,fr,284,0,1,0,0,0,0,0,0,0,0
286 +29141574,en,285,0,1,0,0,0,0,0,0,0,0
287 +29181955,en,286,0,0,1,0,0,0,0,0,0,0
288 +29137577,en,287,0,0,1,0,0,0,0,1,0,0
289 +28776778,fr,288,0,0,0,0,0,0,0,0,0,0
290 +28448754,en,289,0,1,0,1,0,0,1,0,1,0
291 +29196206,en,290,0,0,0,0,0,0,0,0,0,0
292 +28964869,fr,291,1,1,0,1,0,1,1,0,1,0
293 +28669378,en,292,0,1,0,1,0,0,1,0,1,0
294 +29216541,fr,293,0,0,1,1,1,0,0,1,1,1
295 +25423114,fr,294,0,0,0,1,0,0,0,0,1,0
296 +28699964,en,295,0,1,1,1,0,0,0,0,1,0
297 +29222468,en,296,0,0,0,1,0,0,0,0,1,0
298 +29178002,en,297,0,1,1,1,0,0,0,1,1,0
299 +28979952,en,298,1,1,0,0,0,1,0,0,0,0
300 +28964566,en,299,0,0,0,0,0,0,0,0,0,0
301 +28514333,en,300,0,1,0,1,0,0,1,0,1,0
added data/processed/language_sample_300.csv +301 −0
@@ -0,0 +1,301 @@
1 +id,stratum,lang_rule,lang_langdetect,n_fr_sw,n_en_sw,sample_rank,llm_pass_A,llm_pass_B
2 +29126557,en,en,en,0,23,1,en,en
3 +28388803,fr,fr,fr,28,0,2,fr,fr
4 +29192003,en,en,en,2,29,3,en,en
5 +28371539,fr,fr,fr,23,3,4,fr,fr
6 +28274142,fr,fr,fr,33,2,5,fr,fr
7 +29179862,fr,fr,fr,31,1,6,fr,fr
8 +29091005,boundary,fr,fr,9,2,7,fr,fr
9 +28694854,fr,fr,fr,35,1,8,fr,fr
10 +28683780,en,en,en,0,26,9,en,en
11 +29227026,en,en,en,0,28,10,en,en
12 +29041116,en,en,en,0,19,11,en,en
13 +28523747,boundary,fr,fr,3,1,12,fr,fr
14 +29142846,fr,fr,fr,32,1,13,fr,fr
15 +28824259,en,en,en,0,26,14,en,en
16 +28832762,boundary,fr,fr,6,2,15,fr,fr
17 +26607607,boundary,fr,fr,9,2,16,fr,fr
18 +27952812,en,en,en,0,26,17,en,en
19 +29213069,en,en,en,0,36,18,en,en
20 +29078522,fr,fr,fr,22,3,19,fr,fr
21 +28682366,boundary,fr,fr,5,1,20,fr,fr
22 +29090982,boundary,fr,fr,9,2,21,fr,fr
23 +28840838,en,en,en,0,27,22,en,en
24 +29148690,fr,fr,fr,20,0,23,fr,fr
25 +29093012,en,en,en,1,30,24,en,en
26 +28617996,fr,fr,fr,13,0,25,fr,fr
27 +28369133,fr,fr,fr,36,0,26,fr,fr
28 +29090957,boundary,fr,fr,9,2,27,fr,fr
29 +29203501,fr,fr,fr,35,0,28,fr,fr
30 +29147910,fr,fr,fr,35,0,29,fr,fr
31 +28448843,boundary,fr,fr,16,4,30,fr,fr
32 +28967751,fr,fr,fr,33,0,31,fr,fr
33 +28362688,fr,fr,fr,19,1,32,fr,fr
34 +28519309,en,en,en,2,18,33,en,en
35 +29094387,boundary,fr,fr,4,1,34,fr,fr
36 +28832761,en,en,en,0,25,35,en,en
37 +28994340,boundary,fr,fr,17,8,36,mixed,mixed
38 +29203117,fr,fr,fr,24,0,37,fr,fr
39 +29100670,en,en,en,0,10,38,en,en
40 +29073656,fr,fr,fr,15,0,39,fr,fr
41 +28953382,en,en,en,0,16,40,en,en
42 +29058199,boundary,fr,fr,8,2,41,fr,fr
43 +28108562,boundary,fr,fr,10,3,42,fr,fr
44 +29076724,boundary,fr,fr,9,2,43,fr,fr
45 +29151371,fr,fr,fr,25,0,44,fr,fr
46 +27965253,fr,fr,fr,28,2,45,fr,fr
47 +28907013,fr,fr,fr,25,0,46,fr,fr
48 +29123442,boundary,en,en,2,8,47,en,en
49 +29184902,en,en,en,0,19,48,en,en
50 +28989356,fr,fr,fr,33,0,49,fr,fr
51 +29190917,fr,fr,fr,17,2,50,fr,fr
52 +27943192,en,en,en,2,25,51,en,en
53 +28981453,boundary,fr,fr,12,3,52,fr,fr
54 +29098974,en,en,en,0,25,53,en,en
55 +28188325,boundary,fr,fr,8,3,54,fr,fr
56 +29007064,boundary,en,en,6,17,55,en,en
57 +29212465,en,en,en,0,26,56,en,en
58 +28324082,boundary,fr,fr,23,6,57,fr,fr
59 +28280207,fr,fr,fr,27,0,58,fr,fr
60 +29046560,en,en,en,0,27,59,en,en
61 +29132912,en,en,en,0,21,60,en,en
62 +28955154,fr,fr,fr,38,0,61,fr,fr
63 +28418547,fr,fr,fr,18,0,62,fr,fr
64 +28784313,en,en,en,0,21,63,en,en
65 +29212470,en,en,en,0,16,64,en,en
66 +29186950,boundary,fr,fr,8,2,65,fr,fr
67 +28369049,fr,fr,fr,29,2,66,fr,fr
68 +29145479,en,en,en,1,35,67,en,en
69 +29115418,fr,fr,fr,37,0,68,fr,fr
70 +26607560,boundary,fr,fr,9,2,69,fr,fr
71 +28890422,en,en,en,2,22,70,en,en
72 +28900390,en,en,en,0,15,71,en,en
73 +28885345,fr,fr,fr,34,0,72,fr,fr
74 +29097893,fr,fr,fr,36,0,73,fr,fr
75 +29152090,en,en,en,0,28,74,en,en
76 +28973375,boundary,fr,fr,9,2,75,fr,fr
77 +28528250,fr,fr,fr,12,2,76,fr,fr
78 +28938620,en,en,en,0,18,77,en,en
79 +28992196,fr,fr,fr,27,0,78,fr,fr
80 +28748774,en,en,en,0,34,79,en,en
81 +29012046,en,en,en,1,27,80,en,en
82 +28854157,en,en,en,1,36,81,en,en
83 +28835255,boundary,fr,fr,5,2,82,fr,fr
84 +28736102,boundary,fr,fr,12,4,83,fr,fr
85 +28665213,en,en,en,0,26,84,en,en
86 +28137976,boundary,fr,fr,9,2,85,fr,fr
87 +27768588,fr,fr,fr,33,3,86,fr,fr
88 +29224285,boundary,fr,fr,8,2,87,fr,fr
89 +29145810,fr,fr,fr,42,1,88,fr,fr
90 +29175806,fr,fr,fr,16,2,89,fr,fr
91 +29084428,fr,fr,fr,15,1,90,fr,fr
92 +29046541,en,en,en,2,33,91,en,en
93 +28904535,fr,fr,fr,41,0,92,fr,fr
94 +29213554,fr,fr,fr,31,0,93,fr,fr
95 +28693791,fr,fr,fr,41,1,94,fr,fr
96 +27942977,fr,fr,fr,29,2,95,fr,fr
97 +28892846,boundary,en,en,1,5,96,en,en
98 +29162150,en,en,en,0,21,97,en,en
99 +28777546,boundary,fr,fr,9,2,98,fr,fr
100 +28982824,en,en,en,0,21,99,en,en
101 +29132285,fr,fr,fr,18,0,100,fr,fr
102 +29111007,fr,fr,fr,35,2,101,fr,fr
103 +29196450,boundary,fr,fr,26,7,102,fr,fr
104 +28783866,en,en,en,0,22,103,en,en
105 +28792545,fr,fr,fr,10,1,104,fr,fr
106 +29176522,en,en,en,0,23,105,en,en
107 +29116050,boundary,fr,fr,8,2,106,fr,fr
108 +28909165,boundary,fr,fr,5,1,107,fr,fr
109 +29067244,boundary,fr,fr,7,2,108,fr,fr
110 +29104943,en,en,en,0,32,109,en,en
111 +29144627,boundary,fr,fr,11,3,110,fr,fr
112 +28714528,en,en,en,0,28,111,en,en
113 +29017273,en,en,en,0,23,112,en,en
114 +29171934,fr,fr,fr,29,2,113,fr,fr
115 +29207711,en,en,en,0,22,114,en,en
116 +28187765,boundary,fr,fr,8,3,115,fr,fr
117 +29006807,fr,fr,fr,27,0,116,fr,fr
118 +28364312,fr,fr,fr,36,1,117,fr,fr
119 +28975659,boundary,fr,fr,16,6,118,fr,fr
120 +28951749,fr,fr,fr,32,0,119,fr,fr
121 +28870672,boundary,fr,fr,4,1,120,fr,fr
122 +29079822,boundary,fr,fr,7,3,121,fr,fr
123 +29133864,boundary,fr,fr,8,2,122,fr,fr
124 +28832801,boundary,fr,fr,6,2,123,fr,fr
125 +27866181,boundary,fr,fr,6,2,124,fr,fr
126 +28983959,en,en,en,0,28,125,en,en
127 +28548958,en,en,en,0,23,126,en,en
128 +29190095,fr,fr,fr,31,0,127,fr,fr
129 +27957153,boundary,fr,fr,6,2,128,fr,fr
130 +28435213,en,en,en,0,30,129,en,en
131 +28496504,en,en,en,0,32,130,en,en
132 +28658204,en,en,en,1,26,131,en,en
133 +24472976,en,en,en,2,30,132,en,en
134 +29188193,boundary,fr,fr,12,3,133,fr,fr
135 +28953351,en,en,en,0,28,134,en,en
136 +28981516,fr,fr,fr,30,1,135,fr,fr
137 +29202625,fr,fr,fr,18,0,136,fr,fr
138 +29215563,boundary,fr,fr,8,2,137,fr,fr
139 +29040669,fr,fr,fr,33,1,138,fr,fr
140 +29063159,boundary,fr,fr,6,2,139,fr,fr
141 +28951301,boundary,fr,fr,12,3,140,fr,fr
142 +29003637,boundary,fr,fr,6,2,141,fr,fr
143 +28691397,fr,fr,fr,16,1,142,fr,fr
144 +29208485,boundary,fr,fr,7,2,143,fr,fr
145 +28985612,en,en,en,0,20,144,en,en
146 +28975458,boundary,fr,fr,13,5,145,fr,fr
147 +29188463,fr,fr,fr,39,1,146,fr,fr
148 +28796084,boundary,fr,fr,7,3,147,fr,fr
149 +28774888,en,en,en,0,31,148,en,en
150 +28807217,fr,fr,fr,25,0,149,fr,fr
151 +29116814,fr,fr,fr,17,1,150,fr,fr
152 +28806696,boundary,fr,fr,8,2,151,fr,fr
153 +28892359,fr,fr,fr,24,0,152,fr,fr
154 +28974941,boundary,fr,fr,9,2,153,fr,fr
155 +28638947,boundary,en,en,3,12,154,en,en
156 +29169098,en,en,en,0,28,155,en,en
157 +28271507,fr,fr,fr,32,1,156,fr,fr
158 +29032786,en,en,en,0,32,157,en,en
159 +28161636,boundary,fr,fr,9,3,158,fr,fr
160 +28850882,fr,fr,fr,19,1,159,fr,fr
161 +28765680,fr,fr,fr,34,1,160,fr,fr
162 +27922050,en,en,en,1,30,161,en,en
163 +29090673,boundary,fr,fr,9,2,162,fr,fr
164 +28539830,en,en,en,0,22,163,en,en
165 +29190305,en,en,en,0,5,164,en,en
166 +28753019,boundary,fr,fr,6,2,165,fr,fr
167 +26701713,en,en,en,0,33,166,en,en
168 +27585354,boundary,fr,fr,8,2,167,fr,fr
169 +29171264,fr,fr,fr,43,0,168,fr,fr
170 +28975275,boundary,fr,fr,13,5,169,fr,fr
171 +29162419,boundary,fr,fr,12,3,170,fr,fr
172 +29022735,boundary,fr,fr,9,2,171,fr,fr
173 +27866189,boundary,fr,fr,6,2,172,fr,fr
174 +28642230,boundary,fr,fr,10,4,173,fr,fr
175 +28995366,en,en,en,1,20,174,en,en
176 +29128646,en,en,en,0,27,175,en,en
177 +29173093,en,en,en,0,39,176,en,en
178 +28796045,boundary,fr,fr,7,3,177,fr,fr
179 +29159292,boundary,en,en,3,7,178,en,en
180 +28982276,en,en,en,0,19,179,en,en
181 +28702392,en,en,en,1,20,180,en,en
182 +28570435,en,en,en,0,37,181,en,en
183 +28846660,fr,fr,fr,29,0,182,fr,fr
184 +28824797,en,en,en,0,30,183,en,en
185 +29216557,fr,fr,fr,36,0,184,fr,fr
186 +29033078,fr,fr,fr,23,0,185,fr,fr
187 +29092260,fr,fr,fr,44,0,186,fr,fr
188 +29037506,fr,fr,fr,23,0,187,fr,fr
189 +29161106,boundary,fr,fr,7,2,188,fr,fr
190 +28236641,boundary,fr,fr,4,1,189,fr,fr
191 +29221177,boundary,fr,fr,9,3,190,fr,fr
192 +28215096,fr,fr,fr,27,0,191,fr,fr
193 +28730756,boundary,fr,fr,8,3,192,fr,fr
194 +29091974,en,en,en,0,11,193,en,en
195 +28846167,en,en,en,0,26,194,en,en
196 +29067249,boundary,fr,fr,7,2,195,fr,fr
197 +29118012,en,en,en,0,24,196,en,en
198 +29033091,boundary,fr,fr,8,2,197,fr,fr
199 +28397230,fr,fr,fr,12,0,198,fr,fr
200 +29056558,boundary,fr,fr,7,2,199,fr,fr
201 +28827433,fr,fr,fr,25,0,200,fr,fr
202 +29008925,fr,fr,fr,39,0,201,fr,fr
203 +29108482,en,en,en,0,34,202,en,en
204 +28724695,boundary,fr,fr,15,4,203,fr,fr
205 +29139835,en,en,en,0,30,204,en,en
206 +29022254,boundary,fr,fr,10,3,205,fr,fr
207 +29219667,boundary,mixed,fr,4,3,206,fr,fr
208 +29223619,boundary,mixed,fr,2,2,207,fr,fr
209 +29025575,en,en,en,0,20,208,en,en
210 +28437798,fr,fr,fr,42,0,209,fr,fr
211 +28568805,fr,fr,fr,28,0,210,fr,fr
212 +28998192,en,en,en,0,26,211,en,en
213 +29158505,en,en,en,1,26,212,en,en
214 +27843252,fr,fr,fr,23,0,213,fr,fr
215 +28554907,boundary,fr,fr,12,3,214,fr,fr
216 +29046274,en,en,en,0,21,215,en,en
217 +28646250,boundary,fr,fr,8,2,216,fr,fr
218 +28754113,fr,fr,fr,31,0,217,fr,fr
219 +27639786,boundary,fr,fr,4,2,218,fr,fr
220 +29175079,fr,fr,fr,28,2,219,fr,fr
221 +28785003,fr,fr,fr,33,2,220,fr,fr
222 +28071687,fr,fr,fr,41,2,221,fr,fr
223 +28965087,en,en,en,0,21,222,en,en
224 +28825461,en,en,en,0,28,223,en,en
225 +29168940,fr,fr,fr,34,0,224,fr,fr
226 +29001459,fr,fr,fr,34,0,225,fr,fr
227 +28873152,fr,fr,fr,26,0,226,fr,fr
228 +29101744,en,en,en,1,21,227,en,en
229 +29073831,en,en,en,0,28,228,en,en
230 +26441822,en,en,en,2,21,229,en,en
231 +29218143,en,en,en,0,22,230,en,en
232 +28975667,boundary,fr,fr,16,6,231,fr,fr
233 +28613327,fr,fr,fr,33,0,232,fr,fr
234 +29201450,en,en,en,0,8,233,en,en
235 +29139208,boundary,fr,fr,5,2,234,fr,fr
236 +29149707,fr,fr,fr,39,0,235,fr,fr
237 +29042704,fr,fr,fr,26,0,236,fr,fr
238 +29072989,en,en,en,0,26,237,en,en
239 +28987990,en,en,en,0,19,238,en,en
240 +26974569,fr,fr,fr,9,0,239,fr,fr
241 +29181153,en,en,en,0,31,240,en,en
242 +29024764,fr,fr,fr,22,0,241,fr,fr
243 +29099943,boundary,fr,fr,2,1,242,fr,fr
244 +29090969,boundary,fr,fr,9,2,243,fr,fr
245 +28776759,boundary,fr,fr,9,2,244,fr,fr
246 +28990046,fr,fr,fr,30,0,245,fr,fr
247 +27957611,en,en,en,0,27,246,en,en
248 +28758814,fr,fr,fr,33,0,247,fr,fr
249 +29184602,boundary,fr,fr,7,3,248,fr,fr
250 +29133508,fr,fr,fr,41,0,249,fr,fr
251 +29123780,en,en,en,0,30,250,en,en
252 +28453117,fr,fr,fr,48,0,251,fr,fr
253 +28068541,fr,fr,fr,30,0,252,fr,fr
254 +29194348,en,en,en,0,24,253,en,en
255 +29203825,en,en,en,0,17,254,en,en
256 +28187755,boundary,fr,fr,8,3,255,fr,fr
257 +29073754,fr,fr,fr,22,0,256,fr,fr
258 +28629371,fr,fr,fr,30,0,257,fr,fr
259 +29071812,boundary,fr,fr,12,3,258,fr,fr
260 +28796028,boundary,fr,fr,7,3,259,fr,fr
261 +28917086,en,en,en,0,31,260,en,en
262 +28975256,boundary,fr,fr,13,5,261,fr,fr
263 +28936955,en,en,en,0,22,262,en,en
264 +29011843,en,en,en,2,21,263,en,en
265 +28576159,en,en,en,0,19,264,en,en
266 +28188241,boundary,fr,fr,8,3,265,fr,fr
267 +29136154,en,en,en,0,25,266,en,en
268 +29122525,boundary,fr,fr,8,4,267,fr,fr
269 +28976407,en,en,en,0,35,268,en,en
270 +29105130,fr,fr,fr,25,0,269,fr,fr
271 +28889669,en,en,en,1,12,270,en,en
272 +29217776,en,en,en,0,31,271,en,en
273 +27966587,en,en,en,0,43,272,en,en
274 +28796085,boundary,fr,fr,10,4,273,fr,fr
275 +28188249,boundary,fr,fr,8,3,274,fr,fr
276 +28986043,en,en,en,0,17,275,en,en
277 +29078010,fr,fr,fr,23,0,276,fr,fr
278 +28992195,boundary,fr,fr,7,2,277,fr,fr
279 +29235061,boundary,en,en,4,14,278,en,en
280 +28614438,fr,fr,fr,29,2,279,fr,fr
281 +28923160,boundary,fr,fr,7,2,280,fr,fr
282 +29218073,fr,fr,fr,22,0,281,fr,fr
283 +29195311,en,en,en,2,29,282,en,en
284 +29172821,boundary,fr,fr,4,2,283,fr,fr
285 +29155371,fr,fr,fr,34,2,284,fr,fr
286 +28968075,fr,fr,fr,25,0,285,fr,fr
287 +28974471,boundary,fr,fr,9,2,286,fr,fr
288 +29230381,en,en,en,0,21,287,en,en
289 +28862428,boundary,mixed,fr,1,1,288,fr,fr
290 +29164866,en,en,en,0,19,289,en,en
291 +28836557,boundary,fr,fr,1,0,290,fr,fr
292 +27734520,boundary,en,en,4,16,291,en,en
293 +28781926,en,en,en,0,26,292,en,en
294 +29055851,fr,fr,fr,37,0,293,fr,fr
295 +28806536,fr,fr,fr,19,0,294,fr,fr
296 +28186216,boundary,fr,fr,14,4,295,fr,fr
297 +29002753,fr,fr,fr,34,0,296,fr,fr
298 +28739473,en,en,en,0,25,297,en,en
299 +29108475,fr,fr,fr,32,0,298,fr,fr
300 +28188262,boundary,fr,fr,8,3,299,fr,fr
301 +29210166,fr,fr,fr,28,0,300,fr,fr
added environment/checksums.txt +19 −0
@@ -0,0 +1,19 @@
1 +# SHA-256 of inputs (never distributed) and of the embedding caches produced by scripts/10_embeddings_v2.py (2026-11-03)
2 +5dfba878151002cc9ed912c051bc2662a07492e6c759e13f054d7cc5333fe493 data/raw/louka.db
3 +0e4d3cf26c6965423ed84f93a9f7c68ebb5c45dee6568c758f8c2334b16616a2 data/processed/embeddings_maisons.npy
4 +97c1a5b0b17ee115f5fbf172c8cc96af77cd553fbd3cd52ca406924e715ae607 data/processed/embeddings_multilingual.npy
5 +9924146264da49ed30960c5bb7715b32d94399763ce16c014ff18d56579ef24b data/processed/sim_matrix_maisons.npy
6 +d4c52de8d3ef44b8ac91b639a8caa0727a988a826412992b15475cbd4735bf0c data/processed/houses.parquet
7 +5d4409503d9b169d6c5a992744bbed1921a0204793c76d2882eac162be6d8c47 data/processed/hedonic_maison_results.csv
8 +d50ed861737760d41651b2aead9fdf93a715e24b7167a31adeedb1a976729234 data/processed/revision_fields.csv
9 +86a08a19d0cbc1aad6a1d0eac009badd1f5d81010e8a582380f3e77487ab9c74 /Users/simon-pierreboucher/Desktop/UQO/Recherche/Recherche-UQO/immobilier/sharp-hpi-quebec/data/external/MUN.csv
10 +# caches (from results/v2/embedding_caches.csv)
11 +144d39cfb6a963134c469a3406b66ca032a28d6d1f08fe011f75f470551ea955 data/processed/references_minilm.npy
12 +c86aadf0e3f56f7c10305753c08accb78fd8fd1ad6203f84da442b453bff4f1e data/processed/references_ml.npy
13 +d2fa6f0121a90ebd327536425f417c97701ed235727dccedb07000ee76078163 data/processed/embeddings_minilm_256.npy
14 +f1ab78a2cbd4c06dc5667305c885800ab96bfb17d9743044cc49170c2d11ca13 data/processed/embeddings_minilm_chunk.npy
15 +10b7f03f9dcb4d0b9a282c19aed3602cb74561cbde8d8ca0055955dfd808b15f data/processed/embeddings_ml_128.npy
16 +03ba867d71a9e79c7f2ccdaadc702edb420fb87b003f38e178c8d8b857f0f73e data/processed/embeddings_ml_512.npy
17 +360851d2752ef80a9d576f72be4b35d9383517c9ae3deae8afe6e320e11d08f4 data/processed/embeddings_ml_chunk.npy
18 +10b86b56f995f3316c53e3efe672b0f6a4c29c2c92c984f1f1e0d075d2b7defe data/processed/embeddings_minilm_256_masked.npy
19 +2ed4ecdbc7a91e7f4707615f93c1737348365de78cba817f1cbf410cd444a362 data/processed/embeddings_ml_chunk_masked.npy
added environment/hardware.md +14 −0
@@ -0,0 +1,14 @@
1 +# Hardware, software and models — Stage D run (2026-11-03)
2 +
3 +| Item | Value |
4 +|---|---|
5 +| Machine | Apple M5 Max (18 cores), 48 GB unified memory, laptop (hostname MacBookPro-de-simon-pierre-2.local) |
6 +| OS | macOS 27.0 build 26A5425a |
7 +| Python | Python 3.14.4 at /opt/homebrew/bin/python3 (plain `python3`, user site-packages for scikit-learn 1.6.1) |
8 +| Torch device | mps (Metal); MPS-vs-CPU max abs difference on 256 MiniLM embeddings: 2.4e-7 |
9 +| Load during the run | 1-min load average 100–160 from concurrent review jobs; all scripts run under `nice -n 10`, Romano–Wolf with 6 workers |
10 +| HF model 1 | sentence-transformers/all-MiniLM-L6-v2, revision 1110a243fdf4706b3f48f1d95db1a4f5529b4d41 (max_seq_length 256, mean pooling + normalise, 384 d) |
11 +| HF model 2 | sentence-transformers/paraphrase-multilingual-MiniLM-L12-v2, revision e8f8c211226b894fcb81acc59f3b34ba3efd5f42 (max_seq_length 128, mean pooling, 384 d) |
12 +| HF hub | HF_HUB_OFFLINE=1 for every run (models served from ~/.cache/huggingface/hub, no download) |
13 +| Seeds | 42 everywhere (config.SEED); multiverse draws seed 42 + draw; CV seeds 42..61; bootstrap seed 42 |
14 +| Random dependencies | langdetect 1.0.9 with DetectorFactory.seed = 42 |
added environment/pip-freeze-all.txt +292 −0
@@ -0,0 +1,292 @@
1 +# Editable install with no version control (age==0.1.0)
2 +-e /Users/simon-pierreboucher/Desktop/Recherche-UQO/finance/agentic-general-equilibrium
3 +# Editable install with no version control (agentic-valuation==0.1.0)
4 +-e /Users/simon-pierreboucher/Desktop/Recherche-UQO/immobilier/agentic-valuation-quebec
5 +aiohappyeyeballs==2.6.2
6 +aiohttp==3.13.5
7 +aiosignal==1.4.0
8 +alembic==1.18.4
9 +altair==6.1.0
10 +annotated-doc==0.0.4
11 +annotated-types==0.7.0
12 +anthropic==2.3.0
13 +anyio==4.13.0
14 +appnope==0.1.4
15 +arch==8.0.0
16 +argon2-cffi==25.1.0
17 +argon2-cffi-bindings==25.1.0
18 +arrow==1.4.0
19 +ast_serialize==0.5.0
20 +asttokens==3.0.1
21 +async-lru==2.3.0
22 +attrs==26.1.0
23 +babel==2.18.0
24 +beautifulsoup4==4.14.3
25 +bleach==6.3.0
26 +blinker==1.9.0
27 +branca==0.8.2
28 +cachetools==7.1.3
29 +cairocffi==1.7.1
30 +CairoSVG==2.9.0
31 +catboost==1.2.10
32 +certifi==2026.4.22
33 +cffi==2.0.0
34 +chardet==7.4.3
35 +charset-normalizer==3.4.7
36 +click==8.4.0
37 +cloudpickle==3.1.2
38 +colorlog==6.10.1
39 +comm==0.2.3
40 +contourpy==1.3.3
41 +cryptography==50.0.0
42 +cssselect2==0.9.0
43 +curl_cffi==0.15.0
44 +cycler==0.12.1
45 +datasets==5.0.1
46 +debugpy==1.8.20
47 +decorator==5.3.1
48 +defusedxml==0.7.1
49 +dill==0.4.1
50 +docstring_parser==0.18.0
51 +DoubleML==0.11.3
52 +duckdb==1.5.2
53 +econml==0.16.0
54 +esda==2.8.2
55 +et_xmlfile==2.0.0
56 +executing==2.2.1
57 +faicons==0.2.2
58 +fastapi==0.136.1
59 +fastjsonschema==2.21.2
60 +filelock==3.29.0
61 +Flask==3.1.3
62 +folium==0.20.0
63 +fonttools==4.62.1
64 +formulaic==1.2.1
65 +fpdf2==2.8.7
66 +fqdn==1.5.1
67 +fredapi==0.5.2
68 +frozendict==2.4.7
69 +frozenlist==1.8.0
70 +fsspec==2026.4.0
71 +geopandas==1.1.3
72 +giddy==2.3.8
73 +gitdb==4.0.12
74 +GitPython==3.1.50
75 +graphviz==0.21
76 +great-tables==0.23.0
77 +greenlet==3.5.5
78 +h11==0.16.0
79 +hf-xet==1.5.0
80 +htmltools==0.7.0
81 +httpcore==1.0.9
82 +httpcore2==2.16.0
83 +httptools==0.7.1
84 +httpx==0.28.1
85 +httpx2==2.16.0
86 +huggingface_hub==1.15.0
87 +hypothesis==6.170.12
88 +idna==3.20
89 +importlib_metadata==9.0.0
90 +importlib_resources==7.1.0
91 +iniconfig==2.3.0
92 +interface_meta==2.0.0
93 +ipykernel==7.2.0
94 +ipython==9.13.0
95 +ipython_pygments_lexers==1.1.1
96 +ipywidgets==8.1.8
97 +isoduration==20.11.0
98 +itsdangerous==2.2.0
99 +jedi==0.20.0
100 +Jinja2==3.1.6
101 +jiter==0.18.0
102 +joblib==1.5.3
103 +json5==0.14.0
104 +jsonpointer==3.1.1
105 +jsonschema==4.26.0
106 +jsonschema-specifications==2025.9.1
107 +jupyter==1.1.1
108 +jupyter-console==6.6.3
109 +jupyter-events==0.12.1
110 +jupyter-lsp==2.3.1
111 +jupyter_client==8.8.0
112 +jupyter_core==5.9.1
113 +jupyter_server==2.18.2
114 +jupyter_server_terminals==0.5.4
115 +jupyterlab==4.5.7
116 +jupyterlab_pygments==0.3.0
117 +jupyterlab_server==2.28.0
118 +jupyterlab_widgets==3.0.16
119 +kiwisolver==1.5.0
120 +langdetect==1.0.9
121 +lark==1.3.1
122 +libpysal==4.14.1
123 +librt==0.11.0
124 +lightgbm==4.6.0
125 +linearmodels==7.0
126 +llvmlite==0.47.0
127 +loguru==0.7.3
128 +lxml==6.1.0
129 +maketables==0.1.8
130 +Mako==1.3.12
131 +mapclassify==2.10.0
132 +markdown-it-py==4.2.0
133 +MarkupSafe==3.0.3
134 +matplotlib==3.10.9
135 +matplotlib-inline==0.2.2
136 +mdurl==0.1.2
137 +mgwr==2.2.1
138 +mistune==3.2.1
139 +mlx==0.32.2
140 +mlx-lm==0.31.3
141 +mlx-metal==0.32.2
142 +mpmath==1.3.0
143 +multidict==6.7.1
144 +multimark==0.2.0
145 +multiprocess==0.70.19
146 +multitasking==0.0.13
147 +mypy==2.1.0
148 +mypy_extensions==1.1.0
149 +narwhals==2.20.0
150 +nbclient==0.10.4
151 +nbconvert==7.17.1
152 +nbformat==5.10.4
153 +nest-asyncio==1.6.0
154 +networkx==3.6.1
155 +nokap==0.1.0
156 +notebook==7.5.6
157 +notebook_shim==0.2.4
158 +numba==0.65.1
159 +numpy==2.4.4
160 +openai==3.40.0
161 +opencv-python-headless==4.13.0.92
162 +openpyxl==3.1.5
163 +opentelemetry-api==1.45.1
164 +optuna==4.8.0
165 +packaging==26.1
166 +pandas==3.0.2
167 +pandocfilters==1.5.1
168 +parso==0.8.7
169 +pathspec==1.1.1
170 +patsy==1.0.2
171 +pdfminer.six==20260107
172 +pdfplumber==0.11.10
173 +peewee==4.0.6
174 +pexpect==4.9.0
175 +pillow==12.2.0
176 +platformdirs==4.9.6
177 +playwright==1.62.0
178 +plotly==6.7.0
179 +pluggy==1.6.0
180 +polars==1.40.1
181 +polars-runtime-32==1.40.1
182 +prometheus_client==0.25.0
183 +prompt_toolkit==3.0.52
184 +propcache==0.5.2
185 +protobuf==7.35.0
186 +psutil==7.2.2
187 +ptyprocess==0.7.0
188 +pure_eval==0.2.3
189 +pyalex==0.21
190 +pyarrow==24.0.0
191 +pycparser==3.0
192 +pydantic==2.13.4
193 +pydantic_core==2.46.4
194 +pydeck==0.9.2
195 +pyee==13.0.1
196 +pyfixest==0.60.0
197 +Pygments==2.20.0
198 +pyhdfe==0.2.0
199 +PyJWT==2.13.0
200 +PyMuPDF==1.27.2.3
201 +pyogrio==0.12.1
202 +pyparsing==3.3.2
203 +pypdf==6.14.2
204 +pypdfium2==5.14.0
205 +pyproj==3.7.2
206 +pytest==9.1.1
207 +pytest-asyncio==1.4.1
208 +python-dateutil==2.9.0.post0
209 +python-docx==1.2.0
210 +python-dotenv==1.2.2
211 +python-json-logger==4.1.0
212 +python-multipart==0.0.29
213 +pytz==2026.2
214 +PyYAML==6.0.3
215 +pyzmq==27.1.0
216 +quantecon==0.11.2
217 +referencing==0.37.0
218 +regex==2026.5.9
219 +reportlab==4.5.1
220 +requests==2.34.2
221 +rfc3339-validator==0.1.4
222 +rfc3986-validator==0.1.1
223 +rfc3987-syntax==1.1.0
224 +rich==15.0.0
225 +rpds-py==0.30.0
226 +safetensors==0.7.0
227 +scikit-learn==1.6.1
228 +scipy==1.17.1
229 +seaborn==0.13.2
230 +segno==1.6.6
231 +Send2Trash==2.1.0
232 +sentence-transformers==5.5.0
233 +sentencepiece==0.2.2
234 +setuptools==81.0.0
235 +shap==0.48.0
236 +shapely==2.1.2
237 +shellingham==1.5.4
238 +six==1.17.0
239 +slicer==0.0.8
240 +smmap==5.0.3
241 +sniffio==1.3.1
242 +sortedcontainers==2.4.0
243 +soupsieve==2.8.3
244 +sparse==0.18.0
245 +spglm==1.1.0
246 +splot==1.1.7
247 +spreg==1.9.0
248 +SQLAlchemy==2.0.49
249 +stack-data==0.6.3
250 +starlette==1.0.0
251 +statsmodels==0.14.6
252 +streamlit==1.57.0
253 +sympy==1.14.0
254 +tabulate==0.10.0
255 +tenacity==9.1.4
256 +terminado==0.18.1
257 +threadpoolctl==3.6.0
258 +tinycss2==1.4.0
259 +tokenizers==0.22.2
260 +toml==0.10.2
261 +torch==2.12.0
262 +torch-geometric==2.7.0
263 +torchvision==0.27.0
264 +tornado==6.5.5
265 +tqdm==4.67.3
266 +traitlets==5.15.0
267 +transformers==5.8.1
268 +truststore==0.10.5
269 +typer==0.25.1
270 +typing-inspection==0.4.2
271 +typing_extensions==4.15.0
272 +tzdata==2026.2
273 +uri-template==1.3.0
274 +urllib3==2.7.0
275 +uvicorn==0.47.0
276 +wcwidth==0.7.0
277 +webcolors==25.10.0
278 +webencodings==0.5.1
279 +websocket-client==1.9.0
280 +websockets==16.0
281 +Werkzeug==3.1.8
282 +wheel==0.46.3
283 +widgetsnbextension==4.0.15
284 +wrapt==2.2.0rc10
285 +xgboost==3.2.0
286 +xlrd==2.0.2
287 +xxhash==3.7.0
288 +xyzservices==2026.3.0
289 +yarl==1.24.2
290 +yfinance==1.3.0
291 +zipp==4.1.0
292 +zxing-cpp==3.0.0
added environment/pip-freeze-user.txt +48 −0
@@ -0,0 +1,48 @@
1 +aiohappyeyeballs==2.6.2
2 +aiohttp==3.13.5
3 +aiosignal==1.4.0
4 +alembic==1.18.4
5 +ast_serialize==0.5.0
6 +branca==0.8.2
7 +colorlog==6.10.1
8 +cryptography==50.0.0
9 +datasets==5.0.1
10 +dill==0.4.1
11 +DoubleML==0.11.3
12 +econml==0.16.0
13 +esda==2.8.2
14 +folium==0.20.0
15 +frozenlist==1.8.0
16 +geopandas==1.1.3
17 +giddy==2.3.8
18 +langdetect==1.0.9
19 +libpysal==4.14.1
20 +librt==0.11.0
21 +llvmlite==0.47.0
22 +Mako==1.3.12
23 +mapclassify==2.10.0
24 +mgwr==2.2.1
25 +multidict==6.7.1
26 +multiprocess==0.70.19
27 +mypy==2.1.0
28 +numba==0.65.1
29 +optuna==4.8.0
30 +pathspec==1.1.1
31 +propcache==0.5.2
32 +PyJWT==2.13.0
33 +pyogrio==0.12.1
34 +pypdf==6.14.2
35 +pyproj==3.7.2
36 +quantecon==0.11.2
37 +scikit-learn==1.6.1
38 +shap==0.48.0
39 +shapely==2.1.2
40 +sparse==0.18.0
41 +spglm==1.1.0
42 +splot==1.1.7
43 +spreg==1.9.0
44 +SQLAlchemy==2.0.49
45 +torch-geometric==2.7.0
46 +xxhash==3.7.0
47 +xyzservices==2026.3.0
48 +yarl==1.24.2
added environment/requirements-lock.txt +21 −0
@@ -0,0 +1,21 @@
1 +# Author: Simon-Pierre Boucher — contact@spboucher.ai
2 +# Pinned environment used for the Stage D revision run (2026-11-03), plain `python3`
3 +# (Homebrew Python 3.14.4 + user site-packages, which supplies scikit-learn 1.6.1 as pinned;
4 +# `python3 -I` would pick up Homebrew's scikit-learn 1.8.0 — do not use it).
5 +numpy==2.4.4
6 +pandas==3.0.2
7 +pyarrow==24.0.0
8 +scipy==1.17.1
9 +scikit-learn==1.6.1
10 +statsmodels==0.14.6
11 +matplotlib==3.10.9
12 +sentence-transformers==5.5.0
13 +torch==2.12.0
14 +# transitive pins (DATA-04)
15 +transformers==5.8.1
16 +tokenizers==0.22.2
17 +huggingface_hub==1.15.0
18 +# second language rater (N0.3), pure Python, installed with `pip install --user --break-system-packages langdetect==1.0.9`
19 +langdetect==1.0.9
20 +six==1.17.0
21 +pytest==9.1.1
modified figures/fig10_structural_coefficients.pdf +0 −0

Binary file not shown.

modified figures/fig11_residual_diagnostics.pdf +0 −0

Binary file not shown.

added figures/fig13_specification_curve.pdf +0 −0

Binary file not shown.

added figures/fig13_specification_curve.png +0 −0

Binary file not shown.

added figures/fig14_survival.pdf +0 −0

Binary file not shown.

added figures/fig14_survival.png +0 −0

Binary file not shown.

added figures/fig15_multiverse.pdf +0 −0

Binary file not shown.

added figures/fig15_multiverse.png +0 −0

Binary file not shown.

added figures/fig16_oos_increments.pdf +0 −0

Binary file not shown.

added figures/fig16_oos_increments.png +0 −0

Binary file not shown.

modified figures/fig1_model_comparison.pdf +0 −0

Binary file not shown.

modified figures/fig3_similarity_distributions.pdf +0 −0

Binary file not shown.

modified figures/fig4_quintile_heatmap.pdf +0 −0

Binary file not shown.

modified figures/fig5_correlation_matrix.pdf +0 −0

Binary file not shown.

modified figures/fig6_scatter_plots.pdf +0 −0

Binary file not shown.

modified figures/fig7_methodology.pdf +0 −0

Binary file not shown.

modified figures/fig8_r2_decomposition.pdf +0 −0

Binary file not shown.

modified paper/references.bib +23 −0
@@ -1002,3 +1002,26 @@
1002 1002 pages = {303--320},
1003 1003 doi = {10.1257/aeri.20190499}
1004 1004 }
1005 +
1006 +% --- Stage D (2026-11-03): data citation and model-card citations with pinned revisions (DATA-01, LITE-05) ---
1007 +@misc{realtor2026ddf,
1008 + author = {{Canadian Real Estate Association}},
1009 + title = {Realtor.ca listings, Data Distribution Facility records (single-family houses, Quebec)},
1010 + year = {2026},
1011 + howpublished = {Public listing pages, \url{https://www.realtor.ca}; extracted 7--11 January 2026 (listings syndicated from the Centris broker system); proprietary, not redistributed},
1012 + note = {Extract: 46,479 listings, 17,087 houses in the analysis sample; SHA-256 5dfba878151002cc\ldots}
1013 +}
1014 +@misc{minilm_l6_v2_card,
1015 + author = {Reimers, Nils and Gurevych, Iryna},
1016 + title = {all-{M}ini{LM}-{L}6-v2 (sentence-transformers model card)},
1017 + year = {2021},
1018 + howpublished = {Hugging Face Hub, \url{https://huggingface.co/sentence-transformers/all-MiniLM-L6-v2}},
1019 + note = {Revision 1110a243fdf4706b3f48f1d95db1a4f5529b4d41; maximum sequence length 256 word-pieces, mean pooling}
1020 +}
1021 +@misc{paraphrase_multilingual_minilm_card,
1022 + author = {Reimers, Nils and Gurevych, Iryna},
1023 + title = {paraphrase-multilingual-{M}ini{LM}-{L}12-v2 (sentence-transformers model card)},
1024 + year = {2020},
1025 + howpublished = {Hugging Face Hub, \url{https://huggingface.co/sentence-transformers/paraphrase-multilingual-MiniLM-L12-v2}},
1026 + note = {Revision e8f8c211226b894fcb81acc59f3b34ba3efd5f42; maximum sequence length 128 word-pieces, mean pooling}
1027 +}
added paper/tables/tab_dimension_validation.tex +27 −0
@@ -0,0 +1,27 @@
1 +% Author: Simon-Pierre Boucher — contact@spboucher.ai
2 +% Generated by scripts/18_tables_v2.py from results/v2 — do not edit by hand.
3 +\begin{table}[!htbp]
4 +\centering
5 +\caption{LLM-coded validation of five dimension scores (300 listings).}
6 +\label{tab:dimension_validation_llm}
7 +\footnotesize
8 +\begin{adjustbox}{max width=\textwidth}
9 +\begin{tabular}{lR{0.9cm}R{0.7cm}R{0.9cm}R{0.9cm}R{0.9cm}R{0.9cm}R{0.9cm}R{0.9cm}R{2.0cm}}
10 +\toprule
11 +& & & \multicolumn{2}{c}{\textbf{MiniLM-L6}} & \multicolumn{4}{c}{\textbf{Multilingual chunked}} & \textbf{log price} \\
12 +\cmidrule(lr){4-5} \cmidrule(lr){6-9}
13 +\textbf{Dimension} & \textbf{Prev.\ \%} & $\boldsymbol{\kappa}$ & \textbf{raw} & \textbf{centred} & \textbf{raw} & \textbf{centred} & \textbf{raw, fr} & \textbf{raw, en} & \textbf{on label} \\
14 +\midrule
15 +Luxury & 15 & 0.85 & 0.47 & 0.56 & 0.78 & 0.85 & 0.84 & 0.88 & 0.515 (0.111)*** \\
16 +Land \& Nature & 54 & 0.60 & 0.62 & 0.76 & 0.80 & 0.83 & 0.86 & 0.77 & 0.198 (0.077)* \\
17 +Family-Friendly & 24 & 0.64 & 0.65 & 0.75 & 0.79 & 0.86 & 0.78 & 0.81 & $-$0.024 (0.089) \\
18 +Quiet \& Peaceful & 44 & 0.96 & 0.54 & 0.65 & 0.74 & 0.79 & 0.74 & 0.76 & $-$0.087 (0.063) \\
19 +Needs Renovation & 7 & 0.95 & 0.51 & 0.61 & 0.66 & 0.77 & 0.81 & 0.61 & $-$0.140 (0.114) \\
20 +\bottomrule
21 +\end{tabular}
22 +\end{adjustbox}
23 +\begin{minipage}{\textwidth}
24 +\vspace{4pt}\footnotesize
25 +\textit{Notes:} 300 non-boilerplate listings (150 French, 150 English, seed 42, disjoint from the language sample) labelled 0/1 on the five dimensions by \textbf{two independent LLM passes (LLM-coded, not human-coded)}; $\kappa$ = Cohen's kappa between the passes; prevalence and AUCs on the consensus listings. AUC = area under the ROC curve of the listing's own similarity score against the consensus label (0.5 = no discrimination), for the raw and the centred (row-mean-removed) similarities of each encoder, and within each language for the chunked multilingual raw scores. The last column is the HC3 OLS coefficient of log asking price on the five consensus labels with bedrooms, bathrooms, description length and the English indicator as controls ($n = 191$ listings with consensus on all five). Source: \texttt{results/v2/dimension\_validation\_llm.csv}, \texttt{data/processed/dimension\_sample\_300.csv}. \signote
26 +\end{minipage}
27 +\end{table}
added paper/tables/tab_extended_specs_v2.tex +49 −0
@@ -0,0 +1,49 @@
1 +% Author: Simon-Pierre Boucher — contact@spboucher.ai
2 +% Generated by scripts/18_tables_v2.py from results/v2 — do not edit by hand.
3 +\begin{table}[!htbp]
4 +\centering
5 +\caption{Semantic associations with log asking price per 0.10 cosine, Stage D specifications (main sample, unscaled dummies).}
6 +\label{tab:extended_specs_v2}
7 +\scriptsize
8 +\begin{adjustbox}{max width=\textwidth}
9 +\begin{tabular}{lR{1.0cm}R{1.6cm}R{1.0cm}R{1.6cm}R{1.0cm}R{1.6cm}R{1.0cm}R{1.6cm}R{1.0cm}R{1.6cm}R{1.0cm}R{1.6cm}}
10 +\toprule
11 +\textbf{Dimension} & \multicolumn{2}{c}{D (MiniLM)} & \multicolumn{2}{c}{D-L + FE (MiniLM)} & \multicolumn{2}{c}{v2 design (MiniLM)} & \multicolumn{2}{c}{\textbf{v2 design (ML chunk)}} & \multicolumn{2}{c}{French only (ML)} & \multicolumn{2}{c}{English only (ML)} \\
12 + & \% & 95\% CI & \% & 95\% CI & \% & 95\% CI & \% & 95\% CI & \% & 95\% CI & \% & 95\% CI \\
13 +\midrule
14 +Luxury & 9.3** & (6.8, 11.8) & 6.8** & (4.2, 9.5) & 6.5** & (4.4, 8.8) & 10.9** & (8.2, 13.6) & 6.4* & (2.3, 10.8) & 3.2 & (-1.0, 7.5) \\
15 +Entry-Level & 6.3 & (3.2, 9.4) & 5.8** & (2.8, 8.9) & 3.0 & (0.3, 5.8) & $-$3.5 & (-6.1, -0.8) & $-$6.6* & (-10.5, -2.6) & $-$6.2 & (-10.6, -1.7) \\
16 +Renovated & 2.7 & (-0.5, 6.0) & 5.4** & (2.5, 8.4) & $-$0.8 & (-3.2, 1.7) & $-$0.8 & (-2.4, 0.9) & $-$6.4** & (-8.6, -4.1) & $-$3.4 & (-6.8, 0.2) \\
17 +Needs Renovation & $-$5.4 & (-7.7, -3.0) & $-$2.5 & (-4.8, -0.2) & $-$1.0 & (-3.3, 1.4) & $-$11.2** & (-13.9, -8.5) & $-$2.6 & (-6.5, 1.6) & $-$9.2 & (-14.8, -3.2) \\
18 +Bright \& Spacious & $-$6.0 & (-8.2, -3.8) & $-$3.0 & (-5.2, -0.6) & $-$4.4** & (-6.5, -2.3) & 2.2 & (0.2, 4.3) & 2.7 & (-0.3, 5.8) & 1.1 & (-1.8, 4.1) \\
19 +Land \& Nature & 11.0** & (8.8, 13.3) & 12.9** & (10.6, 15.4) & 3.9* & (1.8, 6.2) & 0.3 & (-2.5, 3.3) & 17.3** & (12.0, 22.7) & 16.9** & (10.9, 23.3) \\
20 +Panoramic View & 3.1 & (1.1, 5.1) & $-$2.7 & (-4.9, -0.5) & $-$1.4 & (-3.2, 0.6) & 5.1** & (3.1, 7.2) & 1.5 & (-1.4, 4.5) & $-$0.0 & (-3.2, 3.3) \\
21 +Premium Location & $-$4.4 & (-6.2, -2.5) & $-$9.2** & (-11.3, -7.1) & $-$5.8** & (-8.0, -3.6) & $-$0.9 & (-3.0, 1.2) & $-$1.9 & (-5.3, 1.7) & $-$4.4 & (-7.8, -0.9) \\
22 +Quiet \& Peaceful & $-$8.2** & (-10.5, -5.9) & $-$10.4** & (-12.8, -8.0) & $-$7.2** & (-9.5, -4.7) & $-$5.6** & (-7.4, -3.8) & $-$2.3 & (-4.9, 0.4) & $-$4.0 & (-6.8, -1.0) \\
23 +Income/Investment & $-$2.7 & (-5.2, -0.2) & 2.3 & (-0.1, 4.7) & $-$1.1 & (-3.1, 0.9) & 4.4* & (2.0, 6.8) & 5.2* & (1.9, 8.6) & 10.0** & (5.7, 14.5) \\
24 +Garage \& Parking & 1.7 & (0.2, 3.3) & 0.7 & (-0.7, 2.1) & 1.9* & (0.8, 3.1) & 6.1** & (4.8, 7.5) & 8.0** & (5.8, 10.2) & 4.8** & (2.8, 6.9) \\
25 +Finished Basement & $-$2.8 & (-4.7, -0.7) & $-$3.5** & (-5.3, -1.7) & 1.8 & (0.2, 3.4) & $-$7.9** & (-9.1, -6.7) & $-$6.2** & (-8.1, -4.3) & $-$5.6** & (-7.5, -3.7) \\
26 +Modern/Contemporary & 14.4** & (11.4, 17.5) & 8.3** & (5.7, 11.0) & 8.5** & (6.3, 10.7) & 2.1 & (-0.3, 4.6) & $-$3.4 & (-6.6, -0.0) & $-$0.8 & (-5.4, 3.9) \\
27 +Heritage/Character & 0.5 & (-1.5, 2.6) & $-$1.9 & (-3.7, -0.1) & $-$4.0** & (-5.8, -2.3) & $-$2.2 & (-4.0, -0.4) & 3.6 & (0.9, 6.3) & 8.1** & (5.0, 11.3) \\
28 +Energy Efficient & $-$5.9** & (-7.8, -4.0) & $-$3.9** & (-5.8, -1.9) & $-$2.8* & (-4.4, -1.2) & 0.9 & (-1.2, 3.2) & 4.5* & (2.1, 7.0) & 0.9 & (-2.4, 4.3) \\
29 +Motivated Seller & $-$5.7 & (-8.1, -3.2) & $-$2.6 & (-4.9, -0.2) & $-$0.9 & (-3.2, 1.3) & $-$0.0 & (-2.8, 2.8) & $-$1.3 & (-4.8, 2.3) & 3.4 & (-0.5, 7.4) \\
30 +Family-Friendly & $-$8.1** & (-9.7, -6.5) & $-$4.5** & (-6.2, -2.7) & $-$6.5** & (-8.2, -4.8) & $-$1.0 & (-3.3, 1.4) & $-$5.1* & (-8.1, -2.1) & $-$8.9** & (-12.5, -5.2) \\
31 +Waterfront & 3.4 & (1.7, 5.1) & 10.1** & (7.9, 12.4) & 7.0** & (4.7, 9.3) & 4.8** & (2.8, 6.8) & $-$0.6 & (-3.2, 2.0) & 2.0 & (-1.2, 5.3) \\
32 +New Construction & $-$8.7 & (-11.3, -6.1) & $-$6.7** & (-8.9, -4.5) & $-$0.9 & (-3.0, 1.3) & 8.0** & (5.5, 10.5) & 10.5** & (7.0, 14.1) & 6.8* & (2.7, 11.0) \\
33 +Pool \& Landscaping & 1.2 & (-0.8, 3.2) & 2.1 & (0.3, 3.9) & 7.0** & (5.1, 8.9) & $-$5.3* & (-8.0, -2.5) & $-$13.2** & (-16.7, -9.5) & $-$7.1 & (-11.3, -2.7) \\
34 +\midrule
35 +$n$ & 16{,}553 & 16{,}553 & 16{,}553 & 16{,}553 & 9{,}817 & 6{,}733 \\
36 +$R^2$ & 0.515 & 0.668 & 0.726 & 0.743 & 0.618 & 0.712 \\
37 +Within $R^2$ & --- & 0.460 & 0.554 & 0.582 & 0.440 & 0.536 \\
38 +$\Delta R^2$ (block) & 0.045 & 0.020 & 0.013 & 0.030 & 0.048 & 0.045 \\
39 +Block $F(20, G-1)$ & 50.9 & 30.7 & 26.5 & 48.2 & 43.0 & 34.9 \\
40 +Sig. (Holm) & 15 & 12 & 12 & 10 & 11 & 9 \\
41 +Sig. (Romano--Wolf) & 6 & 12 & 12 & 10 & 11 & 7 \\
42 +\bottomrule
43 +\end{tabular}
44 +\end{adjustbox}
45 +\begin{minipage}{\textwidth}
46 +\vspace{4pt}\footnotesize
47 +\textit{Notes:} Entries are $100\,(e^{0.10\,\hat\gamma_j/\mathrm{sd}_j} - 1)$: the conditional association of log asking price with a 0.10 increase in cosine similarity $j$, on one scale for every column (the French-only and English-only columns included); 95\% intervals use the cluster-robust $t(G-1)$ distribution. Stars follow the Romano--Wolf step-down $p$-values (FSA-cluster bootstrap, $B = 999$) for the 20 similarity coefficients. Sample $S_{\text{main}}$ = 17,087 listings minus 534 boilerplate records; dummies enter unscaled. ``v2 design'' = float storeys, six missing-value indicators, log lot area (m$^2$) with its indicator, description length, English indicator, 415 FSA fixed effects (414 on $S_{\text{main}}$), standard errors clustered by FSA (Conley 5/10/20 km standard errors differ by at most 11\%, Table~\ref{tab:spatial}). ``ML chunk'' = paraphrase-multilingual-MiniLM-L12-v2 with chunk-and-pool encoding of the full text (Table~\ref{tab:truncation}). The block $F$ statistic is referred to $F(20, G-1)$. \signote
48 +\end{minipage}
49 +\end{table}
added paper/tables/tab_language_contrasts.tex +36 −0
@@ -0,0 +1,36 @@
1 +% Author: Simon-Pierre Boucher — contact@spboucher.ai
2 +% Generated by scripts/18_tables_v2.py from results/v2 — do not edit by hand.
3 +\begin{table}[!htbp]
4 +\centering
5 +\caption{The English-listing contrast per unit, across specifications and encoders.}
6 +\label{tab:language_contrasts}
7 +\footnotesize
8 +\begin{adjustbox}{max width=\textwidth}
9 +\begin{tabular}{lR{1.0cm}R{2.0cm}R{1.0cm}R{2.0cm}R{1.6cm}}
10 +\toprule
11 +& \multicolumn{2}{c}{\textbf{MiniLM-L6}} & \multicolumn{2}{c}{\textbf{Multilingual chunked}} & \textbf{MiniLM, $S_{\text{v1.1}}$} \\
12 +\cmidrule(lr){2-3} \cmidrule(lr){4-5}
13 +\textbf{Specification} & \textbf{\%} & \textbf{95\% CI} & \textbf{\%} & \textbf{95\% CI} & \textbf{\%} \\
14 +\midrule
15 +D-L (HC3) & +44.3 & [36.4, 52.7] & +29.0 & [26.0, 32.0] & +43.9 \\
16 +D-L, FSA-clustered & +44.3 & [31.3, 58.7] & +29.0 & [21.0, 37.5] & +43.9 \\
17 +D-L + FSA FE & +19.9 & [11.9, 28.4] & +9.4 & [6.4, 12.5] & +19.4 \\
18 +D-L + municipality FE & +21.0 & [13.8, 28.7] & +8.2 & [5.5, 11.0] & +20.8 \\
19 +D-L + FSA FE + lot area & +15.0 & [8.7, 21.6] & +8.3 & [5.7, 10.9] & +14.6 \\
20 +D-L + FSA FE + floor area (subsample) & +12.7 & [3.1, 23.1] & +7.1 & [3.5, 10.8] & +11.9 \\
21 +v2 design: + missing indicators & +14.8 & [8.5, 21.4] & +8.4 & [5.8, 11.1] & +14.5 \\
22 +\midrule
23 +\multicolumn{6}{l}{\textit{First-version (v1.2) figures, z-scored dummy: per SD $\to$ per unit (same estimates, rescaled; MiniLM, $n = 17{,}087$)}} \\
24 +\quad D-L & \multicolumn{2}{l}{v1.2 text: +19.5\% per SD} & \multicolumn{2}{l}{per unit: +43.9\% [36.0, 52.2]} & \\
25 +\quad D-L + FSA FE & \multicolumn{2}{l}{v1.2 text: +9.1\% per SD} & \multicolumn{2}{l}{per unit: +19.4\% [11.7, 27.6]} & \\
26 +\quad D-L + FSA FE + lot area & \multicolumn{2}{l}{v1.2 text: +6.9\% per SD} & \multicolumn{2}{l}{per unit: +14.6\% [8.5, 21.1]} & \\
27 +\quad ML-D-L + FSA FE (128 tokens) & \multicolumn{2}{l}{v1.2 text: +4.3\% per SD} & \multicolumn{2}{l}{per unit: +9.0\% [6.0, 12.0]} & \\
28 +\quad ML-D-L + FSA FE + lot area & \multicolumn{2}{l}{v1.2 text: +3.7\% per SD} & \multicolumn{2}{l}{per unit: +7.7\% [5.2, 10.3]} & \\
29 +\bottomrule
30 +\end{tabular}
31 +\end{adjustbox}
32 +\begin{minipage}{\textwidth}
33 +\vspace{4pt}\footnotesize
34 +\textit{Notes:} English-vs-French contrast $100\,(e^{\hat\beta} - 1)$ with the indicator entered unscaled (per unit), 95\% intervals from the specification's covariance (HC3 or clustered by FSA, $t(G-1)$). The first version z-scored the indicator (share 0.397, SD 0.489) and quoted the per-SD coefficient; the lower panel rescales those stored estimates (\texttt{results/v2/stored\_language\_contrasts.csv}), which the re-estimation on $S_{\text{v1.1}}$ (last column) reproduces. Source: \texttt{results/v2/language\_contrasts\_v2.csv}.
35 +\end{minipage}
36 +\end{table}
added paper/tables/tab_language_validation.tex +34 −0
@@ -0,0 +1,34 @@
1 +% Author: Simon-Pierre Boucher — contact@spboucher.ai
2 +% Generated by scripts/18_tables_v2.py from results/v2 — do not edit by hand.
3 +\begin{table}[!htbp]
4 +\centering
5 +\caption{Validation of the language classifier: second rater and 300-listing LLM-coded sample.}
6 +\label{tab:language_validation}
7 +\footnotesize
8 +\begin{adjustbox}{max width=\textwidth}
9 +\begin{tabular}{p{8.2cm}R{1.8cm}R{1.8cm}p{3.2cm}}
10 +\toprule
11 +\textbf{Comparison} & & & \\
12 +\midrule
13 +\multicolumn{4}{l}{\textit{Panel A: stop-word rule vs langdetect 1.0.9, all 17,087 listings (rows: rule; columns: langdetect)}} \\
14 +& \textbf{fr} & \textbf{en} & \textbf{other} \\
15 +\quad fr & 9{,}843 & 0 & 0 \\
16 +\quad en & 0 & 6{,}779 & 0 \\
17 +\quad mixed & 11 & 3 & 451 \\
18 +\quad Agreement (all) / on non-boilerplate fr--en ($n$ = 16{,}550) & 97.3\% & 100.0\% & $\kappa$ = 1.000 \\
19 +\midrule
20 +\multicolumn{4}{l}{\textit{Panel B: 300-listing stratified sample (100 French, 100 English, 100 nearest the 1.5 decision boundary; seed 42), two independent LLM passes}} \\
21 +\quad LLM pass A vs pass B: agreement / $\kappa$ & 100.0\% & 1.000 & consensus $n$ = 300 \\
22 +\quad Stop-word rule vs LLM consensus: agreement / $\kappa$ / boundary stratum & 98.7\% & 0.971 & 96\% \\
23 +\quad langdetect vs LLM consensus: agreement / $\kappa$ / boundary stratum & 99.7\% & 0.993 & 99\% \\
24 +\midrule
25 +\multicolumn{4}{l}{\textit{Panel C: cleaned stop-word lists (content words and a/an removed)}} \\
26 +\quad Words: French 37 $\to$ 27; English 32 $\to$ 18 & agreement with v1.2 labels & 99.97\% & \\
27 +\bottomrule
28 +\end{tabular}
29 +\end{adjustbox}
30 +\begin{minipage}{\textwidth}
31 +\vspace{4pt}\footnotesize
32 +\textit{Notes:} The two LLM passes are independent prompts (English and French wording) given the texts only, without the rule's label; \textbf{they are LLM-coded, not human-coded}, and the human two-coder replication is left to the author. The 465 ``mixed'' listings of the rule are boilerplate records without a description (86.5\% of the 534 boilerplate records; 3 non-boilerplate listings are rule-``mixed'' and are French/English for langdetect and the LLM passes). On $S_{\text{main}}$ the rule and langdetect agree on every listing, so the D-L specifications re-estimated with langdetect labels are identical. Source: \texttt{results/v2/language\_validation.csv}, \texttt{data/processed/language\_sample\_300.csv}.
33 +\end{minipage}
34 +\end{table}
added paper/tables/tab_lmg.tex +44 −0
@@ -0,0 +1,44 @@
1 +% Author: Simon-Pierre Boucher — contact@spboucher.ai
2 +% Generated by scripts/18_tables_v2.py from results/v2 — do not edit by hand.
3 +\begin{table}[!htbp]
4 +\centering
5 +\caption{Order-free attribution of $R^2$: LMG shares of structure, length, language and the semantic block.}
6 +\label{tab:lmg}
7 +\footnotesize
8 +\begin{adjustbox}{max width=\textwidth}
9 +\begin{tabular}{lR{2.2cm}R{1.2cm}R{2.2cm}R{2.2cm}}
10 +\toprule
11 +\textbf{Block} & \textbf{LMG share of} $\boldsymbol{R^2}$ & \textbf{\%} & \textbf{First-entry gain} & \textbf{Last-entry gain} \\
12 +\midrule
13 +\multicolumn{5}{l}{\textit{D-L (v1.2 design, MiniLM-L6, n=17,087)} ($R^2 = 0.518$, total)} \\
14 +\quad Structure & 0.3751 & 72.5 & 0.4525 & 0.3192 \\
15 +\quad Description length & 0.0290 & 5.6 & 0.0433 & 0.0112 \\
16 +\quad Language indicator(s) & 0.0496 & 9.6 & 0.1086 & 0.0054 \\
17 +\quad 20 similarities & 0.0639 & 12.3 & 0.1254 & 0.0174 \\
18 +\quad Language + similarities & 0.1135 & 21.9 & --- & 0.0529 \\
19 +\multicolumn{5}{l}{\textit{D-L (v1.2 design, MiniLM-L6, S\_main)} ($R^2 = 0.520$, total)} \\
20 +\quad Structure & 0.3719 & 71.5 & 0.4530 & 0.3145 \\
21 +\quad Description length & 0.0340 & 6.5 & 0.0598 & 0.0114 \\
22 +\quad Language indicator(s) & 0.0490 & 9.4 & 0.1116 & 0.0055 \\
23 +\quad 20 similarities & 0.0655 & 12.6 & 0.1324 & 0.0176 \\
24 +\quad Language + similarities & 0.1145 & 22.0 & --- & 0.0504 \\
25 +\multicolumn{5}{l}{\textit{D-L + FSA FE (MiniLM-L6, S\_main)} ($R^2 = 0.460$, within)} \\
26 +\quad Structure & 0.3591 & 78.1 & 0.4029 & 0.3219 \\
27 +\quad Description length & 0.0310 & 6.7 & 0.0528 & 0.0115 \\
28 +\quad Language indicator(s) & 0.0128 & 2.8 & 0.0257 & 0.0019 \\
29 +\quad 20 similarities & 0.0569 & 12.4 & 0.0847 & 0.0327 \\
30 +\quad Language + similarities & 0.0697 & 15.2 & --- & 0.0399 \\
31 +\multicolumn{5}{l}{\textit{Preferred: D-L + FSA FE + lot + miss (ml\_chunk, S\_main)} ($R^2 = 0.582$, within)} \\
32 +\quad Structure & 0.4226 & 72.7 & 0.5168 & 0.3374 \\
33 +\quad Description length & 0.0276 & 4.8 & 0.0528 & 0.0080 \\
34 +\quad Language indicator(s) & 0.0138 & 2.4 & 0.0257 & 0.0021 \\
35 +\quad 20 similarities & 0.1174 & 20.2 & 0.1906 & 0.0490 \\
36 +\quad Language + similarities & 0.1313 & 22.6 & --- & 0.0530 \\
37 +\bottomrule
38 +\end{tabular}
39 +\end{adjustbox}
40 +\begin{minipage}{\textwidth}
41 +\vspace{4pt}\footnotesize
42 +\textit{Notes:} Shapley (LMG) decomposition of $R^2$ over the four regressor blocks, averaged over all orders of entry (16 fits); the shares sum to the full $R^2$ (within-$R^2$ for fixed-effects specifications). ``First-entry gain'' is the $R^2$ of the block alone, ``last-entry gain'' its increment when entered after the other three (the ordering-dependent quantities quoted in the first version). Source: \texttt{results/v2/lmg\_v2.csv}.
43 +\end{minipage}
44 +\end{table}
added paper/tables/tab_model_comparison_v2.tex +34 −0
@@ -0,0 +1,34 @@
1 +% Author: Simon-Pierre Boucher — contact@spboucher.ai
2 +% Generated by scripts/18_tables_v2.py from results/v2 — do not edit by hand.
3 +\begin{table}[!htbp]
4 +\centering
5 +\caption{Models A--E under the first-version and the corrected (v2) structural design.}
6 +\label{tab:model_comparison_v2}
7 +\footnotesize
8 +\begin{adjustbox}{max width=\textwidth}
9 +\begin{tabular}{lR{1.1cm}R{1.3cm}R{1.4cm}R{1.1cm}R{1.3cm}R{1.4cm}}
10 +\toprule
11 +& \multicolumn{3}{c}{\textbf{v1.2 design (raw fields)}} & \multicolumn{3}{c}{\textbf{v2 design}} \\
12 +\cmidrule(lr){2-4} \cmidrule(lr){5-7}
13 +\textbf{Model} & $\boldsymbol{R^2}$ & \textbf{Adj.} $\boldsymbol{R^2}$ & $\boldsymbol{\Delta R^2}$ \textbf{vs A} & $\boldsymbol{R^2}$ & \textbf{Adj.} $\boldsymbol{R^2}$ & $\boldsymbol{\Delta R^2}$ \textbf{vs A} \\
14 +\midrule
15 +\multicolumn{7}{l}{\textit{$n = 17{,}087$}} \\
16 +\quad A: structural only & 0.4525 & 0.4523 & --- & 0.4749 & 0.4746 & --- \\
17 +\quad B: + description length & 0.4647 & 0.4645 & 0.012 & 0.4840 & 0.4836 & 0.009 \\
18 +\quad C: A + 20 similarities & 0.4962 & 0.4954 & 0.044 & 0.5128 & 0.5119 & 0.038 \\
19 +\quad D: B + 20 similarities & 0.5122 & 0.5115 & 0.060 & 0.5264 & 0.5255 & 0.051 \\
20 +\quad E: post-selection (descriptive) & 0.5118 & 0.5111 & 0.059 & 0.5263 & 0.5256 & 0.051 \\
21 +\multicolumn{7}{l}{\textit{$S_{\text{main}}$, $n = 16{,}553$}} \\
22 +\quad A: structural only & 0.4530 & 0.4528 & --- & 0.4753 & 0.4750 & --- \\
23 +\quad B: + description length & 0.4699 & 0.4697 & 0.017 & 0.4887 & 0.4883 & 0.013 \\
24 +\quad C: A + 20 similarities & 0.5002 & 0.4994 & 0.047 & 0.5162 & 0.5153 & 0.041 \\
25 +\quad D: B + 20 similarities & 0.5148 & 0.5140 & 0.062 & 0.5290 & 0.5281 & 0.054 \\
26 +\quad E: post-selection (descriptive) & 0.5146 & 0.5139 & 0.062 & 0.5289 & 0.5282 & 0.054 \\
27 +\bottomrule
28 +\end{tabular}
29 +\end{adjustbox}
30 +\begin{minipage}{\textwidth}
31 +\vspace{4pt}\footnotesize
32 +\textit{Notes:} v1.2 design: integer-parsed counts (storeys 1.5 and missing values coded 0), raw lot-size field with mixed units (maximum $z = 130$, leverage reported in \texttt{results/v2/leverage\_model\_d.csv}). v2 design: float counts with six missing-value indicators and the unit-corrected log lot area with its indicator. MiniLM-L6 similarities, HC3 standard errors. Between the two designs the Model D coefficients move by at most 5.3 HC3 standard errors (Parking; \texttt{results/v2/model\_d\_design\_change.csv}). Model E is a post-selection specification and is reported for description only.
33 +\end{minipage}
34 +\end{table}
added paper/tables/tab_multiverse.tex +35 −0
@@ -0,0 +1,35 @@
1 +% Author: Simon-Pierre Boucher — contact@spboucher.ai
2 +% Generated by scripts/18_tables_v2.py from results/v2 — do not edit by hand.
3 +\begin{table}[!htbp]
4 +\centering
5 +\caption{Phrasing multiverse: block-level stability and dimension-level survival over 200 random reference phrasings.}
6 +\label{tab:multiverse}
7 +\footnotesize
8 +\begin{adjustbox}{max width=\textwidth}
9 +\begin{tabular}{lR{1.0cm}R{0.9cm}R{2.4cm}R{1.0cm}R{0.8cm}R{0.9cm}R{1.6cm}}
10 +\toprule
11 +\textbf{Specification} & \multicolumn{3}{c}{$\boldsymbol{\Delta R^2}$ \textbf{(block)}} & \textbf{min} $\boldsymbol{F}$ & \multicolumn{2}{c}{\textbf{Sig. (mean)}} & \textbf{Dims} $\boldsymbol{\ge 90 / 70\%}$ \\
12 +\cmidrule(lr){2-4} \cmidrule(lr){6-7}
13 + & \textbf{mean} & \textbf{SD} & \textbf{range} & & \textbf{raw} & \textbf{Holm} & \\
14 +\midrule
15 +\multicolumn{8}{l}{\textit{MiniLM-L6}} \\
16 +\quad D (v1.2 design, HC3) & 0.0449 & 0.0033 & [0.0363, 0.0555] & 45.8 & 14.0 & 11.8 & 0 / 5 \\
17 +\quad D-L + FSA FE (clustered) & 0.0182 & 0.0027 & [0.0110, 0.0248] & 19.3 & 13.3 & 10.8 & 2 / 2 \\
18 +\quad v2 design: D-L + FSA FE + lot + missing ind. & 0.0119 & 0.0016 & [0.0078, 0.0167] & 15.2 & 13.3 & 10.8 & 2 / 4 \\
19 +\multicolumn{8}{l}{\textit{Multilingual chunked}} \\
20 +\quad D (v1.2 design, HC3) & 0.0545 & 0.0044 & [0.0455, 0.0663] & 49.7 & 15.9 & 14.7 & 3 / 6 \\
21 +\quad D-L + FSA FE (clustered) & 0.0397 & 0.0022 & [0.0335, 0.0457] & 48.7 & 14.6 & 12.7 & 1 / 5 \\
22 +\quad v2 design: D-L + FSA FE + lot + missing ind. & 0.0279 & 0.0017 & [0.0236, 0.0336] & 28.9 & 14.2 & 12.0 & 4 / 6 \\
23 +\midrule
24 +\multicolumn{8}{l}{\textit{First-version deterministic variants (MiniLM-L6, Model D, $n = 17{,}087$; reproduced at $10^{-6}$)}} \\
25 +\quad first half & 0.0538 & --- & --- & 63.5 & 15 & --- & --- \\
26 +\quad second half & 0.0432 & --- & --- & 52.6 & 11 & --- & --- \\
27 +\quad reversed & 0.0419 & --- & --- & 51.6 & 11 & --- & --- \\
28 +\bottomrule
29 +\end{tabular}
30 +\end{adjustbox}
31 +\begin{minipage}{\textwidth}
32 +\vspace{4pt}\footnotesize
33 +\textit{Notes:} 200 random draws; in each draw every reference is rebuilt from a random 60--80\% subset of its comma-separated phrases in random order and re-encoded, the similarities are recomputed from the cached listing embeddings and the specification re-estimated on $S_{\text{main}}$. $\Delta R^2$ is the gain of the 20 similarities; ``min $F$'' the smallest block statistic over the draws (every draw has $p < 0.001$); ``Sig.'' the mean number of individually significant dimensions; the last column counts dimensions whose Holm-significant same-sign share over the draws reaches 90\% / 70\%. The block-level fit is stable (SD of $\Delta R^2 < 0.005$ everywhere); the dimension-level coefficients are not. Source: \texttt{results/v2/multiverse\_summary.csv}, \texttt{multiverse\_blocks.csv}.
34 +\end{minipage}
35 +\end{table}
added paper/tables/tab_oos_v2.tex +42 −0
@@ -0,0 +1,42 @@
1 +% Author: Simon-Pierre Boucher — contact@spboucher.ai
2 +% Generated by scripts/18_tables_v2.py from results/v2 — do not edit by hand.
3 +\begin{table}[!htbp]
4 +\centering
5 +\caption{Out-of-sample performance of the Stage D specifications under random, FSA-grouped, region-blocked and distance-blocked cross-validation.}
6 +\label{tab:oos_v2}
7 +\scriptsize
8 +\begin{adjustbox}{max width=\textwidth}
9 +\begin{tabular}{lR{1.0cm}R{1.1cm}R{1.0cm}R{1.1cm}R{1.0cm}R{1.1cm}R{1.0cm}R{1.1cm}}
10 +\toprule
11 +\textbf{Specification} & \multicolumn{2}{c}{\textbf{Random 5-fold ($\times 20$)}} & \multicolumn{2}{c}{\textbf{FSA-grouped ($\times 20$)}} & \multicolumn{2}{c}{\textbf{Leave-one-region-out (17)}} & \multicolumn{2}{c}{\textbf{10 distance blocks, 10 km buffer}} \\
12 +\cmidrule(lr){2-3} \cmidrule(lr){4-5} \cmidrule(lr){6-7} \cmidrule(lr){8-9}
13 + & $R^2_{\text{oos}}$ & SD & $R^2_{\text{oos}}$ & SD & $R^2_{\text{oos}}$ & SD & $R^2_{\text{oos}}$ & SD \\
14 +\midrule
15 +B-L (v2 design, no text) & 0.520 & 0.000 & 0.514 & 0.003 & 0.480 & (0.651) & 0.396 & (0.332) \\
16 +D-L, MiniLM-L6 & 0.532 & 0.001 & 0.523 & 0.003 & 0.483 & (0.627) & 0.384 & (0.335) \\
17 +D-L, ML chunked & 0.553 & 0.001 & 0.545 & 0.003 & 0.507 & (0.650) & 0.405 & (0.308) \\
18 +PCA-20 + L & 0.544 & 0.000 & 0.534 & 0.003 & 0.491 & (0.582) & 0.387 & (0.305) \\
19 +B-L + FSA FE (training-fold FE) & 0.698 & 0.001 & 0.592 & 0.008 & 0.408 & (0.394) & 0.137 & (0.391) \\
20 +D-L + FSA FE, MiniLM-L6 & 0.711 & 0.001 & 0.601 & 0.008 & 0.413 & (0.411) & 0.093 & (0.485) \\
21 +\textbf{D-L + FSA FE, ML chunked (preferred)} & 0.728 & 0.001 & 0.618 & 0.008 & 0.423 & (0.437) & 0.096 & (0.491) \\
22 +PCA-20 + L + FSA FE & 0.722 & 0.001 & 0.612 & 0.009 & 0.399 & (0.425) & 0.133 & (0.426) \\
23 +\midrule
24 +\multicolumn{9}{l}{\textit{Increment of the semantic block, $\Delta R^2_{\text{oos}}$ (mean $\pm$ SD over repetitions; Clark--West $p$, first repetition)}} \\
25 +\quad B-L $\to$ D-L, MiniLM-L6 & 0.011$\pm$0.000 & $p$=0.000 & 0.009$\pm$0.001 & $p$=0.000 & 0.003 & $p$=0.000 & $-$0.012 & $p$=0.141 \\
26 +\quad B-L $\to$ D-L, ML chunked & 0.033$\pm$0.000 & $p$=0.000 & 0.031$\pm$0.001 & $p$=0.000 & 0.027 & $p$=0.000 & 0.009 & $p$=0.000 \\
27 +\quad B-L + FE $\to$ D-L + FE, MiniLM-L6 & 0.013$\pm$0.000 & $p$=0.000 & 0.009$\pm$0.002 & $p$=0.000 & 0.005 & $p$=0.000 & $-$0.044 & $p$=0.932 \\
28 +\quad \textbf{B-L + FE $\to$ D-L + FE, ML chunked} & 0.030$\pm$0.000 & $p$=0.000 & 0.026$\pm$0.002 & $p$=0.000 & 0.015 & $p$=0.000 & $-$0.041 & $p$=0.308 \\
29 +\quad B-L + FE $\to$ PCA-20 + L + FE & 0.024$\pm$0.000 & $p$=0.000 & 0.020$\pm$0.003 & $p$=0.000 & $-$0.008 & $p$=0.004 & $-$0.004 & $p$=0.004 \\
30 +\midrule
31 +\multicolumn{9}{l}{\textit{Non-nested comparisons (Diebold--Mariano on squared errors, FSA-cluster-robust; first repetition)}} \\
32 +\quad PCA-20 + L + FE vs D-L + FE (ML chunked) & 3.00 & $p$=0.003 & 2.76 & $p$=0.006 & 2.41 & $p$=0.016 & -2.52 & $p$=0.012 \\
33 +\quad D-L + FE: MiniLM-L6 vs ML chunked & 9.27 & $p$=0.000 & 4.65 & $p$=0.000 & 1.34 & $p$=0.181 & 0.19 & $p$=0.851 \\
34 +\quad D-L + FE: ML chunked vs price-masked & -2.95 & $p$=0.003 & -3.50 & $p$=0.001 & -2.40 & $p$=0.017 & -3.54 & $p$=0.000 \\
35 +\bottomrule
36 +\end{tabular}
37 +\end{adjustbox}
38 +\begin{minipage}{\textwidth}
39 +\vspace{4pt}\footnotesize
40 +\textit{Notes:} Sample $S_{\text{main}}$; pooled out-of-fold $R^2$ (log scale). Random and FSA-grouped folds are repeated 20 times (seeds 42--61; SD over repetitions); the leave-one-region-out and distance-blocked schemes are deterministic (SD over folds in parentheses). Fixed effects are estimated on the training fold; a held-out listing in an FSA unseen in training receives the municipality mean, then the region mean, then the grand mean (every FSA is unseen under the region and distance schemes). Distance blocks are $k$-means clusters of the projected coordinates ($k = 10$); training listings within 10 km of a test listing are removed. Clark--West tests the nested small model against the large one (one-sided); Diebold--Mariano is two-sided (positive statistic favours the second model). Bootstrap intervals of the increments and the model confidence set are in \texttt{results/v2/oos\_v2\_bootstrap.csv} and \texttt{oos\_v2\_mcs.csv}; the v1.2 rows of Table~\ref{tab:oos} are reproduced at $10^{-6}$ by the same engine with \texttt{--legacy}.
41 +\end{minipage}
42 +\end{table}
added paper/tables/tab_reference_geometry.tex +44 −0
@@ -0,0 +1,44 @@
1 +% Author: Simon-Pierre Boucher — contact@spboucher.ai
2 +% Generated by scripts/18_tables_v2.py from results/v2 — do not edit by hand.
3 +\begin{table}[!htbp]
4 +\centering
5 +\caption{Geometry of the 20 reference embeddings.}
6 +\label{tab:reference_geometry}
7 +\scriptsize
8 +\begin{adjustbox}{max width=\textwidth}
9 +\begin{tabular}{lR{1.0cm}R{1.0cm}lR{1.0cm}R{1.0cm}l}
10 +\toprule
11 +& \multicolumn{3}{c}{\textbf{MiniLM-L6}} & \multicolumn{3}{c}{\textbf{Multilingual MiniLM-L12}} \\
12 +\cmidrule(lr){2-4} \cmidrule(lr){5-7}
13 +\textbf{Dimension} & $\boldsymbol{\|r_{j\perp}\|}$ & \textbf{max cos} & \textbf{nearest reference} & $\boldsymbol{\|r_{j\perp}\|}$ & \textbf{max cos} & \textbf{nearest reference} \\
14 +\midrule
15 +Luxury & 0.669 & 0.60 & Renovated & 0.573 & 0.61 & Pool \& Landscaping \\
16 +Entry-Level & 0.608 & 0.69 & Motivated Seller & 0.638 & 0.63 & Income/Investment \\
17 +Renovated & 0.562 & 0.65 & Needs Renovation & 0.640 & 0.60 & New Construction \\
18 +Needs Renovation & 0.690 & 0.65 & Renovated & 0.599 & 0.62 & Motivated Seller \\
19 +Bright \& Spacious & 0.624 & 0.61 & Renovated & 0.569 & 0.59 & Luxury \\
20 +Land \& Nature & 0.595 & 0.70 & Quiet \& Peaceful & 0.404 & 0.82 & Pool \& Landscaping \\
21 +Panoramic View & 0.738 & 0.57 & Bright \& Spacious & 0.665 & 0.61 & Land \& Nature \\
22 +Premium Location & 0.723 & 0.53 & Entry-Level & 0.592 & 0.66 & Family-Friendly \\
23 +Quiet \& Peaceful & 0.567 & 0.70 & Land \& Nature & 0.593 & 0.66 & Family-Friendly \\
24 +Income/Investment & 0.669 & 0.59 & Entry-Level & 0.704 & 0.63 & Entry-Level \\
25 +Garage \& Parking & 0.784 & 0.52 & Income/Investment & 0.791 & 0.51 & Finished Basement \\
26 +Finished Basement & 0.719 & 0.57 & Luxury & 0.659 & 0.55 & Family-Friendly \\
27 +Modern/Contemporary & 0.602 & 0.73 & New Construction & 0.587 & 0.61 & New Construction \\
28 +Heritage/Character & 0.658 & 0.61 & Quiet \& Peaceful & 0.634 & 0.60 & Luxury \\
29 +Energy Efficient & 0.724 & 0.54 & Renovated & 0.748 & 0.51 & Modern/Contemporary \\
30 +Motivated Seller & 0.638 & 0.69 & Entry-Level & 0.640 & 0.62 & Needs Renovation \\
31 +Family-Friendly & 0.708 & 0.53 & Pool \& Landscaping & 0.541 & 0.66 & Premium Location \\
32 +Waterfront & 0.710 & 0.54 & Land \& Nature & 0.640 & 0.70 & Land \& Nature \\
33 +New Construction & 0.586 & 0.73 & Modern/Contemporary & 0.636 & 0.61 & Modern/Contemporary \\
34 +Pool \& Landscaping & 0.624 & 0.61 & Quiet \& Peaceful & 0.449 & 0.82 & Land \& Nature \\
35 +\midrule
36 +Gram matrix: mean / max off-diagonal cosine; condition number & 0.47 / 0.73 & \multicolumn{2}{l}{cond.\ 52} & 0.37 / 0.82 & \multicolumn{2}{l}{cond.\ 87} \\
37 +\bottomrule
38 +\end{tabular}
39 +\end{adjustbox}
40 +\begin{minipage}{\textwidth}
41 +\vspace{4pt}\footnotesize
42 +\textit{Notes:} $\|r_{j\perp}\|$ is the norm of the part of reference embedding $j$ (unit length) that is orthogonal to the span of the other 19 references: the direction actually priced by $\gamma_j$ in a linear model. ``max cos'' is the largest cosine of reference $j$ with another reference. The fitted values of Models C/D depend only on the span of the reference matrix $R$: replacing $R$ by $MR$ for any invertible $M$ leaves $R^2$ unchanged (numerical check: $|\Delta R^2| = 1e-16$, max $|\tilde\gamma - (M')^{-1}\gamma| = 5e-10$, seed 42, \texttt{results/v2/span\_invariance\_check.json}). Source: \texttt{results/v2/reference\_residual\_norms.csv}, \texttt{reference\_gram\_*.csv}.
43 +\end{minipage}
44 +\end{table}
added paper/tables/tab_sample_audit.tex +41 −0
Large diff (41 lines) is not loaded by default to keep the page fast.Load diff
added paper/tables/tab_spatial.tex +33 −0
Large diff (33 lines) is not loaded by default to keep the page fast.Load diff
added paper/tables/tab_spec_summary_v2.tex +33 −0
Large diff (33 lines) is not loaded by default to keep the page fast.Load diff
added paper/tables/tab_survival.tex +42 −0
Large diff (42 lines) is not loaded by default to keep the page fast.Load diff
modified paper/tables/tab_text_comparison.tex +24 −12
Large diff (47 lines) is not loaded by default to keep the page fast.Load diff
added paper/tables/tab_truncation.tex +32 −0
Large diff (32 lines) is not loaded by default to keep the page fast.Load diff
added results/inline_numbers.json +3234 −0
Large diff (3,235 lines) is not loaded by default to keep the page fast.Load diff
added results/v2/block_tests_v2.csv +36 −0
Large diff (36 lines) is not loaded by default to keep the page fast.Load diff
added results/v2/conley_v2.csv +39 −0
Large diff (39 lines) is not loaded by default to keep the page fast.Load diff
added results/v2/language_contrasts_v2.csv +806 −0
Large diff (806 lines) is not loaded by default to keep the page fast.Load diff
added results/v2/legacy_oos_reproduction.csv +21 −0
Large diff (21 lines) is not loaded by default to keep the page fast.Load diff
added results/v2/legacy_reproduction.csv +15 −0
Large diff (15 lines) is not loaded by default to keep the page fast.Load diff
added results/v2/leverage_model_d.csv +12 −0
Large diff (12 lines) is not loaded by default to keep the page fast.Load diff
added results/v2/lmg_v2.csv +21 −0
Large diff (21 lines) is not loaded by default to keep the page fast.Load diff
added results/v2/model_d_design_change.csv +27 −0
Large diff (27 lines) is not loaded by default to keep the page fast.Load diff
added results/v2/models_ae_v2.csv +21 −0
Large diff (21 lines) is not loaded by default to keep the page fast.Load diff
added results/v2/multiverse_blocks.csv +3601 −0
Large diff (3,601 lines) is not loaded by default to keep the page fast.Load diff
added results/v2/multiverse_draws.csv +10413 −0
Large diff (10,413 lines) is not loaded by default to keep the page fast.Load diff

Diff truncated — file too large.

Menu

Theme