révision scientifique complète (editorial board, 2026-10-17)
v1.0 -> v1.1 : toutes les tables et figures régénérées depuis le seul log conservé (scripts/06_tables_figures_from_log.py) ; tables v1.0 non traçables retirées ; estimateur 2SQR décrit correctement (fitted-value, 1re étape MCO) ; décomposition des effets, Moran 2SQR, omnibus et WTP corrigés ; bibliographie inline (103) -> references.bib (125 entrées vérifiées, DOI) ; sections réécrites ; annexe d'audit ; README + docs/REVIEW-REPORT.md + docs/CHANGELOG-REVISION.md. Papier non prêt pour SSRN avant ré-exécution du pipeline sur le snapshot Centris. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
59 changed files +6,496 −1,147
modified
.gitignore
+3 −0
@@ -36,3 +36,6 @@ logs/ | ||
| 36 | 36 | |
| 37 | 37 | # Project-specific: Centris listings snapshot (JSON, ~18k–42k listings) |
| 38 | 38 | *.json |
| 39 | + | |
| 40 | +# Parsed log (results/) is small and must be versioned | |
| 41 | +!results/log_parsed.json | |
modified
README.md
+111 −75
@@ -3,20 +3,22 @@ | ||
| 3 | 3 | |
| 4 | 4 | **UQO Working Paper No. 1** — *A Spatial Quantile Regression Approach* |
| 5 | 5 | |
| 6 | −[-b31b1b?logo=latex&logoColor=white)](paper/main.pdf) | |
| 6 | +[-b31b1b?logo=latex&logoColor=white)](paper/main.pdf) | |
| 7 | 7 | [](requirements.txt) |
| 8 | 8 | [](data/raw/README.md) |
| 9 | −[](scripts/) | |
| 9 | +[](scripts/) | |
| 10 | 10 | [](https://uqo.ca) |
| 11 | 11 | [](mailto:simon-pierre.boucher@uqo.ca) |
| 12 | 12 | |
| 13 | −> **TL;DR** — Do neighbourhood amenities capitalize into house prices the same way at the bottom and at the top of the | |
| 14 | −> price distribution? Using 42,481 Centris listings in four segments (houses, condos, plexes, land), we estimate quantile | |
| 15 | −> regressions at τ ∈ {.10, .25, .50, .75, .90} augmented with an instrumented spatial lag (two-stage spatial quantile | |
| 16 | −> regression, 2SQR). Coefficient homogeneity across quantiles is rejected (omnibus χ²(7) = 35.7, p < 0.001 for houses): | |
| 17 | −> park proximity is worth +8.7% at the 10th percentile and nothing at the 90th; hospital proximity is a −8.2% discount at | |
| 18 | −> the bottom and vanishes at the top. The spatial lag ρ is positive and significant in every segment (Moran's I on OLS | |
| 19 | −> residuals 0.44–0.55). First multi-segment spatial quantile analysis of amenity capitalization for Quebec. | |
| 13 | +> **TL;DR** — Do neighbourhood amenities capitalise into asking prices the same way at the bottom and at the top of the | |
| 14 | +> conditional price distribution? Using a January 2026 snapshot of 42,481 Centris listings (estimation samples: 6,250 | |
| 15 | +> houses, 1,031 condominiums, 3,755 plexes, 9,239 parcels), we estimate quantile regressions at τ ∈ {.10, .25, .50, .75, .90} | |
| 16 | +> and a two-stage spatial quantile regression (2SQR) with a k-nearest-neighbour spatial lag instrumented by lagged covariates. | |
| 17 | +> For houses, the highway, transit and park coefficients fall monotonically from τ = .10 to τ = .90 (0.205 → 0.034; | |
| 18 | +> 0.178 → 0.053; 0.122 → 0.014) and the hospital coefficient changes sign (−0.085 → +0.041); tail equality is rejected | |
| 19 | +> for all four, while the school discount (≈ −0.11) is constant. Moran's I on OLS residuals is 0.51–0.58; the median spatial | |
| 20 | +> lag is 0.13–0.32 and attenuates the house highway/transit/school differentials by a third to a half. Asking prices, | |
| 21 | +> binary broker-reported amenities, paired bootstrap: capitalisation gradients, not willingness to pay. | |
| 20 | 22 | |
| 21 | 23 | --- |
| 22 | 24 | |
@@ -24,110 +26,127 @@ | ||
| 24 | 26 | |
| 25 | 27 | | Item | Value | |
| 26 | 28 | |---|---| |
| 27 | −| Version | 1.0 (May 2026) | | |
| 28 | −| SSRN | not yet submitted | | |
| 29 | −| Journal | — | | |
| 30 | −| Code & data | reproducible from `scripts/`; the Centris snapshot is not redistributed (see `data/raw/README.md`) | | |
| 29 | +| Version | 1.1 (October 2026) — revised 2026-10-17 by the editorial-board review (see `docs/REVIEW-REPORT.md`, `docs/CHANGELOG-REVISION.md`) | | |
| 30 | +| SSRN | not yet submitted — **not ready for SSRN until the pipeline is re-run** (see Notes) | | |
| 31 | +| Journal | — (candidate outlets after re-estimation: *Journal of Housing Economics*, *Journal of Real Estate Research*, *Papers in Regional Science*) | | |
| 32 | +| Code & data | tables and figures reproducible from the preserved log (`scripts/06_…`); the estimation itself requires the Centris snapshot, which is not redistributed and is not on the revision machine | | |
| 31 | 33 | |
| 32 | 34 | ## 🎯 What this paper does |
| 33 | 35 | |
| 34 | −Standard hedonic models estimated by OLS impose a single implicit price for every attribute, whatever the price segment. | |
| 35 | −This paper asks whether the capitalization of neighbourhood amenities (hospitals, parks, transit, schools, shopping) varies | |
| 36 | −along the conditional price distribution of Quebec residential listings, and whether that heterogeneity survives once | |
| 37 | −spatial dependence is taken into account. | |
| 36 | +Conditional-mean hedonic regressions impose one implicit price per attribute. This paper asks whether the capitalisation | |
| 37 | +of six broker-reported amenities (highway, hospital, park, school, transit, golf course) into Quebec residential asking | |
| 38 | +prices varies along the conditional price distribution, separately for four product types, and whether it survives an | |
| 39 | +adjustment for spatial dependence. | |
| 38 | 40 | |
| 39 | 41 | ``` |
| 40 | −Q_τ(ln P_i | X_i, W ln P) = α(τ) + ρ(τ) · [W ln P]_i + X_i'β(τ) τ ∈ {.10, .25, .50, .75, .90} | |
| 42 | +Q_τ(ln P_i | Z_i) = Z_i'θ(τ) (quantile regression) | |
| 43 | +Q_τ(ln P_i | Z_i, [W ln P]_i) = Z_i'θ(τ) + ρ(τ) · [W ln P]_i (spatial quantile model) | |
| 44 | +W ln P = Π0 + Z Π1 + WZ Π2 + v → second stage on the fitted lag (2SQR, least-squares first stage) | |
| 41 | 45 | ``` |
| 42 | 46 | |
| 43 | −The spatial lag `W ln P` is instrumented by spatially lagged covariates (Kim & Muller, 2004), standard errors are | |
| 44 | −bootstrapped (200 replications), inter-quantile Wald tests probe β(τ_low) = β(τ_high), and Moran's I on residuals | |
| 45 | −diagnoses remaining spatial autocorrelation. The analysis is run separately for single-family houses, condominiums, | |
| 46 | −multiplexes and vacant land. | |
| 47 | +`W` is a row-standardised inverse-distance 10-nearest-neighbour matrix built within each segment. Standard errors of | |
| 48 | +the quantile regressions are paired-bootstrap (B = 200); inter-quantile Wald tests compare τ = .10 and τ = .90; Moran's I | |
| 49 | +is computed on OLS, QR and 2SQR second-stage residuals; dollar-equivalent implicit prices and a scalar LeSage–Pace | |
| 50 | +decomposition are reported at the median. | |
| 47 | 51 | |
| 48 | 52 | ## 🏆 Headline results |
| 49 | 53 | |
| 50 | −| Object | Estimate | | |
| 54 | +| Object | Estimate (houses unless stated; from `results/sqr_multi_segment_output.txt`) | | |
| 51 | 55 | |---|---| |
| 52 | −| Omnibus Wald test of coefficient homogeneity (houses) | χ²(7) = 35.74, p < 0.001 | | |
| 53 | −| Hospital proximity, τ = .10 → .90 | −0.082 (sig.) → positive, insignificant | | |
| 54 | −| Park proximity, τ = .10 → .90 | +0.087 (p < 0.001) → −0.044 (n.s.) | | |
| 55 | −| Transit proximity, τ = .10 → .90 | +0.074 → −0.008 | | |
| 56 | −| Spatial lag ρ (τ = .50) | 0.29 (houses), 0.20 (condos); positive and significant in all segments | | |
| 57 | −| Moran's I on OLS residuals | 0.44 – 0.55 across segments | | |
| 58 | −| First-stage F-statistics | > 100 in every segment | | |
| 59 | − | |
| 60 | −Interpretation: listing prices and cross-sectional variation only, so coefficients are quantile-specific capitalization | |
| 61 | −gradients, not causal effects. | |
| 56 | +| Highway coefficient, τ = .10 → .90 | 0.205*** → 0.034 (n.s.); OLS 0.133; Wald(.10 vs .90) = 17.1 | | |
| 57 | +| Transit coefficient, τ = .10 → .90 | 0.178*** → 0.053**; OLS 0.113; Wald = 11.6 | | |
| 58 | +| Park coefficient, τ = .10 → .90 | 0.122*** → 0.014 (n.s.); OLS 0.042; Wald = 6.7 | | |
| 59 | +| Hospital coefficient, τ = .10 → .90 | −0.085*** → +0.041*; OLS −0.049; Wald = 12.1 | | |
| 60 | +| School coefficient | −0.102 to −0.136 at every quantile; Wald = 0.05 | | |
| 61 | +| Amenities with significant tail heterogeneity | houses 4/6; condominiums 0/6; multiplexes 2/6 (highway, hospital); land 2/6 (school, golf) | | |
| 62 | +| OLS adjusted R² / Moran's I on OLS residuals | 0.619 / 0.506 (houses); 0.669 / 0.551 (condos); 0.576 / 0.528 (plex); 0.154 / 0.580 (land) | | |
| 63 | +| Median spatial lag ρ̂(.50) (no SE available) | 0.291 (houses), 0.203 (condos), 0.131 (plex), 0.322 (land) | | |
| 64 | +| QR → 2SQR at the median (houses) | highway 0.113 → 0.057; transit 0.094 → 0.071; school −0.110 → −0.072; park 0.038 → 0.042 | | |
| 65 | +| Moran's I on 2SQR second-stage residuals | 0.52–0.55 (houses): no reduction, because residuals use the fitted lag | | |
| 66 | + | |
| 67 | +Interpretation: asking prices, cross-section, binary amenity indicators → quantile-specific capitalisation gradients, | |
| 68 | +not causal effects nor willingness to pay. | |
| 62 | 69 | |
| 63 | 70 | ## 🗂 Repository layout |
| 64 | 71 | |
| 65 | 72 | ``` |
| 66 | 73 | amenity-capitalization-spatial-quantile/ |
| 67 | 74 | ├── data/ |
| 68 | −│ ├── raw/ # Centris JSON snapshot (see data/raw/README.md) — not committed | |
| 75 | +│ ├── raw/ # Centris JSON snapshot (4 files, see data/raw/README.md) — not committed | |
| 69 | 76 | │ └── processed/ |
| 70 | 77 | ├── scripts/ # the pipeline, in order |
| 71 | 78 | │ ├── 01_hedonic_ols_v1.py # baseline log-linear OLS, single-family subset |
| 72 | 79 | │ ├── 02_hedonic_ols_v2.py # quadratic terms, surface selection correction, spatial interactions |
| 73 | 80 | │ ├── 03_hedonic_ols_final.py # final OLS specification (centred variables, HC3) |
| 74 | −│ ├── 04_quantile_spatial_hedonic.py # QR + instrumented spatial lag, Moran, Wald (houses) | |
| 75 | −│ └── 05_sqr_multi_segment.py # full multi-segment 2SQR with bootstrap, figures, tables (the paper) | |
| 81 | +│ ├── 04_quantile_spatial_hedonic.py # QR + instrumented spatial lag, Moran, Wald (houses only, asymptotic SE) | |
| 82 | +│ ├── 05_sqr_multi_segment.py # multi-segment 2SQR with bootstrap (the paper); arg = data directory | |
| 83 | +│ └── 06_tables_figures_from_log.py # parses the preserved log → paper/tables/*.tex, figures/*.png, results/log_parsed.json | |
| 76 | 84 | ├── results/ |
| 77 | −│ └── sqr_multi_segment_output.txt # complete console output of step 05 | |
| 78 | −├── figures/ # fig2_wtp_by_quantile.png (others regenerated by step 05) | |
| 79 | −└── paper/ # main.tex + sections/ + tables/ → main.pdf | |
| 85 | +│ ├── sqr_multi_segment_output.txt # preserved console log of the original run of (an earlier version of) step 05 | |
| 86 | +│ └── log_parsed.json # machine-readable parse of the log (step 06) | |
| 87 | +├── figures/ # 5 figures rebuilt from the log (copied to paper/figures/) | |
| 88 | +├── docs/ # REVIEW-REPORT.md, CHANGELOG-REVISION.md, main_pre-revision-20261017.pdf | |
| 89 | +└── paper/ # main.tex + sections/ + appendix/ + tables/ + references.bib → main.pdf | |
| 80 | 90 | ``` |
| 81 | 91 | |
| 82 | 92 | ## 🚀 Quick start |
| 83 | 93 | |
| 84 | 94 | ```bash |
| 85 | 95 | python3 -m pip install -r requirements.txt |
| 86 | −# put the Centris JSON snapshot in data/raw/, then: | |
| 87 | −python3 scripts/03_hedonic_ols_final.py # OLS benchmark | |
| 88 | −python3 scripts/05_sqr_multi_segment.py data/raw/house_listings_1767845793472.json # 2SQR, 4 segments, figures fig1–fig7, LaTeX tables | |
| 89 | −cd paper && make # latexmk → main.pdf | |
| 96 | +# Without the Centris snapshot (what the 2026-10-17 revision could do): | |
| 97 | +python3 scripts/06_tables_figures_from_log.py # ~5 s: tables + figures from results/sqr_multi_segment_output.txt | |
| 98 | +cd paper && make # latexmk → main.pdf (58 p.) | |
| 99 | +# With the snapshot (four JSON files in data/raw/): | |
| 100 | +python3 scripts/05_sqr_multi_segment.py data/raw | tee results/sqr_multi_segment_output.txt # ~15 min, bootstrap 200 × 5 τ × 4 segments | |
| 101 | +python3 scripts/06_tables_figures_from_log.py | |
| 90 | 102 | ``` |
| 91 | 103 | |
| 92 | −Runtime ≈ 15 minutes on an Apple-silicon laptop (bootstrap 200 × 5 quantiles × 4 segments). | |
| 93 | − | |
| 94 | 104 | ## 🗃 Data |
| 95 | 105 | |
| 96 | −42,481 Centris listings (Quebec, May 2026) with asking price, structural characteristics, coordinates and distances to | |
| 97 | −amenities; four segments. Listings with missing price, area or coordinates are dropped; prices are winsorized at 1/99%. | |
| 98 | −Details and access conditions in `data/raw/README.md`. | |
| 106 | +42,481 Centris active listings (province of Quebec, snapshot of 8 January 2026) in four product types; asking price, | |
| 107 | +structural attributes, coordinates, municipality, parking type and a free-text broker field from which six binary | |
| 108 | +amenity indicators are derived. Listings with missing price, coordinates or required structural variables are dropped; | |
| 109 | +land area is winsorised at the 99th percentile; log price and log areas are trimmed at 0.5/99.5 percent. Estimation | |
| 110 | +samples: 6,250 / 1,031 / 3,755 / 9,239. Details and access conditions in `data/raw/README.md`. | |
| 99 | 111 | |
| 100 | 112 | ## 🔬 Methodology |
| 101 | 113 | |
| 102 | −1. **OLS hedonic benchmark** (log-linear, HC3) — `scripts/03_hedonic_ols_final.py`. | |
| 103 | −2. **Quantile regression** (Koenker & Bassett, 1978) at five quantiles — `scripts/04_…`, `scripts/05_…`. | |
| 104 | −3. **Two-stage spatial quantile regression**: spatial lag of log price built from a k-nearest-neighbour weight matrix, | |
| 105 | − instrumented by lagged covariates (Kim & Muller, 2004) — `scripts/05_sqr_multi_segment.py`. | |
| 106 | −4. **Inference**: 200-replication bootstrap standard errors; inter-quantile Wald tests; Moran's I on residuals; | |
| 107 | − sensitivity to k (number of neighbours). | |
| 108 | −5. **Willingness-to-pay** by quantile, direct/indirect effects at τ = .50. | |
| 114 | +1. **OLS hedonic benchmark** (semi-log, HC3) and Moran's I on residuals — `scripts/05_…` (and `03_…` for houses). | |
| 115 | +2. **Quantile regression** (Koenker & Bassett 1978) at five quantiles, paired bootstrap SE (B = 200), pseudo-R² | |
| 116 | + (Koenker & Machado 1999). | |
| 117 | +3. **Two-stage spatial quantile regression**: least-squares first stage of `W ln P` on `[Z, WZ]` (Kelejian & Prucha | |
| 118 | + 1998 instruments), quantile second stage on the fitted lag (Amemiya 1982 / Powell 1983 / Kim & Muller 2004 family) — | |
| 119 | + second stage not bootstrapped, median only. | |
| 120 | +4. **Inter-quantile Wald tests** (bootstrap variances, covariance between quantiles omitted → conservative). | |
| 121 | +5. **Dollar-equivalent implicit prices** `P(τ)[exp(β̂(τ)) − 1]` and scalar direct/indirect/total effects at the median. | |
| 109 | 122 | |
| 110 | 123 | ## 🖼 Figures & tables inventory |
| 111 | 124 | |
| 112 | −| Figure | Content | | |
| 113 | −|---|---| | |
| 114 | −| `fig1_coef_plots_amenities` | amenity coefficients across quantiles, by segment | | |
| 115 | −| `fig2_wtp_by_quantile` | willingness to pay by quantile | | |
| 116 | −| `fig3_ols_vs_qr_vs_sqr` | OLS vs QR vs 2SQR coefficients | | |
| 117 | −| `fig4_pseudo_r2` | pseudo-R² by quantile | | |
| 118 | −| `fig5_spatial_lag_rho` | spatial lag ρ(τ) | | |
| 119 | −| `fig6_price_distributions` | price distributions by segment | | |
| 120 | −| `fig7_wald_heatmap` | inter-quantile Wald tests | | |
| 125 | +| Figure (file in `figures/`) | Content | Source | | |
| 126 | +|---|---|---| | |
| 127 | +| 1 `fig_coefficients_by_quantile` | amenity coefficients ± 1.96 bootstrap SE, 4 segments × 6 amenities | log | | |
| 128 | +| 2 `fig_wald_adjacent_quantiles` | Wald statistics for adjacent quantile pairs, 4 segments | log | | |
| 129 | +| 3 `fig_ols_qr_sqr_median` | OLS vs QR(.50) vs 2SQR(.50) amenity coefficients | log | | |
| 130 | +| 4 `fig_implicit_prices_by_quantile` | dollar-equivalent implicit prices by quantile | log | | |
| 131 | +| 5 `fig_pseudo_r2` | pseudo-R² by quantile and segment | log | | |
| 132 | +| *(not reproducible)* ρ(τ) by quantile; price distributions | require the second-stage coefficients at all τ / the raw data | — | | |
| 121 | 133 | |
| 122 | −Tables (`paper/tables/*.tex`): sample, variables, descriptives (houses / other segments), specification, QR houses, | |
| 123 | −SQR ρ, first stage, Moran (OLS / SQR), Wald, WTP, effects, amenity correlations, sensitivity to k. | |
| 134 | +Tables (`paper/tables/*.tex`, all generated by step 06 except the two definitional ones): variables, specification, | |
| 135 | +sample, descriptive, moran (OLS fit + Moran), qr_houses, qr_condos, qr_plex, qr_land, qr_houses_structural (appendix), | |
| 136 | +pseudo_r2, wald_houses, wald, sqr, effects, moran_resid, implicit_prices. | |
| 124 | 137 | |
| 125 | 138 | ## ⚠️ Limitations |
| 126 | 139 | |
| 127 | −- Listing (asking) prices, not transaction prices; cross-section only. | |
| 128 | −- Amenity distances are straight-line; no quality adjustment of amenities. | |
| 129 | −- Spatial weights based on k nearest neighbours; results are checked for k but not for alternative kernels. | |
| 130 | −- Quantile-specific coefficients are capitalization gradients, not causal effects. | |
| 140 | +- Asking (listing) prices, not transaction prices; single cross-section; binary broker-reported amenity indicators | |
| 141 | + without distance or quality. | |
| 142 | +- Paired bootstrap ignores spatial dependence; Wald tests ignore the covariance between quantiles; no standard errors | |
| 143 | + for ρ̂(τ) or for the 2SQR coefficients (second stage not bootstrapped); 2SQR coefficients recorded at τ = .50 only. | |
| 144 | +- Moran's I on 2SQR residuals was computed on second-stage (fitted-lag) residuals and therefore cannot show a reduction; | |
| 145 | + structural residuals were not computed. | |
| 146 | +- The log-distance-to-Montreal coefficients in the preserved log are implausibly large (1.6–2.5 for houses, up to 8.4 | |
| 147 | + for plexes): the scaling of that control must be verified when the pipeline is re-run. | |
| 148 | +- Robustness checks described in v1.0 (sensitivity to k, B = 500, alternative trimming, Montreal split, VIF, partial | |
| 149 | + first-stage F, LeSage–Pace comparison) have no surviving output and are withdrawn; listed as analyses to execute. | |
| 131 | 150 | |
| 132 | 151 | ## 📝 Citation |
| 133 | 152 | |
@@ -139,7 +158,8 @@ SQR ρ, first stage, Moran (OLS / SQR), Wald, WTP, effects, amenity correlations | ||
| 139 | 158 | type = {Working Paper}, |
| 140 | 159 | number = {1}, |
| 141 | 160 | year = {2026}, |
| 142 | − month = {May} | |
| 161 | + month = {October}, | |
| 162 | + note = {Version 1.1} | |
| 143 | 163 | } |
| 144 | 164 | ``` |
| 145 | 165 | |
@@ -151,10 +171,26 @@ Université du Québec en Outaouais (UQO), Gatineau, QC. | ||
| 151 | 171 | |
| 152 | 172 | ## 🗒 Notes |
| 153 | 173 | |
| 154 | −- Bibliography is an inline `thebibliography` (`paper/sections/references.tex`, 103 entries), not a `.bib` file — | |
| 155 | − kept as is (deviation from `Recherche-UQO/HARMONISATION.md` §3). | |
| 156 | −- Figures 1 and 3–7 are not stored in the repository; `paper/main.tex` prints a placeholder box for a missing figure. | |
| 157 | − Run `scripts/05_sqr_multi_segment.py` with the data snapshot and copy the PNGs to `paper/figures/` to restore them. | |
| 174 | +- **Revision of 2026-10-17 (v1.0 → v1.1).** Full editorial-board review: `docs/REVIEW-REPORT.md` (diagnosis, verdict) | |
| 175 | + and `docs/CHANGELOG-REVISION.md` (audit trail). Pre-revision PDF: `docs/main_pre-revision-20261017.pdf` | |
| 176 | + (git tag `pre-revision-20261017`). | |
| 177 | +- **Numerical record.** The tables of v1.0 could not be reconciled with the only preserved output of the pipeline, | |
| 178 | + `results/sqr_multi_segment_output.txt` (e.g. houses: adj. R² 0.685 vs 0.619 in the log; ρ̂(.50) 0.227 vs 0.291; highway | |
| 179 | + β(.10) 0.040 vs 0.205). They evidently came from a second run of a later script version whose log was not kept, as did the | |
| 180 | + original Figure 2. v1.1 reports the log throughout; every table and figure is generated from it by | |
| 181 | + `scripts/06_tables_figures_from_log.py`. The log itself was produced by a version of `scripts/05_…` earlier than the one | |
| 182 | + in the repository (which additionally prints VIFs, the first-stage F and an omnibus test). | |
| 183 | +- **Not ready for SSRN until the figures and tables are regenerated from a fresh run.** Procedure: place the four | |
| 184 | + Centris JSON files in `data/raw/`, run `python3 scripts/05_sqr_multi_segment.py data/raw | tee | |
| 185 | + results/sqr_multi_segment_output.txt`, then `python3 scripts/06_tables_figures_from_log.py`, then `cd paper && make`; | |
| 186 | + compare the new log with the current one and update the text (Appendix A of the paper lists the anomalies to resolve | |
| 187 | + and the outputs to restore, in priority order: bootstrapped second stage, partial first-stage F, structural-residual | |
| 188 | + Moran's I, cluster/block bootstrap, sensitivity to k / projection / trimming / municipality FE, descriptive moments, VIFs). | |
| 189 | +- Bibliography converted from an inline `thebibliography` (103 entries, 17 unverifiable or misattributed) to | |
| 190 | + `paper/references.bib` (125 entries, all verified via Crossref or the publisher page, DOIs included; natbib `aer`). | |
| 191 | +- Figures 1 and 3–7 of v1.0 were never in the repository; v1.1 rebuilds five figures from the log (new numbering) and | |
| 192 | + removes the two that cannot be rebuilt (ρ(τ) by quantile; price distributions). | |
| 193 | +- Snapshot date corrected from "May 2025" (v1.0 text) to 8 January 2026 (file timestamps). | |
| 158 | 194 | - The original flat LaTeX draft (`paper_sqr_hedonic.tex`, May 2026) is archived in |
| 159 | 195 | `Recherche-UQO/_archives/versions-mai-2026/amenity-capitalization--flat-tex-20260519/`. |
| 160 | 196 | - Cover date corrected from "May 2025" (typo) to May 2026 during the 2026-10-17 harmonisation. |
modified
data/raw/README.md
+8 −6
@@ -2,9 +2,11 @@ | ||
| 2 | 2 | |
| 3 | 3 | | Item | Value | |
| 4 | 4 | |---|---| |
| 5 | −| Source | Centris.ca residential listings (Quebec), scraped snapshot | | |
| 6 | −| File expected here | `house_listings_1767845793472.json` (JSON array, one object per listing) | | |
| 7 | −| Observations | 42,481 listings across four segments (single-family houses, condominiums, plexes, vacant land); the earlier OLS scripts (01–03) use the 18,920 single-family subset | | |
| 8 | −| Extraction | May 2026 | | |
| 9 | −| Fields used | asking price, living area, lot size, bedrooms, bathrooms, year built, property type, latitude/longitude, distances to amenities (hospital, park, transit, school, shopping), municipality | | |
| 10 | −| Access | Not redistributed (Centris terms of use). Place the JSON file in this folder; `scripts/05_sqr_multi_segment.py` accepts the path as its first argument. | | |
| 5 | +| Source | Centris.ca residential listings (province of Quebec), scraped snapshot | | |
| 6 | +| Files expected here | `house_listings_1767845793472.json`, `condo_listings_1767845836917.json`, `plex_listings_1767845853004.json`, `terrain_listings_1767845845645.json` (JSON arrays, one object per listing) | | |
| 7 | +| Snapshot date | 8 January 2026 (Unix millisecond timestamps in the file names) | | |
| 8 | +| Observations | 42,481 listings: 18,920 single-family houses, 9,347 condominiums, 4,619 plexes, 9,595 vacant parcels; estimation samples 6,250 / 1,031 / 3,755 / 9,239 (see `paper/tables/sample.tex`) | | |
| 9 | +| Fields used | `Property.PriceUnformattedValue` (asking price), `Building.Bedrooms`, `BathroomTotal`, `HalfBathTotal`, `StoriesTotal`, `FloorAreaMeasurements` / `SizeInterior`, `UnitTotal` (plex), `Land.SizeTotal`, `Property.ParkingSpaceTotal`, `ParkingType` (garage flag), `Address.Latitude/Longitude/AddressText` (municipality → region), `Property.AmmenitiesNearBy` (free text; keyword flags Highway, Hospital, Park, School, Transit, Golf) | | |
| 10 | +| Not available | distances to amenities, amenity quality, year built, transaction prices — the amenity variables are binary broker classifications | | |
| 11 | +| Access | Not redistributed (Centris terms of use). Place the four JSON files in this folder and run `python3 scripts/05_sqr_multi_segment.py data/raw` from the repository root (default directory is `data/raw`). Redirect the console output to `results/sqr_multi_segment_output.txt`, then run `scripts/06_tables_figures_from_log.py` to regenerate the paper tables and figures. | | |
| 12 | +| Status (2026-10-17) | The snapshot is **not** on the revision machine; the pipeline was not re-run for v1.1. The only preserved output is `results/sqr_multi_segment_output.txt`, produced by an earlier version of script 05 (see `docs/REVIEW-REPORT.md`). | | |
added
docs/CHANGELOG-REVISION.md
+63 −0
@@ -0,0 +1,63 @@ | ||
| 1 | +# WP 1 — Journal d'audit de la révision scientifique (2026-10-17) | |
| 2 | + | |
| 3 | +État de départ : tag `pre-revision-20261017`, `docs/main_pre-revision-20261017.pdf` (v1.0, 49 p.). État d'arrivée : v1.1, 58 p. | |
| 4 | +Aucun fichier original n'a été supprimé de l'historique git (les anciennes tables et la figure 2 d'origine restent au tag) ; | |
| 5 | +`results/sqr_multi_segment_output.txt` est inchangé ; les données brutes sont absentes et **aucune estimation n'a été relancée**. | |
| 6 | +Tous les chiffres de la v1.1 proviennent de ce log, parsé par `scripts/06_tables_figures_from_log.py` (≈ 5 s, laptop Apple silicon), | |
| 7 | +qui écrit `paper/tables/*.tex`, `figures/*.png` et `results/log_parsed.json`. | |
| 8 | + | |
| 9 | +## 1. Corrections majeures (où / avant / après / pourquoi / preuve) | |
| 10 | + | |
| 11 | +| # | Où | Avant (v1.0) | Après (v1.1) | Pourquoi | Preuve | | |
| 12 | +|---|---|---|---|---|---| | |
| 13 | +| 1 | Table QR maisons, abstract, intro, discussion | highway τ=.10/.50/.90 : 0,040 / 0,043 / −0,010 ; hospital −0,082 → +0,013 ; park 0,087 → −0,044 ; transit 0,074 → −0,008 ; pseudo-R² 0,440–0,483 ; OLS adj. R² 0,685 | 0,205 / 0,113 / 0,034 ; −0,085 → +0,041 ; 0,122 → 0,014 ; 0,178 → 0,053 ; 0,355–0,444 ; 0,619 | tables v1.0 introuvables dans le log ; seule source auditable | log l. 32–54 ; `qr_houses.tex` | | |
| 14 | +| 2 | Tables Moran (OLS) | I = 0,441 / 0,486 / 0,449 / 0,546 ; Z 45,2 / 19,5 / 36,0 / 65,4 | 0,506 / 0,551 / 0,528 / 0,580 ; Z 51,9 / 22,0 / 40,2 / 67,2 (le texte v1.0 citait déjà 0,506–0,580) | idem | log l. 33, 251, 469, 686 | | |
| 15 | +| 3 | Table ρ par quantile (`sqr_rho.tex`), §résultats, discussion | ρ maisons 0,259–0,276 « *** » ; condos 0,149 → −0,106 ; « ρ positive and significant in every segment » ; condos « 0,34 → 0 » ; plex « 0,089 → 0,224 » | ρ̂(.50) seulement : 0,291 / 0,203 / 0,131 / 0,322, **sans erreur-type** ; variation de ρ selon τ déclarée non enregistrée | le log ne contient que ρ(.50) ; seconde étape non bootstrappée | log l. 44, 262, 480, 697 | | |
| 16 | +| 4 | Table Moran résidus 2SQR, §5.5, limites | « 2SQR reduces Moran's I from 0.506 to 0.35–0.40 » | I(QR) 0,515–0,524 ; I(2SQR) 0,518–0,545 (maisons) ; pas de réduction ; explication : résidus de seconde étape = lag ajusté | résidus mal définis pour ce diagnostic | log l. 189–200 ; éq. (8) et §4.4 | | |
| 17 | +| 5 | Table Wald, §résultats | tables : highway 2,5 / hospital 12,3*** / park 14,1*** / transit 4,4* ; texte : 31,6 / 17,1 / 10,8 / 13,0 et χ²(17)=167,14 ; abstract : χ²(7)=35,74 | 17,12*** / 12,11*** / 6,66*** / 11,64*** (+ paires .25/.75 et .10/.50) ; omnibus retiré | trois sources incompatibles ; omnibus = somme de χ²(1) corrélés | log l. 176–186 | | |
| 18 | +| 6 | Table prix implicites | highway +11 252 → −14 360 ; park +24 892 → −63 370 ; réf. 1,49 M$ | +62 663 → +51 655 ; +35 648 → +21 292 ; réf. P(τ) reconstruits 275 k / 400 k / 579 k / 894 k / 1 485 k$ | tables v1.0 = coefficients run B ; P(τ) = π/(exp β − 1) | log l. 202–211 ; `log_parsed.json` | | |
| 19 | +| 7 | Table effets directs/indirects | ρ = 0,227 ; « Direct » = β/(1−ρ), « Indirect » = ρβ/(1−ρ) (somme ≠ total) ; highway β 0,029 | ρ = 0,291 ; direct ≈ β 0,057 ; indirect 0,024 ; total 0,081 = +48 767 $ | erreur d'étiquetage (LeSage–Pace) + chiffres run B | log l. 213–222 | | |
| 20 | +| 8 | Table 1re étape | R² 0,748 / 0,681 / 0,647 / 0,612 ; F 542 / 123 / 322 / 194 « Strong » | R² 0,672 / 0,719 / 0,650 / 0,204 ; F global implicite 374 / 75 / 203 / 107 ; F partiel **non disponible** | F non journalisé ; F global ≠ statistique Stock–Yogo | log l. 43, 261, 479, 696 | | |
| 21 | +| 9 | Tables descriptives condos/plex/terrains | condos : Montréal 62,4 %, transit 58,6 %, étendue 89 k–2,8 M$ ; plex 215 k–9,5 M$ ; terrains 12 k–3,1 M$ | condos : Montréal 25,9 %, transit 73,5 %, 177 700–2 932 760 $ ; plex 130 000–4 699 999 $ ; terrains 16 000–8 900 000 $ | tables v1.0 non traçables | log l. 228–247, 446–465, 664–682 | | |
| 22 | +| 10 | Table échantillon | étapes intermédiaires (validation coordonnées, filtre structurel) ; « winsorized at 1/99 » (README) | brut → final, rétention, étendue et médiane ; règles exactes du script en note (trim 0,5/99,5 des logs ; winsor land 99e pct) | étapes intermédiaires non journalisées | script 05 l. 243–351 | | |
| 23 | +| 11 | Tables corrélations, sensibilité k ; §robustesse | corrélations ≤ 0,38 ; ρ 0,312/0,291/0,278/0,263 pour k=5/10/15/20 ; B=500 « max 8 % » ; trimming ; split Montréal (Moran 0,55 vs 0,42) ; VIF 1,05–3,82, cond. 18,4 ; « within 3 % » LeSage–Pace | retirés ; listés comme analyses non exécutées | aucune sortie (seule la colonne k=10 = log) | — | | |
| 24 | +| 12 | §4.4 méthodologie | « Following Kim & Muller (2004) » ; « Haversine-equivalent flat-Earth » | estimateur fitted-value à 1re étape MCO (Amemiya 1982, Powell 1983 ; ≠ Kim–Muller, ≠ IVQR) ; W en degrés non projetés ; plancher 1e-10 | lecture du code (`build_W`, `first_stage`) | script 05 l. 128–142, 447–468 | | |
| 25 | +| 13 | Partout | « willingness to pay (WTP) » | « implicit price », « capitalisation differential » ; cadre Kuminoff–Pope 2014 | pas de 2e étape de Rosen | §2.1, §4.9 | | |
| 26 | +| 14 | Données | « collected in May 2025 » ; README « distances to amenities… year built » ; référence régionale « Regions » | 8 janvier 2026 (horodatages) ; champs réels ; Gatineau référence partout | fichiers `*_17678457*.json` ; script | `data/raw/README.md` | | |
| 27 | +| 15 | Table spécification | ln(Land area) absent pour condos | présent (le log montre `ln_land_c` pour les condos) ; nombre de régresseurs 17/17/17/11 | log l. 285 | `specification.tex` | | |
| 28 | +| 16 | Résultats, annexe A | — | anomalie signalée : ln(dist) 1,6–2,5 (maisons), jusqu'à 8,4 (plex) ; signe de « Other regions » changeant | coefficients non interprétables ; à vérifier à la ré-exécution | log l. 65, 89, 113, 137, 161 | | |
| 29 | +| 17 | Figures | 1 figure (run B) + 6 cadres « not available » | 5 figures régénérées du log (coefficients, Wald adjacents, OLS/QR/2SQR, prix implicites, pseudo-R²) ; ρ(τ) et distributions retirées | irrégénérables sans ρ(τ) / données | `figures/` | | |
| 30 | + | |
| 31 | +## 2. Autres corrections éditoriales | |
| 32 | + | |
| 33 | +- Structure : data avant methodology (ordre du gabarit) ; `sections/figures.tex` et `sections/references.tex` supprimés | |
| 34 | + (figures dans les résultats, bibliographie BibTeX) ; annexe A « Numerical record and audit trail » + annexe B (table structurelle) créées. | |
| 35 | +- Listes à puces du corps (gaps, hospital puzzle, policy, limitations, future research) converties en prose ; superlatifs et | |
| 36 | + « first/comprehensive/unique » retirés ; orthographe britannique uniformisée (capitalisation, neighbourhood). | |
| 37 | +- Étoiles de significativité homogènes (10/5/1 %) recalculées à partir des SE bootstrap ; signe moins typographique ; | |
| 38 | + tables en `threeparttable` avec notes de provenance ; aucune `Overfull` ; 0 référence indéfinie. | |
| 39 | +- Préambule : natbib `aer`, `\bibliography{references}`, placeholder `\includegraphics` supprimé, en-tête courant = titre ; | |
| 40 | + `\WPversion` 1.0 → 1.1 ; `\WPdate` May 2026 → October 2026 ; abstract et mots-clés réécrits. | |
| 41 | +- `scripts/05_sqr_multi_segment.py` : répertoire de données en argument (défaut `data/raw`) et figures écrites dans `figures/` ; | |
| 42 | + aucun changement au code d'estimation (le README v1.0 prétendait déjà que le script acceptait un chemin). | |
| 43 | +- `.gitignore` : exception `!results/log_parsed.json`. | |
| 44 | + | |
| 45 | +## 3. Références | |
| 46 | + | |
| 47 | +103 entrées inline → 125 entrées BibTeX, toutes vérifiées (Crossref `api.crossref.org/works` : DOI, titre, auteurs, année, | |
| 48 | +volume, pages ; Su & Yang 2011 : `ink.library.smu.edu.sg/soe_research/1074` ; Halvorsen & Palmquist 1980 : JSTOR via sources | |
| 49 | +secondaires concordantes). Détail (retirées 17, corrigées ≈ 20, ajoutées 39, re-clé 1) dans `REVIEW-REPORT.md` §4. | |
| 50 | +Sources de vérification brutes : `/tmp/wp1rev/crossref_hits.json`, `/tmp/wp1rev/crossref_adds.json` (session du 2026-10-17, non versionnées). | |
| 51 | + | |
| 52 | +## 4. Réanalyses exécutées | |
| 53 | + | |
| 54 | +Aucune sur les données (absentes). Exécuté : `scripts/06_tables_figures_from_log.py` (parse du log, 4 segments × 5 τ × | |
| 55 | +(17|11) coefficients, assertions de complétude ; ≈ 5 s). Quantités dérivées et déclarées comme telles : étoiles ; F global | |
| 56 | +implicite de 1re étape (formule en note) ; P(τ) reconstruits (médiane reconstruite 579 041 $ vs 579 000 $ journalisé) ; | |
| 57 | +statistiques de Wald des paires adjacentes (figure 2) à partir des β et SE du log. | |
| 58 | + | |
| 59 | +## 5. Non modifié faute de données | |
| 60 | + | |
| 61 | +Ré-estimation complète ; bootstrap de la 2e étape ; ρ(τ) hors médiane ; F partiel ; Moran sur résidus structurels ; | |
| 62 | +sensibilités (k, projection, trimming, EF municipaux) ; descriptives structurelles ; VIF ; validation des indicateurs | |
| 63 | +d'aménités ; prix de transaction. Procédure de ré-exécution : README § Notes et annexe A du papier. | |
added
docs/REVIEW-REPORT.md
+151 −0
@@ -0,0 +1,151 @@ | ||
| 1 | +# WP 1 — Heterogeneous Amenity Capitalization in the Quebec Residential Market : rapport de l'« editorial board » (révision scientifique du 2026-10-17) | |
| 2 | + | |
| 3 | +Version examinée : 1.0 (mai 2026, 49 p., tag `pre-revision-20261017`, bibliographie inline de 103 entrées, figures 1 et 3–7 absentes). | |
| 4 | +Version produite : 1.1 (octobre 2026, 58 p., `references.bib` de 125 entrées vérifiées, 17 tables et 5 figures générées par script). | |
| 5 | +Données brutes (4 fichiers JSON Centris, ~42 000 annonces) **absentes du laptop** (`mdfind`, `find` sur PhD/UQO/Recherche-UQO : rien) : | |
| 6 | +**aucune réanalyse n'a été possible**. Le seul enregistrement numérique est le log `results/sqr_multi_segment_output.txt`. | |
| 7 | + | |
| 8 | +## 1. Diagnostic général | |
| 9 | + | |
| 10 | +Le papier pose une question légitime et peu traitée pour le Québec (hétérogénéité de la capitalisation des aménités le long | |
| 11 | +de la distribution conditionnelle des prix, avec lag spatial, sur quatre types de produits) et mobilise une chaîne de | |
| 12 | +traitement complète (`scripts/05`). Mais la v1.0 n'était pas publiable en l'état, pour une raison qui prime sur toutes les autres : | |
| 13 | + | |
| 14 | +1. **Les tables ne correspondaient pas au log.** Sur 15 tables, 11 contenaient des chiffres introuvables dans | |
| 15 | + `results/sqr_multi_segment_output.txt` (maisons : R² ajusté MCO 0,685 vs 0,6185 ; Moran I 0,441 vs 0,5061 ; pseudo-R² | |
| 16 | + 0,440–0,483 vs 0,355–0,444 ; ρ(0,50) 0,227 vs 0,2906 ; coefficient highway à τ=0,10 0,040 vs 0,2053 ; Moran I sur résidus 2SQR | |
| 17 | + 0,36–0,40 vs 0,52–0,55 ; statistiques descriptives condos/plex/terrains — parts d'aménités, composition régionale, étendues de | |
| 18 | + prix — toutes différentes). La figure 2 (seule figure commitée) reproduisait les chiffres des tables, pas ceux du log. | |
| 19 | + Le texte, lui, citait majoritairement le log (Moran 0,506–0,580 ; prix implicites 62 663 $, 156 225 $ ; MCO highway 0,133), | |
| 20 | + mais le paragraphe sur les tests de Wald donnait une **troisième** série de chiffres (31,6 ; 17,1 ; 13,0 ; 10,8 ; | |
| 21 | + χ²(17)=167,14) issue du script 04 (maisons seules, erreurs-types asymptotiques), tandis que l'abstract donnait | |
| 22 | + χ²(7)=35,74. Le script 05 actuel imprime des quantités (VIF, F de première étape, omnibus) qui ne sont pas dans le log : | |
| 23 | + le log provient d'une **version antérieure** du script, les tables d'une **exécution ultérieure non journalisée** | |
| 24 | + (« corrected distance measures » selon le texte v1.0). Décision : la v1.1 rapporte **exclusivement** le log, seule | |
| 25 | + source auditable, et documente l'écart (annexe A du papier, §3 du changelog). Conséquence assumée : plusieurs | |
| 26 | + chiffres-phares changent de valeur (ex. highway τ=0,10 : 0,040 → 0,205) et le papier est déclaré **non prêt pour SSRN** | |
| 27 | + tant que le pipeline n'a pas été ré-exécuté. | |
| 28 | +2. **Estimateur mal décrit.** Le texte invoque Kim & Muller (2004) ; le code implémente la variante « fitted-value » avec | |
| 29 | + première étape **MCO** (Amemiya 1982 / Powell 1983), pas la première étape quantile de Kim & Muller, et non l'IVQR de | |
| 30 | + Chernozhukov–Hansen / Su–Yang. Conditions de convergence (indépendance de l'erreur composite) désormais explicitées (éq. 7–8). | |
| 31 | +3. **Diagnostic de Moran sur résidus 2SQR invalide tel que calculé.** Les résidus de seconde étape utilisent le lag | |
| 32 | + *ajusté* (combinaison linéaire de Z et WZ) : ils ne peuvent pas montrer de réduction, et de fait le log montre I(2SQR) ≥ | |
| 33 | + I(QR). La v1.0 affirmait « reduces from 0.506 to 0.35–0.40 ». Affirmation retirée ; explication et diagnostic correct | |
| 34 | + (résidus structurels) décrits comme à exécuter. | |
| 35 | +4. **Décomposition des effets mal étiquetée.** Le script et la table appelaient « direct » β/(1−ρ) (qui est l'effet | |
| 36 | + total) et « indirect » ρβ/(1−ρ) : direct + indirect ≠ total. Relabellisé (direct ≈ β ; indirect ≈ ρβ/(1−ρ) ; total ≈ β/(1−ρ)). | |
| 37 | +5. **Test omnibus non valide.** Somme de χ²(1) marginaux ignorant les covariances entre coefficients et entre quantiles, | |
| 38 | + présentée comme χ²(7) (ou χ²(17)). Retiré ; remplacé par le compte des aménités dont l'égalité des queues est rejetée. | |
| 39 | +6. **Inférence.** Bootstrap apparié ignorant la dépendance spatiale (Moran > 0,5) ; seconde étape 2SQR non bootstrappée | |
| 40 | + (aucune erreur-type pour ρ̂ ni pour les coefficients 2SQR ; « ρ positive and significant in every segment » retiré) ; | |
| 41 | + test de Wald omettant la covariance inter-quantiles (conservateur) ; ρ(τ) aux autres quantiles **non enregistré** (table | |
| 42 | + `sqr_rho` et discussion de ρ(τ) retirées). | |
| 43 | +7. **Robustesse déclarée sans trace.** Sensibilité à k (seule la colonne k=10 correspondait au log), B=500, trimming | |
| 44 | + 1/99 et 2/98, sous-échantillons Montréal/hors-Montréal, VIF 1,05–3,82 et nombre de condition 18,4, F partiel > 100, | |
| 45 | + approximation LeSage–Pace « within 3 % » : aucune sortie. Tout retiré et listé comme analyses à exécuter (§6.2–6.3). | |
| 46 | +8. **Interprétation WTP injustifiée.** Sans seconde étape de Rosen ni équilibre de tri, les coefficients sont des gradients | |
| 47 | + de capitalisation (Kuminoff & Pope 2014). « WTP » remplacé par « implicit price » / « capitalisation differential » partout ; | |
| 48 | + dimension « policy » réécrite en termes d'incidence. | |
| 49 | +9. **Anomalie numérique dans le log.** Coefficient de ln(distance à Montréal) positif et énorme (1,6–2,5 maisons ; jusqu'à | |
| 50 | + 8,4 plex, 5,7 terrains) : non interprétable comme gradient de distance ; probable problème d'échelle de la variable | |
| 51 | + dans la version du script qui a produit le log. Signalé dans les résultats, l'annexe A et le README comme premier point | |
| 52 | + à vérifier à la ré-exécution. Les coefficients d'aménités sont conditionnels à ce contrôle. | |
| 53 | +10. **Date des données.** « collected in May 2025 » (texte) / « May 2026 » (README) : les horodatages des fichiers donnent | |
| 54 | + le 8 janvier 2026. Corrigé. | |
| 55 | +11. **Bibliographie.** 17 entrées fausses, introuvables ou hors sujet (voir §3) ; ~20 entrées avec auteurs/année/revue | |
| 56 | + erronés (ex. `dubois2018spatial` = Zhang, Sun & Stengos 2019 ; `hospital2023heterogeneity` = Gu et al. 2024 ; | |
| 57 | + `dube2025park` = Dubé, Le Gallo, Chapel & Hilal 2025) ; plusieurs affirmations attribuées à tort (Farmer & Lipscomb 2010 | |
| 58 | + présenté comme une étude britannique sur la qualité des écoles ; Wen et al. 2017 comme des condos de Toronto ; | |
| 59 | + Des Rosiers et al. 2000 daté 2011 et situé à Toronto ; Dubé et al. 2011 crédité d'une prime de 4–6 % et d'une | |
| 60 | + absorption de 20 % par le lag — chiffres non vérifiables, retirés). | |
| 61 | + | |
| 62 | +## 2. Diagnostic par section (v1.0 → v1.1) | |
| 63 | + | |
| 64 | +| Section | Forces | Faiblesses / erreurs trouvées | Traitement | | |
| 65 | +|---|---|---|---| | |
| 66 | +| Abstract | question claire | chiffres de la « run B » (−0,082 ; +0,087 ; χ²(7)=35,74 ; Moran 0,44–0,55 ; F > 100 ; « ρ significant ») | réécrit sur le log ; caveats inférence et WTP | | |
| 67 | +| Introduction | motivation hédonique correcte | « first application » répété ; « 300 % » CMHC non vérifiable ; quatre « contributions » dont une (« comprehensive robustness framework ») sans sortie ; résultats de la run B | réécrit : contribution « modeste », trois qualifications, estimateurs situés (Amemiya/Powell/Kim–Muller/Chernozhukov–Hansen/Su–Yang/McMillen) | | |
| 68 | +| Littérature | couverture large | citations hors sujet (Pace & LeSage 2004 pour KNN/Vancouver ; Pryce & Oates 2008 ; Allen et al. 2014 ; Shimizu 2010 ; Haurin 1988), fabriquées (Des Rosiers–Dubé–Thériault 2014 « quantile contamination ») ; identification Rosen 2e étape mal reliée ; WTP | restructurée en 6 sous-sections ; ajout de la littérature capitalisation ≠ WTP (Kuminoff–Pope 2014, Bishop et al. 2020, Small–Steimetz 2012), des estimateurs 2SQR, de l'école Laval (Kestens 2006, Thériault 2003, Des Rosiers 2002, Dubé 2013/2014), prix d'affichage (Horowitz 1992, Anglin 2003, Haurin 2010) | | |
| 69 | +| Données | source bien décrite | date fausse ; champs « distances aux aménités, year built » (README) inexistants ; catégorie de référence contradictoire (Regions vs Gatineau) ; descriptives condos/plex/terrains fausses ; table corrélations non traçable | réécrite ; tables sample/descriptive générées du log ; Gatineau référence partout ; moments structurels déclarés non disponibles | | |
| 70 | +| Méthodologie | équations présentes | 2SQR mal attribué ; décomposition erronée ; omnibus invalide ; « Haversine-equivalent » faux (degrés non projetés) ; plancher 1e-10 non mentionné ; « we verified within 3 % » sans trace | réécrite : 13 équations numérotées, propriétés de l'estimateur, W en degrés, inférence et ses limites, prix implicites, identification | | |
| 71 | +| Résultats | lecture économique vivante | tables non traçables ; trois sources de chiffres ; « ρ 0,28–0,33 pour les maisons » et « condos 0,34 → 0 » sans sortie ; Moran 2SQR « reduces » faux ; VIF/condition sans sortie | réécrits sur le log : 13 tables + 5 figures ; sous-section « residual autocorrelation after the lag » expliquant pourquoi I ne baisse pas ; anomalie ln(distance) signalée | | |
| 72 | +| Robustesse | — | 5 analyses décrites sans aucune sortie | section refondue : évidence interne disponible / analyses retirées / ordre de priorité des vérifications | | |
| 73 | +| Discussion | mécanismes plausibles | mécanismes présentés comme établis ; « Transit-dependent households value transit three times more » ; implications « welfare » | mécanismes présentés comme interprétations concurrentes (tri, offre, mesure) ; incidence plutôt que bien-être | | |
| 74 | +| Conclusion | — | liste à puces ; chiffres run A/B mélangés | prose ; agenda de vérification sur les mêmes données | | |
| 75 | +| Figures | fig 2 seule présente | 6 cadres « Figure not available » ; fig 2 issue de la run B | 5 figures régénérées du log (`scripts/06`), 2 irrégénérables retirées ; placeholder supprimé de `main.tex` | | |
| 76 | + | |
| 77 | +## 3. Méthodologie — verdict point par point (§3 du master prompt) | |
| 78 | + | |
| 79 | +- **Spécification** : semi-log justifiée ; contrôles régionaux + une pente de distance province-wide = trop grossier | |
| 80 | + pour la qualité de quartier inobservée (Moran 0,5–0,6). Effets fixes municipaux recommandés (non exécutés). | |
| 81 | +- **Hypothèses d'estimation** : désormais explicites pour le 2SQR (fitted-value, 1re étape MCO, condition d'indépendance) ; | |
| 82 | + exclusion de WZ reconnue comme hypothèse de convenance (Gibbons & Overman 2012). | |
| 83 | +- **Définition des variables** : corrigée (mots-clés du champ courtier ; garage via type de stationnement ; plancher 0,5 km ; | |
| 84 | + ln(land) inclus pour les condos — la table v1.0 disait le contraire). | |
| 85 | +- **Effets fixes** : régionaux seulement ; recommandation d'EF municipaux (Machado & Santos Silva 2019 pour les quantiles). | |
| 86 | +- **Dépendance spatiale** : W en degrés non projetés, plancher 1e-10 pour les coordonnées identiques — signalés ; | |
| 87 | + diagnostic 2SQR à refaire sur résidus structurels. | |
| 88 | +- **Erreurs-types** : bootstrap apparié i.i.d. inadapté ; cluster/block bootstrap recommandé ; aucune SE pour ρ̂. | |
| 89 | +- **Construction de l'échantillon** : transparente (règles du script reproduites dans la note de la table 2) ; taux de | |
| 90 | + rétention condos 11 % = sélection sur la déclaration de surface, signalé. | |
| 91 | +- **Robustesse** : aucune analyse exécutable ; toutes listées comme non exécutées. | |
| 92 | +- **Interprétation des coefficients** : log-points, exp(β)−1 (Halvorsen & Palmquist 1980) ; τ = rang conditionnel, pas | |
| 93 | + prix brut (paragraphe ajouté). | |
| 94 | +- **Significativité statistique vs économique** : étoiles recalculées aux seuils 10/5/1 % à partir des SE bootstrap du log ; | |
| 95 | + magnitudes en $ présentées comme « sense of scale ». | |
| 96 | +- **Causalité** : aucune ; terminologie « capitalisation gradient » uniforme. | |
| 97 | + | |
| 98 | +## 4. Littérature (toutes entrées vérifiées — Crossref via API, DOI résolus ; Su & Yang via dépôt SMU ; Halvorsen & Palmquist 1980 via sources secondaires) | |
| 99 | + | |
| 100 | +- **Retirées (17)** : allen2014information (réel mais hors sujet), chin2006influences (non indexé), cmhc2023housing et | |
| 101 | + statisticscanada2023housing (littérature grise soutenant un « 300 % » invérifiable), des2014quantile (**inexistant**), | |
| 102 | + gorjian2025systematic (préprint), grudnitski2002golf (introuvable), herath2025reflections (introuvable), montreal2024consumption | |
| 103 | + (préprint medRxiv, publication non vérifiée), pace2004spatial (hors sujet), pryce2013property (= Pryce & Oates 2008, hors sujet), | |
| 104 | + shimizu2010housing (hors sujet), jin2001simple (introuvable), haurin2010thin (= Haurin 1988, hors sujet), chen2020quantile | |
| 105 | + (non indexé), aiken1991multiple et kutner2004applied (manuels non nécessaires). | |
| 106 | +- **Corrigées (≈ 20)** : anderson 2006, colwell 1997, desrosiers 2000, do 1995, zhang–sun–stengos 2019, efron 1993, | |
| 107 | + farmer 2010, getis 2009, gibbons–machin 2008, gu et al. 2024, theebe 2004, squires et al. 2026, renne et al. 2016, | |
| 108 | + schirripa spagnolo et al. 2024, stock–yogo 2005 (chapitre CUP), su–yang 2011 (WP SMU), wen 2017 (contenu), gyger 2025 (SSRN, | |
| 109 | + non « REE forthcoming »), dube2023yimby (auteurs), dube2025park (auteurs, volume), reyblanco 2024 (titre, volume), | |
| 110 | + chen2025geoshapley (volume), parmeter–pope 2013 (DOI chapitre). | |
| 111 | +- **Ajoutées (39, toutes avec DOI sauf Su–Yang)** : Amemiya 1982 ; Powell 1983 ; Chen & Portnoy 1996 ; Chernozhukov & Hansen | |
| 112 | + 2005, 2008 ; McMillen 2013 ; Koenker & Hallock 2001 ; Koenker & Xiao 2002 ; Horowitz 1998 ; Hagemann 2017 ; Parente & Santos | |
| 113 | + Silva 2016 ; Machado & Santos Silva 2019 ; Cameron, Gelbach & Miller 2008 ; Jin & Lee 2015 ; Lee 2003 ; Kelejian & Prucha 2010 ; | |
| 114 | + Gibbons & Overman 2012 ; LeSage & Pace 2014 ; Small & Steimetz 2012 ; Kim, Phipps & Anselin 2003 ; Anselin & Lozano-Gracia 2008 ; | |
| 115 | + Basu & Thibodeau 1998 ; Bourassa, Cantoni & Hoesli 2007 ; Bitter et al. 2007 ; Epple 1987 ; Kuminoff & Pope 2014 ; Bishop et al. | |
| 116 | + 2020 ; Halvorsen & Palmquist 1980 ; Horowitz 1992 ; Anglin et al. 2003 ; Haurin et al. 2010 ; Pryce 2013 ; Kestens, Thériault & | |
| 117 | + Des Rosiers 2006 ; Thériault et al. 2003 ; Des Rosiers et al. 2002 ; Dubé & Legros 2013, 2014 ; Dubé et al. 2013, 2014. | |
| 118 | +- Bilan : 103 → 125 entrées, 125 citées dans le texte, 0 non vérifiée. | |
| 119 | + | |
| 120 | +## 5. Résultats — incohérences trouvées (toutes traitées) | |
| 121 | + | |
| 122 | +Voir §1.1 et le changelog §1. En résumé : 11 tables non traçables remplacées par 13 tables générées du log ; 3 séries de | |
| 123 | +statistiques de Wald concurrentes réduites à celle du log ; omnibus retiré ; ρ(τ) hors médiane retiré ; Moran 2SQR réinterprété ; | |
| 124 | +prix de référence P(τ) reconstruits à partir du log (275 k$, 400 k$, 579 k$, 894 k$, 1 485 k$ ; la v1.0 disait 1,49 M$) ; | |
| 125 | +décomposition relabellisée ; étoiles recalculées (seuils 10/5/1 %, au lieu de 5/1/0,1 % non homogènes entre tables). | |
| 126 | + | |
| 127 | +## 6. Limites restantes | |
| 128 | + | |
| 129 | +Prix d'affichage ; coupe transversale ; indicateurs binaires déclarés par le courtier ; bootstrap i.i.d. ; 2SQR sans SE et à la | |
| 130 | +médiane seulement ; résidus structurels non calculés ; anomalie ln(distance) ; échantillon condos sélectionné (11 %) ; | |
| 131 | +log produit par une version antérieure du script ; aucune robustesse exécutée. | |
| 132 | + | |
| 133 | +## 7. Analyses recommandées non exécutées (ordre de priorité) | |
| 134 | + | |
| 135 | +1. Ré-exécuter `scripts/05` sur le snapshot, journaliser, régénérer par `scripts/06`, comparer au log actuel. | |
| 136 | +2. Bootstrapper conjointement les deux étapes du 2SQR (SE pour ρ̂(τ) et coefficients 2SQR à tous les τ). | |
| 137 | +3. F partiel sur WZ ; Moran's I sur résidus structurels ; comparaison 1re étape MCO vs quantile (Kim–Muller) vs IVQR (Chernozhukov–Hansen / Su–Yang). | |
| 138 | +4. Cluster/block bootstrap (municipalité ou blocs spatiaux) ; test joint avec la covariance bootstrap empilée. | |
| 139 | +5. Sensibilité : k ∈ {5, 15, 20}, coordonnées projetées, plancher de distance pour coordonnées identiques, bandes de distance, trimming 1/99 et 2/98, EF municipaux. | |
| 140 | +6. Vérifier l'échelle de ln(distance) ; restaurer les descriptives structurelles et les VIF. | |
| 141 | +7. Validation des indicateurs d'aménités contre des distances géocodées ; réplication sur prix de transaction (Registre foncier). | |
| 142 | + | |
| 143 | +## 8. Maturité pour publication | |
| 144 | + | |
| 145 | +**Verdict : non soumissible en l'état (ni SSRN ni revue).** Le résultat qualitatif central (profils décroissants | |
| 146 | +highway/transit/park et inversion de signe hospital pour les maisons, rejets de Wald au seuil de 1 %) est net dans le log et | |
| 147 | +cohérent entre paires de quantiles ; mais il repose sur une exécution non reproductible d'une version perdue du script, avec | |
| 148 | +une inférence inadaptée à la dépendance spatiale et un contrôle de distance anormal. Après ré-estimation complète | |
| 149 | +(points 1–4 ci-dessus), le papier vise raisonnablement *Journal of Housing Economics*, *Journal of Real Estate Research* ou | |
| 150 | +*Papers in Regional Science* ; risques de rejet principaux : prix d'affichage, indicateurs binaires sans distance, absence de | |
| 151 | +stratégie d'identification au-delà du lag spatial, contribution jugée incrémentale (application) par un referee de JUE/RSUE. | |
deleted
figures/fig2_wtp_by_quantile.png
+0 −0
Binary file not shown.
added
figures/fig_coefficients_by_quantile.png
+0 −0
Binary file not shown.
added
figures/fig_implicit_prices_by_quantile.png
+0 −0
Binary file not shown.
added
figures/fig_ols_qr_sqr_median.png
+0 −0
Binary file not shown.
added
figures/fig_pseudo_r2.png
+0 −0
Binary file not shown.
added
figures/fig_wald_adjacent_quantiles.png
+0 −0
Binary file not shown.
added
paper/appendix/appendix.tex
+26 −0
@@ -0,0 +1,26 @@ | ||
| 1 | +% ============================================================================ | |
| 2 | +\appendix | |
| 3 | +\section{Numerical record and audit trail} | |
| 4 | +\label{app:audit} | |
| 5 | +% ============================================================================ | |
| 6 | + | |
| 7 | +This appendix documents the provenance of every number in the paper, a matter that became material during the October 2026 revision. | |
| 8 | + | |
| 9 | +\paragraph{Pipeline.} The analysis is produced by \texttt{scripts/05\_sqr\_multi\_segment.py}, which loads the four Centris JSON files, builds the estimation samples of Table~\ref{tab:sample}, estimates equations~\eqref{eq:hedonic}, \eqref{eq:qr} and \eqref{eq:2sqr}, bootstraps the quantile regressions, computes the Wald statistics, Moran's $I$, the dollar-equivalent implicit prices and the scalar effect decomposition, and writes seven figures. Scripts 01 to 04 are earlier conditional-mean and single-segment versions kept for reference. The raw snapshot (about 42,000 listings) is not redistributable under the Centris terms of use and is not on the machine used for the revision, so the pipeline could not be re-executed. | |
| 10 | + | |
| 11 | +\paragraph{The preserved log.} The only surviving output of the pipeline is the console log \texttt{results/sqr\_multi\_segment\_output.txt}. For each segment it records the sample sizes, the price range and median, the regional counts and medians, the amenity shares, the OLS adjusted $R^2$ and the Moran statistic on OLS residuals, the pseudo-$R^2$ at each quantile, the full coefficient table (coefficient, bootstrap standard error, $z$, $p$) at each quantile, the Wald statistics for three quantile pairs, Moran's $I$ on the QR and second-stage 2SQR residuals at each quantile, the first-stage $R^2$, the median spatial-lag coefficient, the dollar-equivalent implicit prices and the median effect decomposition. It does not record the moments of the structural variables, the variance inflation factors, the first-stage $F$-statistic, an omnibus test, the second-stage coefficients at quantiles other than the median, standard errors for the second stage, or any sensitivity analysis. The log was evidently produced by a version of the script earlier than the one in the repository, which prints several of these quantities; that version was not preserved. | |
| 12 | + | |
| 13 | +\paragraph{Discrepancies in the May 2026 version.} The tables of the first version of this paper could not be reconciled with the log. For houses they reported an OLS adjusted $R^2$ of 0.685 (log: 0.619), Moran's $I$ of 0.441 (0.506), pseudo-$R^2$ between 0.440 and 0.483 (0.355--0.444), a median spatial lag of 0.227 (0.291), a highway coefficient of 0.040 at $\tau = 0.10$ (0.205), Moran's $I$ of 0.36--0.40 on 2SQR residuals (0.52--0.55), and a sensitivity table whose $k = 10$ column reproduced the log while the other columns had no source; the descriptive statistics for condominiums, multiplexes and land, including amenity shares and regional composition, differed from the log throughout; the Wald statistics in the text differed from those in the tables, and both differed from the log; an omnibus statistic with 7 degrees of freedom appeared in the abstract and one with 17 degrees of freedom in the results. The original Figure~2 reproduced the tabled rather than the logged values. The most likely explanation is that the tables and that figure came from a second run of a later script version, of which no log was kept, while the narrative text was written partly from the log; the variations in the distance variable mentioned in the first version (``corrected distance measures'') support this reading. Because the log is the only auditable record, the revised paper reports its values throughout, and the earlier figures are documented in the repository's revision changelog rather than reproduced here. | |
| 14 | + | |
| 15 | +\paragraph{Generated tables and figures.} Every table in the paper except the two definitional ones (Tables~\ref{tab:variables} and~\ref{tab:specification}) and every figure is written by \texttt{scripts/06\_tables\_figures\_from\_log.py}, which parses the log, checks that each segment has five complete coefficient blocks with the recorded number of regressors, and emits the LaTeX fragments in \texttt{paper/tables/} and the PNG files in \texttt{figures/}. Three quantities are derived rather than read: the significance stars, recomputed from the recorded coefficients and bootstrap standard errors with the 10/5/1 percent thresholds; the overall first-stage $F$ of Table~\ref{tab:sqr}, computed from the recorded $R^2$, $N$ and the number of first-stage regressors; and the unconditional price quantiles $P(\tau)$ in the header of Table~\ref{tab:implicit_prices}, recovered as $\pi_k(\tau)/[\exp(\hat\gamma_k(\tau)) - 1]$ from the highway row (the median so recovered, \$579,041, agrees with the recorded median of \$579,000 to within the four-decimal rounding of the coefficient). The parsed log is saved as \texttt{results/log\_parsed.json}. | |
| 16 | + | |
| 17 | +\paragraph{Anomalies to resolve on re-execution.} Three features of the recorded estimates call for verification. The coefficient on the centred log distance to Montreal is positive and large in every segment (1.6 to 2.5 for houses, up to 8.4 for multiplexes and 5.7 for land, with bootstrap standard errors of 0.4 to 1.7), which is not interpretable as a distance gradient and suggests either a scaling problem in the distance variable of the run that produced the log or near-collinearity with the regional indicators; the amenity coefficients are conditional on this control. Moran's $I$ on the 2SQR residuals exceeds that on the QR residuals, which Section~\ref{sec:moran_sqr} attributes to the use of the fitted lag in forming the residuals; the structural residuals should be examined. And the regional coefficient for ``other regions'' relative to Gatineau changes sign across quantiles for houses ($-$0.126 at $\tau = 0.10$, $+$0.163 at $\tau = 0.90$), which may be a consequence of the first anomaly. | |
| 18 | + | |
| 19 | +\paragraph{Outputs to restore.} A re-run with the current script and the snapshot would restore, in order of priority: bootstrap standard errors for the 2SQR second stage and the lag coefficients at all five quantiles; the partial first-stage $F$; Moran's $I$ on structural residuals; a cluster or block bootstrap; the sensitivity of the results to $k$, to projected coordinates, to the trimming thresholds and to municipality fixed effects; the descriptive statistics of the structural variables; and the variance inflation factors. The paper should not be circulated as a final version before at least the first three items are available. | |
| 20 | + | |
| 21 | +% ============================================================================ | |
| 22 | +\section{Additional table} | |
| 23 | +\label{app:tables} | |
| 24 | +% ============================================================================ | |
| 25 | + | |
| 26 | +\input{tables/qr_houses_structural} | |
deleted
paper/figures/fig2_wtp_by_quantile.png
+0 −0
Binary file not shown.
added
paper/figures/fig_coefficients_by_quantile.png
+0 −0
Binary file not shown.
added
paper/figures/fig_implicit_prices_by_quantile.png
+0 −0
Binary file not shown.
added
paper/figures/fig_ols_qr_sqr_median.png
+0 −0
Binary file not shown.
added
paper/figures/fig_pseudo_r2.png
+0 −0
Binary file not shown.
added
paper/figures/fig_wald_adjacent_quantiles.png
+0 −0
Binary file not shown.
modified
paper/main.pdf
+0 −0
Binary file not shown.
modified
paper/main.tex
+11 −19
@@ -65,13 +65,13 @@ | ||
| 65 | 65 | |
| 66 | 66 | % --- Bibliography --- |
| 67 | 67 | \usepackage[authoryear,round,semicolon]{natbib} |
| 68 | −\bibliographystyle{apalike} | |
| 68 | +\bibliographystyle{aer} | |
| 69 | 69 | |
| 70 | 70 | % --- Headers & Footers --- |
| 71 | 71 | \usepackage{fancyhdr} |
| 72 | 72 | \pagestyle{fancy} |
| 73 | 73 | \fancyhf{} |
| 74 | −\fancyhead[L]{\small\itshape Spatial Quantile Hedonic Pricing in Quebec} | |
| 74 | +\fancyhead[L]{\small\itshape Heterogeneous Amenity Capitalization in the Quebec Residential Market} | |
| 75 | 75 | \fancyhead[R]{\thepage} |
| 76 | 76 | \renewcommand{\headrulewidth}{0.4pt} |
| 77 | 77 | |
@@ -106,12 +106,12 @@ | ||
| 106 | 106 | \newcommand{\WPnumber}{1} |
| 107 | 107 | \newcommand{\WPtitle}{Heterogeneous Amenity Capitalization in the Quebec Residential Market: A Spatial Quantile Regression Approach} |
| 108 | 108 | \newcommand{\WPsubtitle}{} |
| 109 | −\newcommand{\WPdate}{May 2026} | |
| 110 | −\newcommand{\WPversion}{1.0} | |
| 109 | +\newcommand{\WPdate}{October 2026} | |
| 110 | +\newcommand{\WPversion}{1.1} | |
| 111 | 111 | \newcommand{\WPabstract}{% |
| 112 | −Standard hedonic pricing models estimated by ordinary least squares impose constant implicit prices for housing attributes across the conditional price distribution---an assumption that is difficult to justify when buyers at different price segments have different preferences, constraints, and substitution possibilities. This paper examines whether neighborhood amenity capitalization varies across the price distribution in the Quebec residential market. Using 42,481 property listings from Centris spanning four market segments---single-family houses, condominiums, multiplexes, and vacant land---we estimate quantile regression models at $\tau \in \{0.10, 0.25, 0.50, 0.75, 0.90\}$ and augment them with an instrumented spatial lag in a two-stage spatial quantile regression (2SQR) framework. Inter-quantile Wald tests reject the null of coefficient homogeneity (omnibus $\chi^2(7) = 35.74$, $p < 0.001$ for houses). The results suggest that hospital proximity shifts from a significant negative association ($-$0.082) at the 10th percentile to a positive (insignificant) association at the 90th percentile; park proximity declines from $+$0.087 ($p < 0.001$) to $-$0.044 (insignificant); and transit proximity declines from $+$0.074 to $-$0.008 across the distribution. The spatial lag parameter $\rho$ is positive and significant across all segments, with Moran's $I$ on OLS residuals ranging from 0.44 to 0.55 and first-stage $F$-statistics exceeding 100 in all segments. Because the analysis relies on listing prices and cross-sectional variation, the estimated coefficients are best interpreted as quantile-specific capitalization gradients rather than causal effects. To our knowledge, this is the first multi-segment spatial quantile analysis of amenity capitalization in the Quebec housing market.% | |
| 112 | +Hedonic regressions estimated at the conditional mean impose a single implicit price for each housing attribute across the price distribution. This paper asks whether the capitalisation of neighbourhood amenities into Quebec residential asking prices varies along the conditional price distribution, and whether it survives an adjustment for spatial dependence. Using a January 2026 snapshot of 42,481 Centris listings in four segments---single-family houses, condominiums, multiplexes and vacant land---we estimate quantile regressions at $\tau \in \{0.10, 0.25, 0.50, 0.75, 0.90\}$ and a two-stage spatial quantile regression in which a $k$-nearest-neighbour spatial lag of neighbouring log prices is instrumented by spatially lagged covariates. For houses, the coefficients of the highway, transit and park indicators decline monotonically along the distribution (highway from 0.205 at $\tau = 0.10$ to 0.034 at $\tau = 0.90$; transit from 0.178 to 0.053; park from 0.122 to 0.014) and the hospital indicator changes sign (from $-$0.085 to $+$0.041); the equality of the tail coefficients is rejected for all four, while the school discount of about 11 log points is constant. Condominiums show no detectable heterogeneity; multiplexes and vacant land show it for two amenities each. Moran's $I$ on OLS residuals lies between 0.51 and 0.58 in every segment; the median spatial-lag coefficient ranges from 0.13 (multiplexes) to 0.32 (land), and its introduction attenuates the median highway, transit and school differentials for houses by a third to a half. The estimates are quantile-specific capitalisation gradients in asking prices, not willingness-to-pay measures; inference relies on a paired bootstrap that ignores spatial dependence, and the spatial-lag coefficients carry no standard errors. All reported figures are drawn from the preserved log of the original estimation run, and the robustness analyses that a re-estimation should provide are stated explicitly.% | |
| 113 | 113 | } |
| 114 | −\newcommand{\WPkeywords}{hedonic pricing, spatial quantile regression, amenity capitalization, housing market segmentation, implicit prices, Quebec real estate, Centris, bootstrap inference} | |
| 114 | +\newcommand{\WPkeywords}{hedonic price function, quantile regression, spatial lag, amenity capitalisation, implicit prices, housing submarkets, asking prices, Quebec} | |
| 115 | 115 | \newcommand{\WPjel}{R31, C21, C31, Q51} |
| 116 | 116 | |
| 117 | 117 | % --- Author --- |
@@ -131,15 +131,6 @@ Standard hedonic pricing models estimated by ordinary least squares impose const | ||
| 131 | 131 | % DOCUMENT |
| 132 | 132 | % ============================================================================ |
| 133 | 133 | |
| 134 | −% --- Figures not regenerated locally (scripts/05_sqr_multi_segment.py produces them): graceful placeholder --- | |
| 135 | −\makeatletter | |
| 136 | −\let\origincludegraphics\includegraphics | |
| 137 | −\renewcommand{\includegraphics}[2][]{% | |
| 138 | − \IfFileExists{#2}{\origincludegraphics[#1]{#2}}{% | |
| 139 | − \fbox{\parbox[c][3.2cm][c]{0.72\linewidth}{\centering\ttfamily\small Figure not available in this build\\[3pt]\detokenize{#2}}}}% | |
| 140 | −} | |
| 141 | −\makeatother | |
| 142 | − | |
| 143 | 134 | \begin{document} |
| 144 | 135 | |
| 145 | 136 | % --- Title Page --- |
@@ -148,8 +139,8 @@ Standard hedonic pricing models estimated by ordinary least squares impose const | ||
| 148 | 139 | % --- Main Body --- |
| 149 | 140 | \input{sections/introduction} |
| 150 | 141 | \input{sections/literature} |
| 151 | −\input{sections/methodology} | |
| 152 | 142 | \input{sections/data} |
| 143 | +\input{sections/methodology} | |
| 153 | 144 | \input{sections/results} |
| 154 | 145 | \input{sections/robustness} |
| 155 | 146 | \input{sections/discussion} |
@@ -157,9 +148,10 @@ Standard hedonic pricing models estimated by ordinary least squares impose const | ||
| 157 | 148 | |
| 158 | 149 | % --- References --- |
| 159 | 150 | \newpage |
| 160 | −\input{sections/references} | |
| 151 | +\bibliography{references} | |
| 161 | 152 | |
| 162 | −% --- Figures --- | |
| 163 | −\input{sections/figures} | |
| 153 | +% --- Appendix --- | |
| 154 | +\clearpage | |
| 155 | +\input{appendix/appendix} | |
| 164 | 156 | |
| 165 | 157 | \end{document} |
added
paper/references.bib
+1247 −0
@@ -0,0 +1,1247 @@ | ||
| 1 | +% ============================================================================ | |
| 2 | +% References — UQO Working Paper No. 1 (revised 2026-10-17) | |
| 3 | +% Every entry was checked against Crossref (DOI resolved) or, for the two items | |
| 4 | +% without a DOI (Halvorsen & Palmquist 1980; Su & Yang 2011), against the | |
| 5 | +% publisher / institutional repository page. See docs/CHANGELOG-REVISION.md §3. | |
| 6 | +% ============================================================================ | |
| 7 | + | |
| 8 | +% ---------------------------------------------------------------- hedonic theory | |
| 9 | +@article{rosen1974hedonic, | |
| 10 | + author = {Rosen, Sherwin}, | |
| 11 | + title = {Hedonic Prices and Implicit Markets: Product Differentiation in Pure Competition}, | |
| 12 | + journal = {Journal of Political Economy}, | |
| 13 | + volume = {82}, | |
| 14 | + number = {1}, | |
| 15 | + pages = {34--55}, | |
| 16 | + year = {1974}, | |
| 17 | + doi = {10.1086/260169} | |
| 18 | +} | |
| 19 | +@article{epple1987hedonic, | |
| 20 | + author = {Epple, Dennis}, | |
| 21 | + title = {Hedonic Prices and Implicit Markets: Estimating Demand and Supply Functions for Differentiated Products}, | |
| 22 | + journal = {Journal of Political Economy}, | |
| 23 | + volume = {95}, | |
| 24 | + number = {1}, | |
| 25 | + pages = {59--80}, | |
| 26 | + year = {1987}, | |
| 27 | + doi = {10.1086/261441} | |
| 28 | +} | |
| 29 | +@article{ekeland2004identification, | |
| 30 | + author = {Ekeland, Ivar and Heckman, James J. and Nesheim, Lars}, | |
| 31 | + title = {Identification and Estimation of Hedonic Models}, | |
| 32 | + journal = {Journal of Political Economy}, | |
| 33 | + volume = {112}, | |
| 34 | + number = {S1}, | |
| 35 | + pages = {S60--S109}, | |
| 36 | + year = {2004}, | |
| 37 | + doi = {10.1086/379947} | |
| 38 | +} | |
| 39 | +@article{bajari2005estimating, | |
| 40 | + author = {Bajari, Patrick and Benkard, C. Lanier}, | |
| 41 | + title = {Demand Estimation with Heterogeneous Consumers and Unobserved Product Characteristics: A Hedonic Approach}, | |
| 42 | + journal = {Journal of Political Economy}, | |
| 43 | + volume = {113}, | |
| 44 | + number = {6}, | |
| 45 | + pages = {1239--1276}, | |
| 46 | + year = {2005}, | |
| 47 | + doi = {10.1086/498586} | |
| 48 | +} | |
| 49 | +@article{bayer2007migration, | |
| 50 | + author = {Bayer, Patrick and Ferreira, Fernando and McMillan, Robert}, | |
| 51 | + title = {A Unified Framework for Measuring Preferences for Schools and Neighborhoods}, | |
| 52 | + journal = {Journal of Political Economy}, | |
| 53 | + volume = {115}, | |
| 54 | + number = {4}, | |
| 55 | + pages = {588--638}, | |
| 56 | + year = {2007}, | |
| 57 | + doi = {10.1086/522381} | |
| 58 | +} | |
| 59 | +@article{kuminoff2010quasi, | |
| 60 | + author = {Kuminoff, Nicolai V. and Parmeter, Christopher F. and Pope, Jaren C.}, | |
| 61 | + title = {Which Hedonic Models Can We Trust to Recover the Marginal Willingness to Pay for Environmental Amenities?}, | |
| 62 | + journal = {Journal of Environmental Economics and Management}, | |
| 63 | + volume = {60}, | |
| 64 | + number = {3}, | |
| 65 | + pages = {145--160}, | |
| 66 | + year = {2010}, | |
| 67 | + doi = {10.1016/j.jeem.2010.06.001} | |
| 68 | +} | |
| 69 | +@article{kuminoff2014capitalization, | |
| 70 | + author = {Kuminoff, Nicolai V. and Pope, Jaren C.}, | |
| 71 | + title = {Do ``Capitalization Effects'' for Public Goods Reveal the Public's Willingness to Pay?}, | |
| 72 | + journal = {International Economic Review}, | |
| 73 | + volume = {55}, | |
| 74 | + number = {4}, | |
| 75 | + pages = {1227--1250}, | |
| 76 | + year = {2014}, | |
| 77 | + doi = {10.1111/iere.12088} | |
| 78 | +} | |
| 79 | +@article{bishop2020best, | |
| 80 | + author = {Bishop, Kelly C. and Kuminoff, Nicolai V. and Banzhaf, H. Spencer and Boyle, Kevin J. and von Gravenitz, Kathrine and Pope, Jaren C. and Smith, V. Kerry and Timmins, Christopher D.}, | |
| 81 | + title = {Best Practices for Using Hedonic Property Value Models to Measure Willingness to Pay for Environmental Quality}, | |
| 82 | + journal = {Review of Environmental Economics and Policy}, | |
| 83 | + volume = {14}, | |
| 84 | + number = {2}, | |
| 85 | + pages = {260--281}, | |
| 86 | + year = {2020}, | |
| 87 | + doi = {10.1093/reep/reaa001} | |
| 88 | +} | |
| 89 | +@incollection{parmeter2013quasi, | |
| 90 | + author = {Parmeter, Christopher F. and Pope, Jaren C.}, | |
| 91 | + title = {Quasi-Experiments and Hedonic Property Value Methods}, | |
| 92 | + booktitle = {Handbook on Experimental Economics and the Environment}, | |
| 93 | + editor = {List, John A. and Price, Michael K.}, | |
| 94 | + publisher = {Edward Elgar}, | |
| 95 | + address = {Cheltenham}, | |
| 96 | + pages = {3--66}, | |
| 97 | + year = {2013}, | |
| 98 | + doi = {10.4337/9781781009079.00007} | |
| 99 | +} | |
| 100 | +@article{small2012spatial, | |
| 101 | + author = {Small, Kenneth A. and Steimetz, Seiji S. C.}, | |
| 102 | + title = {Spatial Hedonics and the Willingness to Pay for Residential Amenities}, | |
| 103 | + journal = {Journal of Regional Science}, | |
| 104 | + volume = {52}, | |
| 105 | + number = {4}, | |
| 106 | + pages = {635--647}, | |
| 107 | + year = {2012}, | |
| 108 | + doi = {10.1111/j.1467-9787.2012.00774.x} | |
| 109 | +} | |
| 110 | +@incollection{malpezzi2003hedonic, | |
| 111 | + author = {Malpezzi, Stephen}, | |
| 112 | + title = {Hedonic Pricing Models: A Selective and Applied Review}, | |
| 113 | + booktitle = {Housing Economics and Public Policy}, | |
| 114 | + editor = {O'Sullivan, Tony and Gibb, Kenneth}, | |
| 115 | + publisher = {Blackwell}, | |
| 116 | + address = {Oxford}, | |
| 117 | + pages = {67--89}, | |
| 118 | + year = {2003}, | |
| 119 | + doi = {10.1002/9780470690680.ch5} | |
| 120 | +} | |
| 121 | +@article{sirmans2005composition, | |
| 122 | + author = {Sirmans, G. Stacy and Macpherson, David A. and Zietz, Emily N.}, | |
| 123 | + title = {The Composition of Hedonic Pricing Models}, | |
| 124 | + journal = {Journal of Real Estate Literature}, | |
| 125 | + volume = {13}, | |
| 126 | + number = {1}, | |
| 127 | + pages = {1--44}, | |
| 128 | + year = {2005}, | |
| 129 | + doi = {10.1080/10835547.2005.12090154} | |
| 130 | +} | |
| 131 | +@article{halvorsen1981choice, | |
| 132 | + author = {Halvorsen, Robert and Pollakowski, Henry O.}, | |
| 133 | + title = {Choice of Functional Form for Hedonic Price Equations}, | |
| 134 | + journal = {Journal of Urban Economics}, | |
| 135 | + volume = {10}, | |
| 136 | + number = {1}, | |
| 137 | + pages = {37--49}, | |
| 138 | + year = {1981}, | |
| 139 | + doi = {10.1016/0094-1190(81)90021-8} | |
| 140 | +} | |
| 141 | +@article{halvorsen1980interpretation, | |
| 142 | + author = {Halvorsen, Robert and Palmquist, Raymond}, | |
| 143 | + title = {The Interpretation of Dummy Variables in Semilogarithmic Equations}, | |
| 144 | + journal = {American Economic Review}, | |
| 145 | + volume = {70}, | |
| 146 | + number = {3}, | |
| 147 | + pages = {474--475}, | |
| 148 | + year = {1980} | |
| 149 | +} | |
| 150 | +@article{cropper1988choice, | |
| 151 | + author = {Cropper, Maureen L. and Deck, Leland B. and McConnell, Kenneth E.}, | |
| 152 | + title = {On the Choice of Functional Form for Hedonic Price Functions}, | |
| 153 | + journal = {Review of Economics and Statistics}, | |
| 154 | + volume = {70}, | |
| 155 | + number = {4}, | |
| 156 | + pages = {668--675}, | |
| 157 | + year = {1988}, | |
| 158 | + doi = {10.2307/1935831} | |
| 159 | +} | |
| 160 | +@article{cassel1985hedonic, | |
| 161 | + author = {Cassel, Eric and Mendelsohn, Robert}, | |
| 162 | + title = {The Choice of Functional Forms for Hedonic Price Equations: Comment}, | |
| 163 | + journal = {Journal of Urban Economics}, | |
| 164 | + volume = {18}, | |
| 165 | + number = {2}, | |
| 166 | + pages = {135--142}, | |
| 167 | + year = {1985}, | |
| 168 | + doi = {10.1016/0094-1190(85)90012-9} | |
| 169 | +} | |
| 170 | + | |
| 171 | +% ---------------------------------------------------------------- spatial econometrics | |
| 172 | +@book{anselin1988spatial, | |
| 173 | + author = {Anselin, Luc}, | |
| 174 | + title = {Spatial Econometrics: Methods and Models}, | |
| 175 | + publisher = {Kluwer Academic Publishers}, | |
| 176 | + address = {Dordrecht}, | |
| 177 | + year = {1988}, | |
| 178 | + doi = {10.1007/978-94-015-7799-1} | |
| 179 | +} | |
| 180 | +@article{anselin2010thirty, | |
| 181 | + author = {Anselin, Luc}, | |
| 182 | + title = {Thirty Years of Spatial Econometrics}, | |
| 183 | + journal = {Papers in Regional Science}, | |
| 184 | + volume = {89}, | |
| 185 | + number = {1}, | |
| 186 | + pages = {3--25}, | |
| 187 | + year = {2010}, | |
| 188 | + doi = {10.1111/j.1435-5957.2010.00279.x} | |
| 189 | +} | |
| 190 | +@book{lesage2009introduction, | |
| 191 | + author = {LeSage, James P. and Pace, R. Kelley}, | |
| 192 | + title = {Introduction to Spatial Econometrics}, | |
| 193 | + publisher = {CRC Press}, | |
| 194 | + address = {Boca Raton}, | |
| 195 | + year = {2009}, | |
| 196 | + doi = {10.1201/9781420064254} | |
| 197 | +} | |
| 198 | +@article{lesage2014biggest, | |
| 199 | + author = {LeSage, James P. and Pace, R. Kelley}, | |
| 200 | + title = {The Biggest Myth in Spatial Econometrics}, | |
| 201 | + journal = {Econometrics}, | |
| 202 | + volume = {2}, | |
| 203 | + number = {4}, | |
| 204 | + pages = {217--249}, | |
| 205 | + year = {2014}, | |
| 206 | + doi = {10.3390/econometrics2040217} | |
| 207 | +} | |
| 208 | +@article{elhorst2010applied, | |
| 209 | + author = {Elhorst, J. Paul}, | |
| 210 | + title = {Applied Spatial Econometrics: Raising the Bar}, | |
| 211 | + journal = {Spatial Economic Analysis}, | |
| 212 | + volume = {5}, | |
| 213 | + number = {1}, | |
| 214 | + pages = {9--28}, | |
| 215 | + year = {2010}, | |
| 216 | + doi = {10.1080/17421770903541772} | |
| 217 | +} | |
| 218 | +@article{kelejian1998generalized, | |
| 219 | + author = {Kelejian, Harry H. and Prucha, Ingmar R.}, | |
| 220 | + title = {A Generalized Spatial Two-Stage Least Squares Procedure for Estimating a Spatial Autoregressive Model with Autoregressive Disturbances}, | |
| 221 | + journal = {Journal of Real Estate Finance and Economics}, | |
| 222 | + volume = {17}, | |
| 223 | + number = {1}, | |
| 224 | + pages = {99--121}, | |
| 225 | + year = {1998}, | |
| 226 | + doi = {10.1023/A:1007707430416} | |
| 227 | +} | |
| 228 | +@article{kelejian2010specification, | |
| 229 | + author = {Kelejian, Harry H. and Prucha, Ingmar R.}, | |
| 230 | + title = {Specification and Estimation of Spatial Autoregressive Models with Autoregressive and Heteroskedastic Disturbances}, | |
| 231 | + journal = {Journal of Econometrics}, | |
| 232 | + volume = {157}, | |
| 233 | + number = {1}, | |
| 234 | + pages = {53--67}, | |
| 235 | + year = {2010}, | |
| 236 | + doi = {10.1016/j.jeconom.2009.10.025} | |
| 237 | +} | |
| 238 | +@article{lee2003best, | |
| 239 | + author = {Lee, Lung-fei}, | |
| 240 | + title = {Best Spatial Two-Stage Least Squares Estimators for a Spatial Autoregressive Model with Autoregressive Disturbances}, | |
| 241 | + journal = {Econometric Reviews}, | |
| 242 | + volume = {22}, | |
| 243 | + number = {4}, | |
| 244 | + pages = {307--335}, | |
| 245 | + year = {2003}, | |
| 246 | + doi = {10.1081/ETC-120025891} | |
| 247 | +} | |
| 248 | +@article{gibbons2012mostly, | |
| 249 | + author = {Gibbons, Stephen and Overman, Henry G.}, | |
| 250 | + title = {Mostly Pointless Spatial Econometrics?}, | |
| 251 | + journal = {Journal of Regional Science}, | |
| 252 | + volume = {52}, | |
| 253 | + number = {2}, | |
| 254 | + pages = {172--191}, | |
| 255 | + year = {2012}, | |
| 256 | + doi = {10.1111/j.1467-9787.2012.00760.x} | |
| 257 | +} | |
| 258 | +@incollection{gibbons2015spatial, | |
| 259 | + author = {Gibbons, Stephen and Overman, Henry G. and Patacchini, Eleonora}, | |
| 260 | + title = {Spatial Methods}, | |
| 261 | + booktitle = {Handbook of Regional and Urban Economics}, | |
| 262 | + editor = {Duranton, Gilles and Henderson, J. Vernon and Strange, William C.}, | |
| 263 | + volume = {5}, | |
| 264 | + publisher = {Elsevier}, | |
| 265 | + address = {Amsterdam}, | |
| 266 | + pages = {115--168}, | |
| 267 | + year = {2015}, | |
| 268 | + doi = {10.1016/B978-0-444-59517-1.00003-9} | |
| 269 | +} | |
| 270 | +@article{getis2009spatial, | |
| 271 | + author = {Getis, Arthur}, | |
| 272 | + title = {Spatial Weights Matrices}, | |
| 273 | + journal = {Geographical Analysis}, | |
| 274 | + volume = {41}, | |
| 275 | + number = {4}, | |
| 276 | + pages = {404--410}, | |
| 277 | + year = {2009}, | |
| 278 | + doi = {10.1111/j.1538-4632.2009.00768.x} | |
| 279 | +} | |
| 280 | +@article{stakhovych2009specification, | |
| 281 | + author = {Stakhovych, Stanislav and Bijmolt, Tammo H. A.}, | |
| 282 | + title = {Specification of Spatial Models: A Simulation Study on Weights Matrices}, | |
| 283 | + journal = {Papers in Regional Science}, | |
| 284 | + volume = {88}, | |
| 285 | + number = {2}, | |
| 286 | + pages = {389--408}, | |
| 287 | + year = {2009}, | |
| 288 | + doi = {10.1111/j.1435-5957.2008.00213.x} | |
| 289 | +} | |
| 290 | +@book{cliff1981spatial, | |
| 291 | + author = {Cliff, Andrew D. and Ord, J. Keith}, | |
| 292 | + title = {Spatial Processes: Models and Applications}, | |
| 293 | + publisher = {Pion}, | |
| 294 | + address = {London}, | |
| 295 | + year = {1981} | |
| 296 | +} | |
| 297 | +@article{jin2015bootstrap, | |
| 298 | + author = {Jin, Fei and Lee, Lung-fei}, | |
| 299 | + title = {On the Bootstrap for {M}oran's {I} Test for Spatial Dependence}, | |
| 300 | + journal = {Journal of Econometrics}, | |
| 301 | + volume = {184}, | |
| 302 | + number = {2}, | |
| 303 | + pages = {295--314}, | |
| 304 | + year = {2015}, | |
| 305 | + doi = {10.1016/j.jeconom.2014.09.005} | |
| 306 | +} | |
| 307 | +@article{can1992specification, | |
| 308 | + author = {Can, Ayse}, | |
| 309 | + title = {Specification and Estimation of Hedonic Housing Price Models}, | |
| 310 | + journal = {Regional Science and Urban Economics}, | |
| 311 | + volume = {22}, | |
| 312 | + number = {3}, | |
| 313 | + pages = {453--474}, | |
| 314 | + year = {1992}, | |
| 315 | + doi = {10.1016/0166-0462(92)90039-4} | |
| 316 | +} | |
| 317 | +@article{basu1998analysis, | |
| 318 | + author = {Basu, Sabyasachi and Thibodeau, Thomas G.}, | |
| 319 | + title = {Analysis of Spatial Autocorrelation in House Prices}, | |
| 320 | + journal = {Journal of Real Estate Finance and Economics}, | |
| 321 | + volume = {17}, | |
| 322 | + number = {1}, | |
| 323 | + pages = {61--85}, | |
| 324 | + year = {1998}, | |
| 325 | + doi = {10.1023/A:1007703229507} | |
| 326 | +} | |
| 327 | +@article{kim2003measuring, | |
| 328 | + author = {Kim, Chong Won and Phipps, Tim T. and Anselin, Luc}, | |
| 329 | + title = {Measuring the Benefits of Air Quality Improvement: A Spatial Hedonic Approach}, | |
| 330 | + journal = {Journal of Environmental Economics and Management}, | |
| 331 | + volume = {45}, | |
| 332 | + number = {1}, | |
| 333 | + pages = {24--39}, | |
| 334 | + year = {2003}, | |
| 335 | + doi = {10.1016/S0095-0696(02)00013-X} | |
| 336 | +} | |
| 337 | +@article{anselin2008errors, | |
| 338 | + author = {Anselin, Luc and Lozano-Gracia, Nancy}, | |
| 339 | + title = {Errors in Variables and Spatial Effects in Hedonic House Price Models of Ambient Air Quality}, | |
| 340 | + journal = {Empirical Economics}, | |
| 341 | + volume = {34}, | |
| 342 | + number = {1}, | |
| 343 | + pages = {5--34}, | |
| 344 | + year = {2008}, | |
| 345 | + doi = {10.1007/s00181-007-0152-3} | |
| 346 | +} | |
| 347 | +@article{bitter2007incorporating, | |
| 348 | + author = {Bitter, Christopher and Mulligan, Gordon F. and Dall'erba, Sandy}, | |
| 349 | + title = {Incorporating Spatial Variation in Housing Attribute Prices: A Comparison of Geographically Weighted Regression and the Spatial Expansion Method}, | |
| 350 | + journal = {Journal of Geographical Systems}, | |
| 351 | + volume = {9}, | |
| 352 | + number = {1}, | |
| 353 | + pages = {7--27}, | |
| 354 | + year = {2007}, | |
| 355 | + doi = {10.1007/s10109-006-0028-7} | |
| 356 | +} | |
| 357 | +@article{bourassa2007spatial, | |
| 358 | + author = {Bourassa, Steven C. and Cantoni, Eva and Hoesli, Martin}, | |
| 359 | + title = {Spatial Dependence, Housing Submarkets, and House Price Prediction}, | |
| 360 | + journal = {Journal of Real Estate Finance and Economics}, | |
| 361 | + volume = {35}, | |
| 362 | + number = {2}, | |
| 363 | + pages = {143--160}, | |
| 364 | + year = {2007}, | |
| 365 | + doi = {10.1007/s11146-007-9036-8} | |
| 366 | +} | |
| 367 | +@article{bourassa2010spatial, | |
| 368 | + author = {Bourassa, Steven C. and Cantoni, Eva and Hoesli, Martin}, | |
| 369 | + title = {Predicting House Prices with Spatial Dependence: A Comparison of Alternative Methods}, | |
| 370 | + journal = {Journal of Real Estate Research}, | |
| 371 | + volume = {32}, | |
| 372 | + number = {2}, | |
| 373 | + pages = {139--159}, | |
| 374 | + year = {2010}, | |
| 375 | + doi = {10.1080/10835547.2010.12091276} | |
| 376 | +} | |
| 377 | +@article{zhang2018spatial, | |
| 378 | + author = {Zhang, Lu and Sun, Yiguo and Stengos, Thanasis}, | |
| 379 | + title = {Spatial Dependence in the Residential Canadian Housing Market}, | |
| 380 | + journal = {Journal of Real Estate Finance and Economics}, | |
| 381 | + volume = {58}, | |
| 382 | + number = {2}, | |
| 383 | + pages = {223--263}, | |
| 384 | + year = {2019}, | |
| 385 | + doi = {10.1007/s11146-017-9623-2} | |
| 386 | +} | |
| 387 | +@book{dube2014spatial, | |
| 388 | + author = {Dub\'e, Jean and Legros, Diègo}, | |
| 389 | + title = {Spatial Econometrics Using Microdata}, | |
| 390 | + publisher = {ISTE / John Wiley \& Sons}, | |
| 391 | + address = {London}, | |
| 392 | + year = {2014}, | |
| 393 | + doi = {10.1002/9781119008651} | |
| 394 | +} | |
| 395 | +@article{dube2013spatiotemporal, | |
| 396 | + author = {Dub\'e, Jean and Legros, Diègo}, | |
| 397 | + title = {A Spatio-Temporal Measure of Spatial Dependence: An Example Using Real Estate Data}, | |
| 398 | + journal = {Papers in Regional Science}, | |
| 399 | + volume = {92}, | |
| 400 | + number = {1}, | |
| 401 | + pages = {19--30}, | |
| 402 | + year = {2013}, | |
| 403 | + doi = {10.1111/j.1435-5957.2011.00402.x} | |
| 404 | +} | |
| 405 | + | |
| 406 | +% ---------------------------------------------------------------- quantile regression | |
| 407 | +@article{koenker1978regression, | |
| 408 | + author = {Koenker, Roger and Bassett, Gilbert}, | |
| 409 | + title = {Regression Quantiles}, | |
| 410 | + journal = {Econometrica}, | |
| 411 | + volume = {46}, | |
| 412 | + number = {1}, | |
| 413 | + pages = {33--50}, | |
| 414 | + year = {1978}, | |
| 415 | + doi = {10.2307/1913643} | |
| 416 | +} | |
| 417 | +@article{koenker1982robust, | |
| 418 | + author = {Koenker, Roger and Bassett, Gilbert}, | |
| 419 | + title = {Robust Tests for Heteroscedasticity Based on Regression Quantiles}, | |
| 420 | + journal = {Econometrica}, | |
| 421 | + volume = {50}, | |
| 422 | + number = {1}, | |
| 423 | + pages = {43--61}, | |
| 424 | + year = {1982}, | |
| 425 | + doi = {10.2307/1912528} | |
| 426 | +} | |
| 427 | +@article{koenker1999goodness, | |
| 428 | + author = {Koenker, Roger and Machado, Jos\'e A. F.}, | |
| 429 | + title = {Goodness of Fit and Related Inference Processes for Quantile Regression}, | |
| 430 | + journal = {Journal of the American Statistical Association}, | |
| 431 | + volume = {94}, | |
| 432 | + number = {448}, | |
| 433 | + pages = {1296--1310}, | |
| 434 | + year = {1999}, | |
| 435 | + doi = {10.1080/01621459.1999.10473882} | |
| 436 | +} | |
| 437 | +@article{koenker2001quantile, | |
| 438 | + author = {Koenker, Roger and Hallock, Kevin F.}, | |
| 439 | + title = {Quantile Regression}, | |
| 440 | + journal = {Journal of Economic Perspectives}, | |
| 441 | + volume = {15}, | |
| 442 | + number = {4}, | |
| 443 | + pages = {143--156}, | |
| 444 | + year = {2001}, | |
| 445 | + doi = {10.1257/jep.15.4.143} | |
| 446 | +} | |
| 447 | +@article{koenker2002inference, | |
| 448 | + author = {Koenker, Roger and Xiao, Zhijie}, | |
| 449 | + title = {Inference on the Quantile Regression Process}, | |
| 450 | + journal = {Econometrica}, | |
| 451 | + volume = {70}, | |
| 452 | + number = {4}, | |
| 453 | + pages = {1583--1612}, | |
| 454 | + year = {2002}, | |
| 455 | + doi = {10.1111/1468-0262.00342} | |
| 456 | +} | |
| 457 | +@book{koenker2005quantile, | |
| 458 | + author = {Koenker, Roger}, | |
| 459 | + title = {Quantile Regression}, | |
| 460 | + publisher = {Cambridge University Press}, | |
| 461 | + address = {Cambridge}, | |
| 462 | + year = {2005}, | |
| 463 | + doi = {10.1017/CBO9780511754098} | |
| 464 | +} | |
| 465 | +@book{hao2007quantile, | |
| 466 | + author = {Hao, Lingxin and Naiman, Daniel Q.}, | |
| 467 | + title = {Quantile Regression}, | |
| 468 | + publisher = {Sage}, | |
| 469 | + address = {Thousand Oaks}, | |
| 470 | + year = {2007}, | |
| 471 | + doi = {10.4135/9781412985550} | |
| 472 | +} | |
| 473 | +@article{buchinsky1995estimating, | |
| 474 | + author = {Buchinsky, Moshe}, | |
| 475 | + title = {Estimating the Asymptotic Covariance Matrix for Quantile Regression Models: A {M}onte {C}arlo Study}, | |
| 476 | + journal = {Journal of Econometrics}, | |
| 477 | + volume = {68}, | |
| 478 | + number = {2}, | |
| 479 | + pages = {303--338}, | |
| 480 | + year = {1995}, | |
| 481 | + doi = {10.1016/0304-4076(94)01652-G} | |
| 482 | +} | |
| 483 | +@article{buchinsky1998recent, | |
| 484 | + author = {Buchinsky, Moshe}, | |
| 485 | + title = {Recent Advances in Quantile Regression Models: A Practical Guideline for Empirical Research}, | |
| 486 | + journal = {Journal of Human Resources}, | |
| 487 | + volume = {33}, | |
| 488 | + number = {1}, | |
| 489 | + pages = {88--126}, | |
| 490 | + year = {1998}, | |
| 491 | + doi = {10.2307/146316} | |
| 492 | +} | |
| 493 | +@article{hahn1995bootstrapping, | |
| 494 | + author = {Hahn, Jinyong}, | |
| 495 | + title = {Bootstrapping Quantile Regression Estimators}, | |
| 496 | + journal = {Econometric Theory}, | |
| 497 | + volume = {11}, | |
| 498 | + number = {1}, | |
| 499 | + pages = {105--121}, | |
| 500 | + year = {1995}, | |
| 501 | + doi = {10.1017/S0266466600009051} | |
| 502 | +} | |
| 503 | +@article{horowitz1998bootstrap, | |
| 504 | + author = {Horowitz, Joel L.}, | |
| 505 | + title = {Bootstrap Methods for Median Regression Models}, | |
| 506 | + journal = {Econometrica}, | |
| 507 | + volume = {66}, | |
| 508 | + number = {6}, | |
| 509 | + pages = {1327--1351}, | |
| 510 | + year = {1998}, | |
| 511 | + doi = {10.2307/2999619} | |
| 512 | +} | |
| 513 | +@article{hagemann2017cluster, | |
| 514 | + author = {Hagemann, Andreas}, | |
| 515 | + title = {Cluster-Robust Bootstrap Inference in Quantile Regression Models}, | |
| 516 | + journal = {Journal of the American Statistical Association}, | |
| 517 | + volume = {112}, | |
| 518 | + number = {517}, | |
| 519 | + pages = {446--456}, | |
| 520 | + year = {2017}, | |
| 521 | + doi = {10.1080/01621459.2016.1148610} | |
| 522 | +} | |
| 523 | +@article{parente2016quantile, | |
| 524 | + author = {Parente, Paulo M. D. C. and Santos Silva, Jo\~ao M. C.}, | |
| 525 | + title = {Quantile Regression with Clustered Data}, | |
| 526 | + journal = {Journal of Econometric Methods}, | |
| 527 | + volume = {5}, | |
| 528 | + number = {1}, | |
| 529 | + pages = {1--15}, | |
| 530 | + year = {2016}, | |
| 531 | + doi = {10.1515/jem-2014-0011} | |
| 532 | +} | |
| 533 | +@article{machado2019quantiles, | |
| 534 | + author = {Machado, Jos\'e A. F. and Santos Silva, Jo\~ao M. C.}, | |
| 535 | + title = {Quantiles via Moments}, | |
| 536 | + journal = {Journal of Econometrics}, | |
| 537 | + volume = {213}, | |
| 538 | + number = {1}, | |
| 539 | + pages = {145--173}, | |
| 540 | + year = {2019}, | |
| 541 | + doi = {10.1016/j.jeconom.2019.04.009} | |
| 542 | +} | |
| 543 | +@article{amemiya1982two, | |
| 544 | + author = {Amemiya, Takeshi}, | |
| 545 | + title = {Two Stage Least Absolute Deviations Estimators}, | |
| 546 | + journal = {Econometrica}, | |
| 547 | + volume = {50}, | |
| 548 | + number = {3}, | |
| 549 | + pages = {689--711}, | |
| 550 | + year = {1982}, | |
| 551 | + doi = {10.2307/1912608} | |
| 552 | +} | |
| 553 | +@article{powell1983asymptotic, | |
| 554 | + author = {Powell, James L.}, | |
| 555 | + title = {The Asymptotic Normality of Two-Stage Least Absolute Deviations Estimators}, | |
| 556 | + journal = {Econometrica}, | |
| 557 | + volume = {51}, | |
| 558 | + number = {5}, | |
| 559 | + pages = {1569--1575}, | |
| 560 | + year = {1983}, | |
| 561 | + doi = {10.2307/1912290} | |
| 562 | +} | |
| 563 | +@article{chen1996twostage, | |
| 564 | + author = {Chen, Lin-An and Portnoy, Stephen}, | |
| 565 | + title = {Two-Stage Regression Quantiles and Two-Stage Trimmed Least Squares Estimators for Structural Equation Models}, | |
| 566 | + journal = {Communications in Statistics -- Theory and Methods}, | |
| 567 | + volume = {25}, | |
| 568 | + number = {5}, | |
| 569 | + pages = {1005--1032}, | |
| 570 | + year = {1996}, | |
| 571 | + doi = {10.1080/03610929608831745} | |
| 572 | +} | |
| 573 | +@article{kim2004quantile, | |
| 574 | + author = {Kim, Tae-Hwan and Muller, Christophe}, | |
| 575 | + title = {Two-Stage Quantile Regression When the First Stage Is Based on Quantile Regression}, | |
| 576 | + journal = {Econometrics Journal}, | |
| 577 | + volume = {7}, | |
| 578 | + number = {1}, | |
| 579 | + pages = {218--231}, | |
| 580 | + year = {2004}, | |
| 581 | + doi = {10.1111/j.1368-423X.2004.00128.x} | |
| 582 | +} | |
| 583 | +@article{chernozhukov2005iv, | |
| 584 | + author = {Chernozhukov, Victor and Hansen, Christian}, | |
| 585 | + title = {An {IV} Model of Quantile Treatment Effects}, | |
| 586 | + journal = {Econometrica}, | |
| 587 | + volume = {73}, | |
| 588 | + number = {1}, | |
| 589 | + pages = {245--261}, | |
| 590 | + year = {2005}, | |
| 591 | + doi = {10.1111/j.1468-0262.2005.00570.x} | |
| 592 | +} | |
| 593 | +@article{chernozhukov2006quantile, | |
| 594 | + author = {Chernozhukov, Victor and Hansen, Christian}, | |
| 595 | + title = {Instrumental Quantile Regression Inference for Structural and Treatment Effect Models}, | |
| 596 | + journal = {Journal of Econometrics}, | |
| 597 | + volume = {132}, | |
| 598 | + number = {2}, | |
| 599 | + pages = {491--525}, | |
| 600 | + year = {2006}, | |
| 601 | + doi = {10.1016/j.jeconom.2005.02.009} | |
| 602 | +} | |
| 603 | +@article{chernozhukov2008instrumental, | |
| 604 | + author = {Chernozhukov, Victor and Hansen, Christian}, | |
| 605 | + title = {Instrumental Variable Quantile Regression: A Robust Inference Approach}, | |
| 606 | + journal = {Journal of Econometrics}, | |
| 607 | + volume = {142}, | |
| 608 | + number = {1}, | |
| 609 | + pages = {379--398}, | |
| 610 | + year = {2008}, | |
| 611 | + doi = {10.1016/j.jeconom.2007.06.005} | |
| 612 | +} | |
| 613 | +@techreport{su2011instrumental, | |
| 614 | + author = {Su, Liangjun and Yang, Zhenlin}, | |
| 615 | + title = {Instrumental Variable Quantile Estimation of Spatial Autoregressive Models}, | |
| 616 | + institution = {School of Economics, Singapore Management University}, | |
| 617 | + type = {Working Paper}, | |
| 618 | + address = {Singapore}, | |
| 619 | + year = {2011}, | |
| 620 | + note = {\url{https://ink.library.smu.edu.sg/soe_research/1074}} | |
| 621 | +} | |
| 622 | +@book{mcmillen2013quantile, | |
| 623 | + author = {McMillen, Daniel P.}, | |
| 624 | + title = {Quantile Regression for Spatial Data}, | |
| 625 | + series = {SpringerBriefs in Regional Science}, | |
| 626 | + publisher = {Springer}, | |
| 627 | + address = {Berlin}, | |
| 628 | + year = {2013}, | |
| 629 | + doi = {10.1007/978-3-642-31815-3} | |
| 630 | +} | |
| 631 | +@article{chen2012geographically, | |
| 632 | + author = {Chen, Vivian Yi-Ju and Deng, Wen-Shuenn and Yang, Tse-Chuan and Matthews, Stephen A.}, | |
| 633 | + title = {Geographically Weighted Quantile Regression ({GWQR}): An Application to {U.S.} Mortality Data}, | |
| 634 | + journal = {Geographical Analysis}, | |
| 635 | + volume = {44}, | |
| 636 | + number = {2}, | |
| 637 | + pages = {134--150}, | |
| 638 | + year = {2012}, | |
| 639 | + doi = {10.1111/j.1538-4632.2012.00841.x} | |
| 640 | +} | |
| 641 | +@article{meinshausen2006quantile, | |
| 642 | + author = {Meinshausen, Nicolai}, | |
| 643 | + title = {Quantile Regression Forests}, | |
| 644 | + journal = {Journal of Machine Learning Research}, | |
| 645 | + volume = {7}, | |
| 646 | + pages = {983--999}, | |
| 647 | + year = {2006} | |
| 648 | +} | |
| 649 | +@article{friedman2001greedy, | |
| 650 | + author = {Friedman, Jerome H.}, | |
| 651 | + title = {Greedy Function Approximation: A Gradient Boosting Machine}, | |
| 652 | + journal = {Annals of Statistics}, | |
| 653 | + volume = {29}, | |
| 654 | + number = {5}, | |
| 655 | + pages = {1189--1232}, | |
| 656 | + year = {2001}, | |
| 657 | + doi = {10.1214/aos/1013203451} | |
| 658 | +} | |
| 659 | + | |
| 660 | +% ---------------------------------------------------------------- quantile hedonic applications | |
| 661 | +@article{zietz2008determinants, | |
| 662 | + author = {Zietz, Joachim and Zietz, Emily Norman and Sirmans, G. Stacy}, | |
| 663 | + title = {Determinants of House Prices: A Quantile Regression Approach}, | |
| 664 | + journal = {Journal of Real Estate Finance and Economics}, | |
| 665 | + volume = {37}, | |
| 666 | + number = {4}, | |
| 667 | + pages = {317--333}, | |
| 668 | + year = {2008}, | |
| 669 | + doi = {10.1007/s11146-007-9053-7} | |
| 670 | +} | |
| 671 | +@article{mcmillen2008quantile, | |
| 672 | + author = {McMillen, Daniel P.}, | |
| 673 | + title = {Changes in the Distribution of House Prices over Time: Structural Characteristics, Neighborhood, or Coefficients?}, | |
| 674 | + journal = {Journal of Urban Economics}, | |
| 675 | + volume = {64}, | |
| 676 | + number = {3}, | |
| 677 | + pages = {573--589}, | |
| 678 | + year = {2008}, | |
| 679 | + doi = {10.1016/j.jue.2008.06.002} | |
| 680 | +} | |
| 681 | +@article{kostov2009spatial, | |
| 682 | + author = {Kostov, Philip}, | |
| 683 | + title = {A Spatial Quantile Regression Hedonic Model of Agricultural Land Prices}, | |
| 684 | + journal = {Spatial Economic Analysis}, | |
| 685 | + volume = {4}, | |
| 686 | + number = {1}, | |
| 687 | + pages = {53--72}, | |
| 688 | + year = {2009}, | |
| 689 | + doi = {10.1080/17421770802625957} | |
| 690 | +} | |
| 691 | +@article{mak2010quantile, | |
| 692 | + author = {Mak, Stephen and Choy, Lennon and Ho, Winky}, | |
| 693 | + title = {Quantile Regression Estimates of {H}ong {K}ong Real Estate Prices}, | |
| 694 | + journal = {Urban Studies}, | |
| 695 | + volume = {47}, | |
| 696 | + number = {11}, | |
| 697 | + pages = {2461--2472}, | |
| 698 | + year = {2010}, | |
| 699 | + doi = {10.1177/0042098009359032} | |
| 700 | +} | |
| 701 | +@article{farmer2010quantile, | |
| 702 | + author = {Farmer, Michael C. and Lipscomb, Clifford A.}, | |
| 703 | + title = {Using Quantile Regression in Hedonic Analysis to Reveal Submarket Competition}, | |
| 704 | + journal = {Journal of Real Estate Research}, | |
| 705 | + volume = {32}, | |
| 706 | + number = {4}, | |
| 707 | + pages = {435--460}, | |
| 708 | + year = {2010}, | |
| 709 | + doi = {10.1080/10835547.2010.12091287} | |
| 710 | +} | |
| 711 | +@article{liao2012hedonic, | |
| 712 | + author = {Liao, Wen-Chi and Wang, Xizhu}, | |
| 713 | + title = {Hedonic House Prices and Spatial Quantile Regression}, | |
| 714 | + journal = {Journal of Housing Economics}, | |
| 715 | + volume = {21}, | |
| 716 | + number = {1}, | |
| 717 | + pages = {16--27}, | |
| 718 | + year = {2012}, | |
| 719 | + doi = {10.1016/j.jhe.2011.11.001} | |
| 720 | +} | |
| 721 | +@article{wen2017spatial, | |
| 722 | + author = {Wen, Haizhen and Xiao, Yue and Zhang, Ling}, | |
| 723 | + title = {Spatial Effect of River Landscape on Housing Price: An Empirical Study on the {G}rand {C}anal in {H}angzhou, {C}hina}, | |
| 724 | + journal = {Habitat International}, | |
| 725 | + volume = {63}, | |
| 726 | + pages = {34--44}, | |
| 727 | + year = {2017}, | |
| 728 | + doi = {10.1016/j.habitatint.2017.03.007} | |
| 729 | +} | |
| 730 | +@article{gu2023hospital, | |
| 731 | + author = {Gu, Hengyu and Tang, Jiaxin and Luo, Jinliao and Feng, Ya}, | |
| 732 | + title = {Examination of the Impacts of Hospital Accessibility on Housing Prices: Heterogeneity across Attributes, Space and Price Quantiles}, | |
| 733 | + journal = {Journal of Housing and the Built Environment}, | |
| 734 | + volume = {39}, | |
| 735 | + number = {1}, | |
| 736 | + pages = {179--200}, | |
| 737 | + year = {2024}, | |
| 738 | + doi = {10.1007/s10901-023-10075-5} | |
| 739 | +} | |
| 740 | +@article{squires2025airport, | |
| 741 | + author = {Squires, Graham and Ngo, Thao and McCord, Michael and Lo, Daniel}, | |
| 742 | + title = {The Spatial Effect of Airport Proximity on House Prices: A Quantile Regression Analysis for the {N}ew {Z}ealand Market}, | |
| 743 | + journal = {Applied Economics}, | |
| 744 | + volume = {58}, | |
| 745 | + number = {43}, | |
| 746 | + pages = {9455--9471}, | |
| 747 | + year = {2026}, | |
| 748 | + doi = {10.1080/00036846.2025.2547105} | |
| 749 | +} | |
| 750 | +@article{schirripa2024mquantile, | |
| 751 | + author = {Schirripa Spagnolo, Francesco and Borgoni, Riccardo and Carcagn\`i, Antonella and Michelangeli, Alessandra}, | |
| 752 | + title = {A Spatial Semiparametric {M}-Quantile Regression for Hedonic Price Modelling}, | |
| 753 | + journal = {AStA Advances in Statistical Analysis}, | |
| 754 | + volume = {108}, | |
| 755 | + number = {1}, | |
| 756 | + pages = {159--183}, | |
| 757 | + year = {2024}, | |
| 758 | + doi = {10.1007/s10182-023-00476-w} | |
| 759 | +} | |
| 760 | + | |
| 761 | +% ---------------------------------------------------------------- Quebec / Canada | |
| 762 | +@article{desrosiers2000sorting, | |
| 763 | + author = {Des Rosiers, Fran\c{c}ois and Th\'eriault, Marius and Villeneuve, Paul-Y.}, | |
| 764 | + title = {Sorting Out Access and Neighbourhood Factors in Hedonic Price Modelling}, | |
| 765 | + journal = {Journal of Property Investment \& Finance}, | |
| 766 | + volume = {18}, | |
| 767 | + number = {3}, | |
| 768 | + pages = {291--315}, | |
| 769 | + year = {2000}, | |
| 770 | + doi = {10.1108/14635780010338245} | |
| 771 | +} | |
| 772 | +@article{desrosiers2002landscaping, | |
| 773 | + author = {Des Rosiers, Fran\c{c}ois and Th\'eriault, Marius and Kestens, Yan and Villeneuve, Paul}, | |
| 774 | + title = {Landscaping and House Values: An Empirical Investigation}, | |
| 775 | + journal = {Journal of Real Estate Research}, | |
| 776 | + volume = {23}, | |
| 777 | + number = {1--2}, | |
| 778 | + pages = {139--162}, | |
| 779 | + year = {2002}, | |
| 780 | + doi = {10.1080/10835547.2002.12091072} | |
| 781 | +} | |
| 782 | +@article{theriault2003modelling, | |
| 783 | + author = {Th\'eriault, Marius and Des Rosiers, Fran\c{c}ois and Villeneuve, Paul and Kestens, Yan}, | |
| 784 | + title = {Modelling Interactions of Location with Specific Value of Housing Attributes}, | |
| 785 | + journal = {Property Management}, | |
| 786 | + volume = {21}, | |
| 787 | + number = {1}, | |
| 788 | + pages = {25--62}, | |
| 789 | + year = {2003}, | |
| 790 | + doi = {10.1108/02637470310464472} | |
| 791 | +} | |
| 792 | +@article{kestens2006heterogeneity, | |
| 793 | + author = {Kestens, Yan and Th\'eriault, Marius and Des Rosiers, Fran\c{c}ois}, | |
| 794 | + title = {Heterogeneity in Hedonic Modelling of House Prices: Looking at Buyers' Household Profiles}, | |
| 795 | + journal = {Journal of Geographical Systems}, | |
| 796 | + volume = {8}, | |
| 797 | + number = {1}, | |
| 798 | + pages = {61--96}, | |
| 799 | + year = {2006}, | |
| 800 | + doi = {10.1007/s10109-005-0011-8} | |
| 801 | +} | |
| 802 | +@article{dube2011spatial, | |
| 803 | + author = {Dub\'e, Jean and Des Rosiers, Fran\c{c}ois and Th\'eriault, Marius and Dib, Patricia}, | |
| 804 | + title = {Economic Impact of a Supply Change in Mass Transit in Urban Areas: A {C}anadian Example}, | |
| 805 | + journal = {Transportation Research Part A: Policy and Practice}, | |
| 806 | + volume = {45}, | |
| 807 | + number = {1}, | |
| 808 | + pages = {46--62}, | |
| 809 | + year = {2011}, | |
| 810 | + doi = {10.1016/j.tra.2010.09.002} | |
| 811 | +} | |
| 812 | +@article{dube2013commuter, | |
| 813 | + author = {Dub\'e, Jean and Th\'eriault, Marius and Des Rosiers, Fran\c{c}ois}, | |
| 814 | + title = {Commuter Rail Accessibility and House Values: The Case of the {M}ontreal {S}outh {S}hore, {C}anada, 1992--2009}, | |
| 815 | + journal = {Transportation Research Part A: Policy and Practice}, | |
| 816 | + volume = {54}, | |
| 817 | + pages = {49--66}, | |
| 818 | + year = {2013}, | |
| 819 | + doi = {10.1016/j.tra.2013.07.015} | |
| 820 | +} | |
| 821 | +@article{dube2014did, | |
| 822 | + author = {Dub\'e, Jean and Legros, Diègo and Th\'eriault, Marius and Des Rosiers, Fran\c{c}ois}, | |
| 823 | + title = {A Spatial Difference-in-Differences Estimator to Evaluate the Effect of Change in Public Mass Transit Systems on House Prices}, | |
| 824 | + journal = {Transportation Research Part B: Methodological}, | |
| 825 | + volume = {64}, | |
| 826 | + pages = {24--40}, | |
| 827 | + year = {2014}, | |
| 828 | + doi = {10.1016/j.trb.2014.02.007} | |
| 829 | +} | |
| 830 | +@article{dube2023yimby, | |
| 831 | + author = {Dub\'e, Jean and Des Rosiers, Fran\c{c}ois and Devaux, Nicolas}, | |
| 832 | + title = {Yes or Not in My Backyard ({YIMBY} vs.\ {NIMBY})? The Impact of New Social Housing Construction on Single-Family House Prices in {Q}uebec {C}ity ({C}anada)}, | |
| 833 | + journal = {Housing Policy Debate}, | |
| 834 | + volume = {33}, | |
| 835 | + number = {4}, | |
| 836 | + pages = {865--890}, | |
| 837 | + year = {2023}, | |
| 838 | + doi = {10.1080/10511482.2022.2157219} | |
| 839 | +} | |
| 840 | +@article{dube2025park, | |
| 841 | + author = {Dub\'e, Jean and Le Gallo, Julie and Chapel, Franck and Hilal, Mohamed}, | |
| 842 | + title = {Is There an Additional Price Premium for Single-Family Houses Exposed to Urban Parks? Insights from Causal Spatio-Temporal Matching in {Q}u\'ebec {C}ity}, | |
| 843 | + journal = {Journal of Environmental Management}, | |
| 844 | + volume = {394}, | |
| 845 | + pages = {127417}, | |
| 846 | + year = {2025}, | |
| 847 | + doi = {10.1016/j.jenvman.2025.127417} | |
| 848 | +} | |
| 849 | + | |
| 850 | +% ---------------------------------------------------------------- submarkets | |
| 851 | +@article{palm1978spatial, | |
| 852 | + author = {Palm, Risa}, | |
| 853 | + title = {Spatial Segmentation of the Urban Housing Market}, | |
| 854 | + journal = {Economic Geography}, | |
| 855 | + volume = {54}, | |
| 856 | + number = {3}, | |
| 857 | + pages = {210--221}, | |
| 858 | + year = {1978}, | |
| 859 | + doi = {10.2307/142835} | |
| 860 | +} | |
| 861 | +@article{goodman1998housing, | |
| 862 | + author = {Goodman, Allen C. and Thibodeau, Thomas G.}, | |
| 863 | + title = {Housing Market Segmentation}, | |
| 864 | + journal = {Journal of Housing Economics}, | |
| 865 | + volume = {7}, | |
| 866 | + number = {2}, | |
| 867 | + pages = {121--143}, | |
| 868 | + year = {1998}, | |
| 869 | + doi = {10.1006/jhec.1998.0229} | |
| 870 | +} | |
| 871 | +@article{watkins2001definition, | |
| 872 | + author = {Watkins, Craig A.}, | |
| 873 | + title = {The Definition and Identification of Housing Submarkets}, | |
| 874 | + journal = {Environment and Planning A}, | |
| 875 | + volume = {33}, | |
| 876 | + number = {12}, | |
| 877 | + pages = {2235--2253}, | |
| 878 | + year = {2001}, | |
| 879 | + doi = {10.1068/a34162} | |
| 880 | +} | |
| 881 | +@article{bourassa2003submarkets, | |
| 882 | + author = {Bourassa, Steven C. and Hoesli, Martin and Peng, Vincent S.}, | |
| 883 | + title = {Do Housing Submarkets Really Matter?}, | |
| 884 | + journal = {Journal of Housing Economics}, | |
| 885 | + volume = {12}, | |
| 886 | + number = {1}, | |
| 887 | + pages = {12--28}, | |
| 888 | + year = {2003}, | |
| 889 | + doi = {10.1016/S1051-1377(03)00003-2} | |
| 890 | +} | |
| 891 | +@article{pryce2013housing, | |
| 892 | + author = {Pryce, Gwilym}, | |
| 893 | + title = {Housing Submarkets and the Lattice of Substitution}, | |
| 894 | + journal = {Urban Studies}, | |
| 895 | + volume = {50}, | |
| 896 | + number = {13}, | |
| 897 | + pages = {2682--2699}, | |
| 898 | + year = {2013}, | |
| 899 | + doi = {10.1177/0042098013482502} | |
| 900 | +} | |
| 901 | +@article{reyblanco2024submarkets, | |
| 902 | + author = {Rey-Blanco, David and Arbu\'es, Pelayo and L\'opez, Fernando A. and P\'aez, Antonio}, | |
| 903 | + title = {Using Machine Learning to Identify Spatial Market Segments. A Reproducible Study of Major {S}panish Markets}, | |
| 904 | + journal = {Environment and Planning B: Urban Analytics and City Science}, | |
| 905 | + volume = {51}, | |
| 906 | + number = {1}, | |
| 907 | + pages = {89--108}, | |
| 908 | + year = {2024}, | |
| 909 | + doi = {10.1177/23998083231166952} | |
| 910 | +} | |
| 911 | + | |
| 912 | +% ---------------------------------------------------------------- amenities | |
| 913 | +@article{crompton2001parks, | |
| 914 | + author = {Crompton, John L.}, | |
| 915 | + title = {The Impact of Parks on Property Values: A Review of the Empirical Evidence}, | |
| 916 | + journal = {Journal of Leisure Research}, | |
| 917 | + volume = {33}, | |
| 918 | + number = {1}, | |
| 919 | + pages = {1--31}, | |
| 920 | + year = {2001}, | |
| 921 | + doi = {10.1080/00222216.2001.11949928} | |
| 922 | +} | |
| 923 | +@article{anderson2006open, | |
| 924 | + author = {Anderson, Soren T. and West, Sarah E.}, | |
| 925 | + title = {Open Space, Residential Property Values, and Spatial Context}, | |
| 926 | + journal = {Regional Science and Urban Economics}, | |
| 927 | + volume = {36}, | |
| 928 | + number = {6}, | |
| 929 | + pages = {773--789}, | |
| 930 | + year = {2006}, | |
| 931 | + doi = {10.1016/j.regsciurbeco.2006.03.007} | |
| 932 | +} | |
| 933 | +@article{troy2008property, | |
| 934 | + author = {Troy, Austin and Grove, J. Morgan}, | |
| 935 | + title = {Property Values, Parks, and Crime: A Hedonic Analysis in {B}altimore, {MD}}, | |
| 936 | + journal = {Landscape and Urban Planning}, | |
| 937 | + volume = {87}, | |
| 938 | + number = {3}, | |
| 939 | + pages = {233--245}, | |
| 940 | + year = {2008}, | |
| 941 | + doi = {10.1016/j.landurbplan.2008.06.005} | |
| 942 | +} | |
| 943 | +@article{wolch2014parks, | |
| 944 | + author = {Wolch, Jennifer R. and Byrne, Jason and Newell, Joshua P.}, | |
| 945 | + title = {Urban Green Space, Public Health, and Environmental Justice: The Challenge of Making Cities ``Just Green Enough''}, | |
| 946 | + journal = {Landscape and Urban Planning}, | |
| 947 | + volume = {125}, | |
| 948 | + pages = {234--244}, | |
| 949 | + year = {2014}, | |
| 950 | + doi = {10.1016/j.landurbplan.2014.01.017} | |
| 951 | +} | |
| 952 | +@article{black1999housing, | |
| 953 | + author = {Black, Sandra E.}, | |
| 954 | + title = {Do Better Schools Matter? Parental Valuation of Elementary Education}, | |
| 955 | + journal = {Quarterly Journal of Economics}, | |
| 956 | + volume = {114}, | |
| 957 | + number = {2}, | |
| 958 | + pages = {577--599}, | |
| 959 | + year = {1999}, | |
| 960 | + doi = {10.1162/003355399556070} | |
| 961 | +} | |
| 962 | +@article{gibbons2008valuing, | |
| 963 | + author = {Gibbons, Stephen and Machin, Stephen}, | |
| 964 | + title = {Valuing School Quality, Better Transport, and Lower Crime: Evidence from House Prices}, | |
| 965 | + journal = {Oxford Review of Economic Policy}, | |
| 966 | + volume = {24}, | |
| 967 | + number = {1}, | |
| 968 | + pages = {99--119}, | |
| 969 | + year = {2008}, | |
| 970 | + doi = {10.1093/oxrep/grn008} | |
| 971 | +} | |
| 972 | +@article{debrezion2007transit, | |
| 973 | + author = {Debrezion, Ghebreegziabiher and Pels, Eric and Rietveld, Piet}, | |
| 974 | + title = {The Impact of Railway Stations on Residential and Commercial Property Value: A Meta-Analysis}, | |
| 975 | + journal = {Journal of Real Estate Finance and Economics}, | |
| 976 | + volume = {35}, | |
| 977 | + number = {2}, | |
| 978 | + pages = {161--180}, | |
| 979 | + year = {2007}, | |
| 980 | + doi = {10.1007/s11146-007-9032-z} | |
| 981 | +} | |
| 982 | +@article{mohammad2013meta, | |
| 983 | + author = {Mohammad, Sara I. and Graham, Daniel J. and Melo, Patricia C. and Anderson, Richard J.}, | |
| 984 | + title = {A Meta-Analysis of the Impact of Rail Projects on Land and Property Values}, | |
| 985 | + journal = {Transportation Research Part A: Policy and Practice}, | |
| 986 | + volume = {50}, | |
| 987 | + pages = {158--170}, | |
| 988 | + year = {2013}, | |
| 989 | + doi = {10.1016/j.tra.2013.01.013} | |
| 990 | +} | |
| 991 | +@article{glaeser2008poor, | |
| 992 | + author = {Glaeser, Edward L. and Kahn, Matthew E. and Rappaport, Jordan}, | |
| 993 | + title = {Why Do the Poor Live in Cities? The Role of Public Transportation}, | |
| 994 | + journal = {Journal of Urban Economics}, | |
| 995 | + volume = {63}, | |
| 996 | + number = {1}, | |
| 997 | + pages = {1--24}, | |
| 998 | + year = {2008}, | |
| 999 | + doi = {10.1016/j.jue.2006.12.004} | |
| 1000 | +} | |
| 1001 | +@article{renne2016cost, | |
| 1002 | + author = {Renne, John L. and Tolford, Tara and Hamidi, Shima and Ewing, Reid}, | |
| 1003 | + title = {The Cost and Affordability Paradox of Transit-Oriented Development: A Comparison of Housing and Transportation Costs Across Transit-Oriented Development, Hybrid and Transit-Adjacent Development Station Typologies}, | |
| 1004 | + journal = {Housing Policy Debate}, | |
| 1005 | + volume = {26}, | |
| 1006 | + number = {4--5}, | |
| 1007 | + pages = {819--834}, | |
| 1008 | + year = {2016}, | |
| 1009 | + doi = {10.1080/10511482.2016.1193038} | |
| 1010 | +} | |
| 1011 | +@article{theebe2004planes, | |
| 1012 | + author = {Theebe, Marcel A. J.}, | |
| 1013 | + title = {Planes, Trains, and Automobiles: The Impact of Traffic Noise on House Prices}, | |
| 1014 | + journal = {Journal of Real Estate Finance and Economics}, | |
| 1015 | + volume = {28}, | |
| 1016 | + number = {2--3}, | |
| 1017 | + pages = {209--234}, | |
| 1018 | + year = {2004}, | |
| 1019 | + doi = {10.1023/B:REAL.0000011154.92682.4b} | |
| 1020 | +} | |
| 1021 | +@article{nelson2004meta, | |
| 1022 | + author = {Nelson, Jon P.}, | |
| 1023 | + title = {Meta-Analysis of Airport Noise and Hedonic Property Values: Problems and Prospects}, | |
| 1024 | + journal = {Journal of Transport Economics and Policy}, | |
| 1025 | + volume = {38}, | |
| 1026 | + number = {1}, | |
| 1027 | + pages = {1--27}, | |
| 1028 | + year = {2004}, | |
| 1029 | + doi = {10.3828/jtep.2004.38.1.1} | |
| 1030 | +} | |
| 1031 | +@article{do1995golf, | |
| 1032 | + author = {Do, A. Quang and Grudnitski, Gary}, | |
| 1033 | + title = {Golf Courses and Residential House Prices: An Empirical Examination}, | |
| 1034 | + journal = {Journal of Real Estate Finance and Economics}, | |
| 1035 | + volume = {10}, | |
| 1036 | + number = {3}, | |
| 1037 | + pages = {261--270}, | |
| 1038 | + year = {1995}, | |
| 1039 | + doi = {10.1007/BF01096941} | |
| 1040 | +} | |
| 1041 | +@article{colwell1997structure, | |
| 1042 | + author = {Colwell, Peter F. and Munneke, Henry J.}, | |
| 1043 | + title = {The Structure of Urban Land Prices}, | |
| 1044 | + journal = {Journal of Urban Economics}, | |
| 1045 | + volume = {41}, | |
| 1046 | + number = {3}, | |
| 1047 | + pages = {321--336}, | |
| 1048 | + year = {1997}, | |
| 1049 | + doi = {10.1006/juec.1996.2000} | |
| 1050 | +} | |
| 1051 | +@article{waddell1993exogenous, | |
| 1052 | + author = {Waddell, Paul and Berry, Brian J. L. and Hoch, Irving}, | |
| 1053 | + title = {Residential Property Values in a Multinodal Urban Area: New Evidence on the Implicit Price of Location}, | |
| 1054 | + journal = {Journal of Real Estate Finance and Economics}, | |
| 1055 | + volume = {7}, | |
| 1056 | + number = {2}, | |
| 1057 | + pages = {117--141}, | |
| 1058 | + year = {1993}, | |
| 1059 | + doi = {10.1007/BF01258322} | |
| 1060 | +} | |
| 1061 | +@article{tiebout1956pure, | |
| 1062 | + author = {Tiebout, Charles M.}, | |
| 1063 | + title = {A Pure Theory of Local Expenditures}, | |
| 1064 | + journal = {Journal of Political Economy}, | |
| 1065 | + volume = {64}, | |
| 1066 | + number = {5}, | |
| 1067 | + pages = {416--424}, | |
| 1068 | + year = {1956}, | |
| 1069 | + doi = {10.1086/257839} | |
| 1070 | +} | |
| 1071 | +@article{chen2025geoshapley, | |
| 1072 | + author = {Chen, Yulin and Ye, Yu and Liu, Xiaoping and Yin, Chun}, | |
| 1073 | + title = {Examining the Nonlinear and Spatial Heterogeneity of Housing Prices in Urban {B}eijing: An Application of {GeoShapley}}, | |
| 1074 | + journal = {Habitat International}, | |
| 1075 | + volume = {162}, | |
| 1076 | + pages = {103439}, | |
| 1077 | + year = {2025}, | |
| 1078 | + doi = {10.1016/j.habitatint.2025.103439} | |
| 1079 | +} | |
| 1080 | +@techreport{gyger2025explainable, | |
| 1081 | + author = {Gyger, Tim and Hauri, Simon and B\"uhlmann, Stefan and Lehner, Matthias and Schlesinger, Jonas and Sigrist, Fabio}, | |
| 1082 | + title = {Explainable Spatial Machine Learning for Hedonic Real Estate Modeling}, | |
| 1083 | + institution = {SSRN}, | |
| 1084 | + type = {Working Paper}, | |
| 1085 | + number = {5191260}, | |
| 1086 | + year = {2025}, | |
| 1087 | + doi = {10.2139/ssrn.5191260} | |
| 1088 | +} | |
| 1089 | + | |
| 1090 | +% ---------------------------------------------------------------- listing vs transaction prices | |
| 1091 | +@article{horowitz1992role, | |
| 1092 | + author = {Horowitz, Joel L.}, | |
| 1093 | + title = {The Role of the List Price in Housing Markets: Theory and an Econometric Model}, | |
| 1094 | + journal = {Journal of Applied Econometrics}, | |
| 1095 | + volume = {7}, | |
| 1096 | + number = {2}, | |
| 1097 | + pages = {115--129}, | |
| 1098 | + year = {1992}, | |
| 1099 | + doi = {10.1002/jae.3950070202} | |
| 1100 | +} | |
| 1101 | +@article{knight2002listing, | |
| 1102 | + author = {Knight, John R.}, | |
| 1103 | + title = {Listing Price, Time on Market, and Ultimate Selling Price: Causes and Effects of Listing Price Changes}, | |
| 1104 | + journal = {Real Estate Economics}, | |
| 1105 | + volume = {30}, | |
| 1106 | + number = {2}, | |
| 1107 | + pages = {213--237}, | |
| 1108 | + year = {2002}, | |
| 1109 | + doi = {10.1111/1540-6229.00038} | |
| 1110 | +} | |
| 1111 | +@article{anglin2003tradeoff, | |
| 1112 | + author = {Anglin, Paul M. and Rutherford, Ronald and Springer, Thomas M.}, | |
| 1113 | + title = {The Trade-off Between the Selling Price of Residential Properties and Time-on-the-Market: The Impact of Price Setting}, | |
| 1114 | + journal = {Journal of Real Estate Finance and Economics}, | |
| 1115 | + volume = {26}, | |
| 1116 | + number = {1}, | |
| 1117 | + pages = {95--111}, | |
| 1118 | + year = {2003}, | |
| 1119 | + doi = {10.1023/A:1021526332732} | |
| 1120 | +} | |
| 1121 | +@article{haurin2010list, | |
| 1122 | + author = {Haurin, Donald R. and Haurin, Jessica L. and Nadauld, Taylor and Sanders, Anthony}, | |
| 1123 | + title = {List Prices, Sale Prices and Marketing Time: An Application to {U.S.} Housing Markets}, | |
| 1124 | + journal = {Real Estate Economics}, | |
| 1125 | + volume = {38}, | |
| 1126 | + number = {4}, | |
| 1127 | + pages = {659--685}, | |
| 1128 | + year = {2010}, | |
| 1129 | + doi = {10.1111/j.1540-6229.2010.00279.x} | |
| 1130 | +} | |
| 1131 | + | |
| 1132 | +% ---------------------------------------------------------------- inference, diagnostics, computation | |
| 1133 | +@book{efron1993introduction, | |
| 1134 | + author = {Efron, Bradley and Tibshirani, Robert J.}, | |
| 1135 | + title = {An Introduction to the Bootstrap}, | |
| 1136 | + publisher = {Chapman \& Hall}, | |
| 1137 | + address = {New York}, | |
| 1138 | + year = {1993}, | |
| 1139 | + doi = {10.1201/9780429246593} | |
| 1140 | +} | |
| 1141 | +@article{freedman1981bootstrapping, | |
| 1142 | + author = {Freedman, David A.}, | |
| 1143 | + title = {Bootstrapping Regression Models}, | |
| 1144 | + journal = {Annals of Statistics}, | |
| 1145 | + volume = {9}, | |
| 1146 | + number = {6}, | |
| 1147 | + pages = {1218--1228}, | |
| 1148 | + year = {1981}, | |
| 1149 | + doi = {10.1214/aos/1176345638} | |
| 1150 | +} | |
| 1151 | +@book{lahiri2003resampling, | |
| 1152 | + author = {Lahiri, Soumendra N.}, | |
| 1153 | + title = {Resampling Methods for Dependent Data}, | |
| 1154 | + publisher = {Springer}, | |
| 1155 | + address = {New York}, | |
| 1156 | + year = {2003}, | |
| 1157 | + doi = {10.1007/978-1-4757-3803-2} | |
| 1158 | +} | |
| 1159 | +@article{cameron2008bootstrap, | |
| 1160 | + author = {Cameron, A. Colin and Gelbach, Jonah B. and Miller, Douglas L.}, | |
| 1161 | + title = {Bootstrap-Based Improvements for Inference with Clustered Errors}, | |
| 1162 | + journal = {Review of Economics and Statistics}, | |
| 1163 | + volume = {90}, | |
| 1164 | + number = {3}, | |
| 1165 | + pages = {414--427}, | |
| 1166 | + year = {2008}, | |
| 1167 | + doi = {10.1162/rest.90.3.414} | |
| 1168 | +} | |
| 1169 | +@incollection{stock2005testing, | |
| 1170 | + author = {Stock, James H. and Yogo, Motohiro}, | |
| 1171 | + title = {Testing for Weak Instruments in Linear {IV} Regression}, | |
| 1172 | + booktitle = {Identification and Inference for Econometric Models: Essays in Honor of Thomas Rothenberg}, | |
| 1173 | + editor = {Andrews, Donald W. K. and Stock, James H.}, | |
| 1174 | + publisher = {Cambridge University Press}, | |
| 1175 | + address = {Cambridge}, | |
| 1176 | + pages = {80--108}, | |
| 1177 | + year = {2005}, | |
| 1178 | + doi = {10.1017/CBO9780511614491.006} | |
| 1179 | +} | |
| 1180 | +@article{long2000using, | |
| 1181 | + author = {Long, J. Scott and Ervin, Laurie H.}, | |
| 1182 | + title = {Using Heteroscedasticity Consistent Standard Errors in the Linear Regression Model}, | |
| 1183 | + journal = {American Statistician}, | |
| 1184 | + volume = {54}, | |
| 1185 | + number = {3}, | |
| 1186 | + pages = {217--224}, | |
| 1187 | + year = {2000}, | |
| 1188 | + doi = {10.1080/00031305.2000.10474549} | |
| 1189 | +} | |
| 1190 | +@article{mackinnon1985some, | |
| 1191 | + author = {MacKinnon, James G. and White, Halbert}, | |
| 1192 | + title = {Some Heteroskedasticity-Consistent Covariance Matrix Estimators with Improved Finite Sample Properties}, | |
| 1193 | + journal = {Journal of Econometrics}, | |
| 1194 | + volume = {29}, | |
| 1195 | + number = {3}, | |
| 1196 | + pages = {305--325}, | |
| 1197 | + year = {1985}, | |
| 1198 | + doi = {10.1016/0304-4076(85)90158-7} | |
| 1199 | +} | |
| 1200 | +@article{cribari2004asymptotic, | |
| 1201 | + author = {Cribari-Neto, Francisco}, | |
| 1202 | + title = {Asymptotic Inference under Heteroskedasticity of Unknown Form}, | |
| 1203 | + journal = {Computational Statistics \& Data Analysis}, | |
| 1204 | + volume = {45}, | |
| 1205 | + number = {2}, | |
| 1206 | + pages = {215--233}, | |
| 1207 | + year = {2004}, | |
| 1208 | + doi = {10.1016/S0167-9473(02)00366-3} | |
| 1209 | +} | |
| 1210 | +@article{marquardt1980comment, | |
| 1211 | + author = {Marquardt, Donald W.}, | |
| 1212 | + title = {Comment: You Should Standardize the Predictor Variables in Your Regression Models}, | |
| 1213 | + journal = {Journal of the American Statistical Association}, | |
| 1214 | + volume = {75}, | |
| 1215 | + number = {369}, | |
| 1216 | + pages = {87--91}, | |
| 1217 | + year = {1980}, | |
| 1218 | + doi = {10.1080/01621459.1980.10477430} | |
| 1219 | +} | |
| 1220 | +@book{belsley1980regression, | |
| 1221 | + author = {Belsley, David A. and Kuh, Edwin and Welsch, Roy E.}, | |
| 1222 | + title = {Regression Diagnostics: Identifying Influential Data and Sources of Collinearity}, | |
| 1223 | + publisher = {John Wiley \& Sons}, | |
| 1224 | + address = {New York}, | |
| 1225 | + year = {1980}, | |
| 1226 | + doi = {10.1002/0471725153} | |
| 1227 | +} | |
| 1228 | +@article{obrien2007caution, | |
| 1229 | + author = {O'Brien, Robert M.}, | |
| 1230 | + title = {A Caution Regarding Rules of Thumb for Variance Inflation Factors}, | |
| 1231 | + journal = {Quality \& Quantity}, | |
| 1232 | + volume = {41}, | |
| 1233 | + number = {5}, | |
| 1234 | + pages = {673--690}, | |
| 1235 | + year = {2007}, | |
| 1236 | + doi = {10.1007/s11135-006-9018-6} | |
| 1237 | +} | |
| 1238 | +@article{bentley1975multidimensional, | |
| 1239 | + author = {Bentley, Jon Louis}, | |
| 1240 | + title = {Multidimensional Binary Search Trees Used for Associative Searching}, | |
| 1241 | + journal = {Communications of the ACM}, | |
| 1242 | + volume = {18}, | |
| 1243 | + number = {9}, | |
| 1244 | + pages = {509--517}, | |
| 1245 | + year = {1975}, | |
| 1246 | + doi = {10.1145/361002.361007} | |
| 1247 | +} | |
modified
paper/sections/conclusion.tex
+3 −18
@@ -3,23 +3,8 @@ | ||
| 3 | 3 | \label{sec:conclusion} |
| 4 | 4 | % ============================================================================ |
| 5 | 5 | |
| 6 | −This paper combines three dimensions of housing market analysis that are usually studied separately: quantile-specific hedonic pricing, spatial dependence through an instrumented spatial lag, and cross-segment comparison across houses, condominiums, multiplexes, and vacant land in the Quebec residential market. Using 42,481 Centris listings, we document substantial heterogeneity in amenity capitalization that standard OLS hedonic models mask. The omnibus inter-quantile test decisively rejects coefficient homogeneity for the house segment. Highway, hospital, park, and transit proximity are each associated with significantly different capitalization gradients at the 10th versus 90th percentiles, with hospital proximity exhibiting a sign reversal from negative to positive. Spatial spillovers are significant across all segments, with approximate indirect effects accounting for 22--32\% of total capitalization. | |
| 6 | +This paper asked whether the capitalisation of neighbourhood amenities into Quebec residential asking prices is constant across the conditional price distribution and whether it survives an adjustment for spatial dependence. Using 20,275 Centris listings in four product segments, quantile regressions at five quantiles and a two-stage spatial quantile regression with an instrumented spatial lag, it finds that for single-family houses the implicit prices of highway, transit and park proximity decline steadily from the 10th to the 90th conditional percentile and that the hospital indicator changes sign, the equality of the tail coefficients being rejected for all four; that school proximity carries a stable discount of about 11 log points; that condominiums show no detectable heterogeneity while multiplexes and vacant land show it for two amenities each; that residual spatial autocorrelation is strong in every segment; and that the median spatial-lag coefficient ranges from 0.13 for multiplexes to 0.32 for land, its introduction attenuating the median highway, transit and school differentials for houses by a third to a half. | |
| 7 | 7 | |
| 8 | −These findings suggest that reporting a single mean implicit price for each housing attribute can mislead both researchers and policymakers. The OLS highway coefficient overstates the association for luxury homes by a factor of four while understating it for affordable homes by 35\%. For hospital proximity, the mean estimate ($-$4.9\%) averages a negative association for lower-priced homes with a positive association for higher-priced homes, and is therefore not representative of either tail. The policy implication is that mean-based hedonic estimates may misrepresent the distributional incidence of amenity investments, property tax assessments, and cost-benefit analyses. | |
| 8 | +The methodological lesson is that a conditional-mean hedonic coefficient for an accessibility amenity is not a neutral summary: in these data it misstates the differential at both ends of the price schedule and in opposite directions. The substantive lesson is more guarded. The profiles are consistent with sorting on transit dependence and with the concentration of amenity-rich older stock in the lower part of the schedule, but the design cannot separate these from differences in broker reporting, and the estimates are gradients of a listing-price schedule rather than welfare measures. | |
| 9 | 9 | |
| 10 | −We emphasize that the estimated coefficients are quantile-specific capitalization gradients---spatially adjusted conditional associations in listing prices---rather than causal effects of amenity access. The cross-sectional design, reliance on listing prices, use of broker-classified binary amenity indicators, and residual spatial autocorrelation in the 2SQR model all limit the causal interpretation. These caveats notwithstanding, the consistency of the heterogeneity patterns across multiple amenities and segments, and their alignment with theoretical predictions about preference heterogeneity, strengthens confidence in the core finding. | |
| 11 | − | |
| 12 | −Several avenues for future research would address the current limitations and deepen the analysis: | |
| 13 | − | |
| 14 | −\begin{enumerate}[nosep] | |
| 15 | −\item \textbf{Transaction-price replication.} Reproducing the analysis with sale prices from Quebec's \textit{Registre foncier} would validate the listing-price results and quantify any listing-premium bias. | |
| 16 | −\item \textbf{Continuous GIS distances.} Constructing distance measures to each amenity type would enable estimation of distance-decay functions and reduce the attenuation bias from binary indicators. | |
| 17 | −\item \textbf{Amenity quality measures.} Incorporating school quality scores, transit frequency data, hospital classification, and park size would separate amenity quality from mere proximity. | |
| 18 | −\item \textbf{Panel and quasi-experimental designs.} Difference-in-differences or event study designs around new transit openings, park constructions, or hospital relocations would strengthen causal identification \citep{kuminoff2010quasi}. | |
| 19 | −\item \textbf{Geographically weighted quantile regression.} GWQR models \citep{chen2012geographically} would reveal whether distributional heterogeneity itself varies across space---for example, whether the highway gradient differs between urban and rural Quebec. | |
| 20 | −\item \textbf{Machine learning benchmarks.} Quantile random forests \citep{meinshausen2006quantile} or gradient boosted quantile regression \citep{friedman2001greedy} could serve as flexible prediction benchmarks, though at the cost of coefficient interpretability. | |
| 21 | −\item \textbf{Spatial Durbin quantile models.} Including spatially lagged exogenous variables directly in the quantile regression would test whether neighbor characteristics have direct effects beyond the spatial lag. | |
| 22 | −\item \textbf{Temporal dynamics.} Multi-period analysis would reveal whether distributional heterogeneity fluctuates with housing market cycles or represents a structural feature of the Quebec market. | |
| 23 | −\end{enumerate} | |
| 24 | − | |
| 25 | −The central implication of this study is that amenity capitalization in housing markets is not a single average effect, but a spatially embedded and distributionally heterogeneous process. Hedonic analyses that ignore this heterogeneity risk producing estimates that are correct on average but wrong for every subpopulation they purport to describe. | |
| 10 | +The agenda that follows is largely one of verification and extension on the same data. Re-running the pipeline would allow a spatially valid bootstrap, standard errors for the spatial-lag coefficients, structural residual diagnostics, the comparison of the least-squares first stage with the quantile-based and inverse-quantile alternatives, sensitivity to the spatial weights and to trimming, and the restoration of the descriptive statistics and robustness tables that the preserved record does not contain. Beyond that, geocoded distances to actual facilities would replace the broker's binary classification, transaction prices from the land register would replace asking prices, a geographically weighted quantile regression or a spatial Durbin quantile specification would show whether the heterogeneity documented along the price distribution also varies across the territory, and quantile regression forests or gradient boosting \citep{meinshausen2006quantile, friedman2001greedy} would provide flexible benchmarks for the predictive content of the amenity indicators at each quantile. Each of these steps is feasible with the existing code and data, and the audit trail established in this revision is intended to make them straightforward. | |
modified
paper/sections/data.tex
+10 −30
@@ -3,48 +3,28 @@ | ||
| 3 | 3 | \label{sec:data} |
| 4 | 4 | % ============================================================================ |
| 5 | 5 | |
| 6 | −\subsection{Data Source and Institutional Context} | |
| 6 | +\subsection{Source} | |
| 7 | 7 | |
| 8 | −The data are drawn from Centris, the centralized listing platform operated by the Qu\'ebec Professional Association of Real Estate Brokers (QPAREB). Centris aggregates virtually all brokered residential listings in the province of Quebec, functioning as the province's de facto multiple listing service (MLS). Unlike local MLS systems in other Canadian provinces, Centris provides province-wide coverage under a single platform, ensuring comprehensive geographic representation. All licensed real estate brokers in Quebec are required to list properties through the Centris system, minimizing selection bias that can arise from voluntary listing platforms. | |
| 8 | +The data are a snapshot of active residential listings on Centris, the listing platform of the Qu\'ebec Professional Association of Real Estate Brokers, which aggregates brokered listings for the whole province. The snapshot files are dated 8 January 2026 (Unix timestamps of the extraction) and contain 42,481 listings in four product categories: 18,920 single-family houses, 9,347 condominium units, 4,619 multiplexes (two to six residential units) and 9,595 vacant parcels. Each record carries the asking price, structural attributes, lot and floor dimensions, geographic coordinates, the municipality, the type of parking and a free-text ``amenities nearby'' field completed by the listing broker. The snapshot is not redistributed; the repository documents its structure and the scripts that process it. | |
| 9 | 9 | |
| 10 | −We collected 42,481 listings across four property types: 18,920 single-family houses, 9,347 condominiums, 4,619 multiplexes (duplexes through sixplexes), and 9,595 vacant land parcels. The data were collected in May 2025 and represent active listings at the time of collection. Each listing includes detailed property characteristics (structural attributes, lot dimensions, amenities), geographic coordinates (latitude and longitude), listing price, and broker-classified neighborhood amenity tags. | |
| 11 | − | |
| 12 | −Listing prices rather than transaction prices are used, consistent with the automated valuation model literature \citep{gorjian2025systematic}. While listing prices may exceed transaction prices due to bargaining, the hedonic coefficients remain unbiased under the assumption that the listing-to-sale ratio is uncorrelated with the amenity variables of interest. \citet{knight2002listing} estimate that listing prices in U.S.\ markets exceed sale prices by approximately 3--5\% on average, with the markup relatively stable across housing attributes. \citet{allen2014information} study the Canadian housing market and find that listing price behavior is consistent with strategic pricing, where the listing premium is primarily a function of local market conditions (days on market, inventory levels) rather than property-specific characteristics. To the extent that any listing premium is absorbed by the intercept and regional dummies, our amenity coefficient estimates remain valid. | |
| 10 | +Two features of the source condition the analysis. First, the dependent variable is an asking price. Asking prices exceed eventual transaction prices on average and the gap varies with market conditions, with the seller's pricing strategy and with time on market \citep{horowitz1992role, knight2002listing, anglin2003tradeoff, haurin2010list}. The hedonic coefficients estimated on asking prices are therefore implicit prices of the listing schedule; they equal those of the transaction schedule only if the listing premium is, conditionally on the covariates, unrelated to the attributes of interest. Section~\ref{sec:identification} returns to this point. Second, the sample is a stock of listings at one date, not a flow of sales over a period. Properties that sell quickly are under-represented relative to properties that linger, and the listing stock in January is thinner than in spring; both features may differ across segments and price levels. | |
| 13 | 11 | |
| 14 | 12 | \subsection{Variables} |
| 15 | 13 | |
| 16 | −Table~\ref{tab:variables} provides detailed variable definitions and expected signs based on the prior literature. | |
| 14 | +Table~\ref{tab:variables} defines the variables. Structural attributes are the number of bedrooms, the number of bathrooms (full bathrooms plus one half for each powder room), the number of storeys, the log of interior floor area in square feet, the log of lot area in square feet, the number of parking spaces and an indicator for a garage; the multiplex specification adds the number of units. Interior area is parsed from the floor-area measurement field (for condominiums, from the interior-size field when available) and lot area from the lot-size field, with conversion of square metres, acres, hectares and arpents to square feet. Location is represented by the log of the straight-line distance to downtown Montreal, computed by a flat-earth approximation from the coordinates and floored at 0.5 km, and by three regional indicators derived from the municipality name: the Montreal metropolitan area (the island, Laval and the North and South Shore suburbs), the Qu\'ebec City area (including L\'evis) and the remaining regions, with Gatineau (including Hull and Aylmer) as the omitted category in every segment. | |
| 17 | 15 | |
| 18 | 16 | \input{tables/variables} |
| 19 | 17 | |
| 20 | −Structural variables include bedrooms, bathrooms (full plus half-baths weighted at 0.5), stories, floor area (in square feet, log-transformed), land area (in square feet, log-transformed), parking spaces, and a garage dummy. For the plex segment, we add total unit count. For the land segment, structural variables are unavailable and the model relies on land area, distance, amenities, and regional dummies. | |
| 21 | − | |
| 22 | −Locational variables include latitude, longitude, and the log of Euclidean distance to downtown Montreal (45.5017\textdegree N, 73.5673\textdegree W), computed using the flat-Earth approximation for distances within Quebec. Regional dummies classify properties into Montreal (including Laval, South Shore, and North Shore suburbs), Qu\'ebec City (including L\'evis), Gatineau (including Hull and Aylmer), and Regions (the omitted reference category for houses and plex; Gatineau for models where it appears). The Montreal classification includes over 45 municipalities within the Census Metropolitan Area. | |
| 23 | − | |
| 24 | −Amenity variables are binary indicators derived from the Centris ``Amenities Nearby'' field: highway, hospital, park, school, public transit, and golf course. These capture proximity to the nearest facility of each type as classified by the listing broker. The binary nature of these variables is a data limitation---continuous distance measures would provide more precise capitalization estimates---but the broker classification ensures consistency across listings and captures the broker's professional judgment about which amenities are relevant to the property's market positioning. | |
| 18 | +The six amenity indicators equal one when the words ``Highway'', ``Hospital'', ``Park'', ``School'', ``Transit'' or ``Golf'' appear in the broker's amenities-nearby field. They are therefore binary, broker-reported and undistanced: they do not say how far the amenity is, how large or of what quality it is, nor whether ``transit'' refers to a metro station, a commuter-rail station or a bus stop. A broker who regards an amenity as relevant to the marketing of a property is more likely to mention it, so the indicators partly measure the broker's judgement about the market positioning of the listing. These limitations are discussed in Section~\ref{sec:limitations}; they argue for reading the estimates as capitalisation differentials associated with the broker's classification rather than with physical proximity. | |
| 25 | 19 | |
| 26 | −\subsection{Sample Construction} | |
| 20 | +\subsection{Sample construction} | |
| 27 | 21 | |
| 28 | −Table~\ref{tab:sample} reports the sample construction. | |
| 22 | +Listings with a non-positive or missing asking price or without coordinates are dropped. Houses, condominiums and multiplexes require non-missing bedrooms and bathrooms; floor area is required when it is available for at least 30 percent of the segment (houses and condominiums, not multiplexes), and must then exceed 100 sq.\,ft.; lot area is required when it is available for at least 30 percent of the segment (all three) and is winsorised at its 99th percentile; storeys are imputed at the segment median and parking spaces at zero when missing. Vacant parcels require a lot area above 10 sq.\,ft. The log asking price and, where present, the log floor area and log lot area are then trimmed at their 0.5th and 99.5th percentiles. Table~\ref{tab:sample} reports the resulting estimation samples: 6,250 houses, 1,031 condominiums, 3,755 multiplexes and 9,239 parcels, a total of 20,275 listings. The retention rate is lowest for condominiums (11 percent), because interior area is missing for most condominium listings in the snapshot. This selection is not innocuous: a condominium listing that reports its interior area may differ systematically from one that does not, and the condominium estimates should be read as conditional on that reporting. | |
| 29 | 23 | |
| 30 | 24 | \input{tables/sample} |
| 31 | 25 | |
| 32 | −From the 42,481 raw listings, we retain observations with valid prices, geographic coordinates, and the minimum variable set for each segment. We trim the top and bottom 0.5\% of the log-price distribution and relevant size variables to mitigate outlier influence, following the standard practice in the hedonic literature \citep{sirmans2005composition}. The final analytical samples are: 6,250 houses, 1,031 condos, 3,755 multiplexes, and 9,239 land parcels. | |
| 33 | − | |
| 34 | −\subsection{Descriptive Statistics} | |
| 35 | − | |
| 36 | −Table~\ref{tab:descriptive} presents descriptive statistics for the single-family house segment, the largest and most attribute-rich sample. The median house is priced at \$579,000 with 3 bedrooms, 2 bathrooms, 1,539 sq.ft.\ of living area, and a lot of 11,249 sq.ft. Nearly 57\% have a garage. Among amenities, school proximity is the most common (69.2\%), followed by parks (60.3\%) and highways (48.5\%). The right-skewed price distribution (mean/median ratio = 1.34) confirms the appropriateness of the log transformation. | |
| 37 | − | |
| 38 | −\input{tables/descriptive_houses} | |
| 39 | − | |
| 40 | −Table~\ref{tab:descriptive_other} presents summary statistics for the remaining three segments. | |
| 41 | − | |
| 42 | −\input{tables/descriptive_other} | |
| 43 | − | |
| 44 | −The four segments exhibit distinct characteristics. Condos are concentrated in Montreal (62.4\%) with the highest transit prevalence (58.6\%), reflecting their urban orientation. Multiplexes have the highest mean price (\$935,000), reflecting multi-unit investment value. Land parcels are predominantly rural (78.9\% in ``Regions'') with the lowest amenity prevalence across all categories, consistent with their peripheral locations. | |
| 45 | − | |
| 46 | −\subsection{Amenity Correlations} | |
| 26 | +\subsection{Descriptive statistics} | |
| 47 | 27 | |
| 48 | −Table~\ref{tab:amenity_corr} reports pairwise correlations among amenity indicators for the house segment. The highest correlation (0.38) is between school and park proximity, reflecting the co-location of these amenities in residential neighborhoods. No pairwise correlation exceeds 0.40, suggesting that multicollinearity among amenity variables is not a concern. | |
| 28 | +Table~\ref{tab:descriptive} reports the prevalence of each amenity indicator and the regional composition of the four samples; the median asking prices are \$579,000 for houses, \$425,000 for condominiums, \$799,000 for multiplexes and \$150,000 for parcels. Amenity mentions are most frequent for condominiums (transit 73 percent, park 81 percent, school 83 percent) and multiplexes, and least frequent for vacant land (transit 8 percent), which reflects the urban location of the former and the peripheral location of the latter. The regional composition differs markedly across segments: 70 percent of the houses, 70 percent of the condominiums, 44 percent of the multiplexes and 89 percent of the parcels lie outside the three metropolitan areas, and the Montreal area accounts for 47 percent of the multiplexes but only 19 percent of the houses. Median asking prices in the Montreal area are higher than elsewhere in every segment (\$868,942 against \$520,000 for houses in the other regions; \$1,049,000 against \$525,000 for multiplexes). The amenity indicators are thus correlated with the regional and distance variables, and their coefficients must be read conditionally on those controls. The preserved log of the estimation run does not record the moments of the structural variables (bedrooms, bathrooms, areas); they are therefore not tabulated here, and Appendix~\ref{app:audit} lists them among the outputs to be restored when the pipeline is re-run. | |
| 49 | 29 | |
| 50 | −\input{tables/amenity_corr} | |
| 30 | +\input{tables/descriptive} | |
modified
paper/sections/discussion.tex
+11 −71
@@ -3,84 +3,24 @@ | ||
| 3 | 3 | \label{sec:discussion} |
| 4 | 4 | % ============================================================================ |
| 5 | 5 | |
| 6 | −\subsection{Heterogeneity as the Rule, Not the Exception} | |
| 6 | +\subsection{Heterogeneous capitalisation as a property of the price schedule} | |
| 7 | 7 | |
| 8 | −Our central finding is that amenity capitalization is heterogeneous across the price distribution. The omnibus Wald test for houses ($\chi^2(7) = 35.74$, $p < 0.001$) rejects the OLS homogeneity assumption. This result aligns with the international literature \citep{zietz2008determinants, liao2012hedonic, mak2010quantile} but extends it to the Quebec context for the first time. | |
| 8 | +The central finding is that, for single-family houses, the implicit prices of the accessibility-type amenities---highway, transit, park---are large at the lower conditional quantiles and small or nil at the upper ones, while the discount attached to school proximity is flat and the garage and golf premia nearly so. The conditional-mean estimate, which is what a standard hedonic regression would report, lies near the median profile and is therefore a poor description of either tail: it overstates the highway differential at the 90th percentile by a factor of four and understates it at the 10th by about a third. This is the pattern documented for structural attributes by \citet{zietz2008determinants} and \citet{mak2010quantile} and for location by \citet{liao2012hedonic}, transposed to broker-reported amenities in a province-wide listing sample. Within the hedonic framework it says that the equilibrium price schedule is not additively separable in the amenity indicators and the rest of the bundle: the slope of the schedule in the amenity direction depends on where, in the conditional price distribution, the property sits. | |
| 9 | 9 | |
| 10 | −The economic interpretation is straightforward: households at different points in the price distribution have different preferences, constraints, and substitution possibilities. Transit-dependent households purchasing affordable homes value transit proximity three times more than affluent households with private vehicles. Conversely, luxury homebuyers may value the prestige and green space of golf course neighborhoods more than their budgetary significance would suggest. These patterns are consistent with the sorting equilibrium framework of \citet{bayer2007migration}, where heterogeneous households sort across locations based on their willingness to pay for local amenities, generating the distributional heterogeneity we document. | |
| 10 | +Several mechanisms are consistent with the pattern; the design does not separate them. The most natural is sorting on transit dependence and car ownership: households that buy at the lower end of the schedule are more likely to depend on transit and highway access for commuting \citep{glaeser2008poor}, so that the bid functions tangent to the schedule in that region are steeper in those attributes, whereas households at the upper end substitute private green space and private mobility for public parks and transit. A second is supply-side: in Quebec, the housing near highways, transit lines and urban parks is older and denser, so that the lower part of the conditional distribution contains most of the amenity-rich stock and the premium reflects, in part, the scarcity of such stock at that price level. A third is measurement: a broker marketing a lower-priced house may be more inclined to list accessibility amenities, and one marketing an expensive house to emphasise other qualities, in which case part of the heterogeneity is in the reporting rather than in the capitalisation. The attenuation of the highway and transit coefficients when the spatial lag is introduced points in the same direction as the second mechanism, since it shows that part of the differential is the price level of the surrounding, similarly situated listings. | |
| 11 | 11 | |
| 12 | −The practical significance of this heterogeneity is considerable. The OLS estimate of the highway effect (0.133) overestimates the effect for luxury homes by a factor of 4 (0.133 vs.\ 0.034) and underestimates it for affordable homes by 35\% (0.133 vs.\ 0.205). Any policy analysis based on the OLS coefficient would systematically misrepresent the welfare implications across income groups. | |
| 12 | +\subsection{The hospital indicator} | |
| 13 | 13 | |
| 14 | −\subsection{The Hospital Proximity Puzzle} | |
| 14 | +The sign change of the hospital coefficient---a discount of 8.5 log points at the 10th percentile and a premium of about 4 log points, marginally significant, at the 90th---is the most distinctive result and the one most in need of corroboration. A plausible reading is that ``hospital nearby'' describes two different neighbourhood types at the two ends of the schedule: institutional corridors with traffic, parking and emergency-vehicle noise where lower-priced houses adjoin a regional hospital, and the established, well-served residential districts in which the large university hospitals of Montreal and Qu\'ebec City are embedded. The results of \citet{gu2023hospital}, who find that hospital accessibility capitalises positively in the upper price quantiles and weakly or negatively in the lower ones, are consistent with this reading. The 2SQR estimate at the median ($-$0.006 against $-$0.027 without the lag) suggests that the median discount is largely a neighbourhood price-level effect, but without the second-stage estimates at the other quantiles we cannot say whether the sign change survives the spatial adjustment. Distances to actual hospitals, by type, would be required to go further. | |
| 15 | 15 | |
| 16 | −The sign reversal of hospital proximity across quantiles---negative for cheap homes, positive for expensive ones---is an original finding that merits discussion. We propose three complementary explanations: | |
| 16 | +\subsection{Cross-segment patterns} | |
| 17 | 17 | |
| 18 | −\begin{enumerate}[nosep] | |
| 19 | −\item \textbf{Institutional disamenity vs.\ neighborhood quality.} Affordable homes near hospitals may be in dense, noisy, institutional corridors (ambulance traffic, surface parking). Luxury homes near hospitals may be in established affluent neighborhoods where major medical centers have located historically. In Quebec, major hospitals (McGill University Health Centre, H\^opital de Montr\'eal pour Enfants, Centre hospitalier de l'Universit\'e Laval) are often situated in prestigious neighborhoods, creating a positive correlation between hospital proximity and neighborhood wealth at the upper end of the distribution. | |
| 18 | +The four product types differ in the strength of the spatial lag, in the fit of the specification and in the presence of heterogeneity, and the differences are coherent with the nature of the products. Vacant land, the least differentiated product, has the strongest co-movement with neighbouring asking prices ($\hat\rho = 0.32$), the weakest structural model and the largest accessibility differentials: a highway or transit mention is associated with asking prices higher by half or more, at every quantile, which is what one expects when the indicator proxies for serviced, developable land near settlements rather than for an amenity in the residential sense \citep{colwell1997structure}. The sign change of the golf indicator for land, from a premium at the lower quantiles to a discount at the top, is plausibly a composition effect---recreational lots near golf courses in the lower part of the schedule, large rural or agricultural parcels at the top---rather than a preference reversal. Multiplexes, priced partly on rental income, show the weakest spatial co-movement ($\hat\rho = 0.13$), a transit premium that is stable across the schedule and a garage premium that disappears above the median; both are consistent with an investor's valuation, in which tenant accessibility matters at every price level and a garage adds little to the rent roll of an expensive building. Condominiums show no detectable heterogeneity, but the sample is small, selected on the reporting of interior area, and nearly homogeneous in amenity mentions, so the segment is uninformative on the question rather than evidence of homogeneity. | |
| 20 | 19 | |
| 21 | −\item \textbf{Sorting.} High-income households may sort into hospital-proximate neighborhoods for accessibility to specialized medical services, while low-income households near hospitals occupy lower-quality adjacent housing stock. \citet{bayer2007migration} document this type of amenity-driven sorting in U.S.\ metropolitan areas. | |
| 20 | +\subsection{Implications} | |
| 22 | 21 | |
| 23 | −\item \textbf{Omitted variable bias.} Hospital proximity may proxy for neighborhood density and urbanization, which have heterogeneous effects across the price distribution. The spatial lag partially controls for this, as the hospital coefficient becomes insignificant in the 2SQR median model ($\beta = -0.006$, $p > 0.10$), suggesting that the OLS hospital effect is substantially confounded by spatial spillovers. | |
| 24 | −\end{enumerate} | |
| 22 | +Two implications follow if the pattern is confirmed on transaction data. For mass appraisal and automated valuation, a conditional-mean adjustment for accessibility amenities will systematically over-adjust high-value houses and under-adjust low-value ones; the quantile profiles indicate the direction and rough size of the error, and quantile or segmented models offer a remedy at little cost. For the evaluation of amenity investments, the distribution of capitalisation across the price schedule is itself a policy-relevant object: if transit access capitalises mainly into lower-priced housing, the incidence of a transit investment falls on the owners of that housing and on the renters who may be displaced by the resulting appreciation \citep{renne2016cost}, whereas a park investment that capitalises in the lower part of the schedule but not at the top redistributes differently from one with a uniform premium \citep{wolch2014parks}. These are statements about the incidence of capitalisation, not about willingness to pay \citep{kuminoff2014capitalization}, and they are conditional on the limitations set out below. | |
| 25 | 23 | |
| 26 | −\subsection{Cross-Segment Patterns} | |
| 24 | +\subsection{Limitations} | |
| 27 | 25 | |
| 28 | −The four segments reveal distinct capitalization patterns that reflect fundamental differences in buyer populations and product characteristics: | |
| 29 | − | |
| 30 | −\textbf{Houses} show the richest heterogeneity, with 4/6 amenities significantly varying across quantiles. The structural model is well-specified ($R^2 = 0.62$) and amenity effects are precisely estimated. The house market spans the widest price range (10:1 ratio between $\tau = 0.90$ and $\tau = 0.10$), providing the most statistical power to detect distributional heterogeneity. | |
| 31 | − | |
| 32 | −\textbf{Condos} show no significant heterogeneity, consistent with a more homogeneous urban product where amenity access is relatively uniform. The high $R^2$ (0.67) suggests that structural variables (floor area, bathrooms) dominate price determination. The predominantly urban sample (62.4\% Montreal) limits geographic variation in amenity access, reducing the power of inter-quantile tests. | |
| 33 | − | |
| 34 | −\textbf{Plex} shows intermediate heterogeneity, with investment logic adding a layer of complexity: lower-priced plex buyers may be first-time investors prioritizing accessibility (for tenant convenience), while higher-priced plex buyers focus on tenant quality neighborhoods. The dual owner-occupant/investor nature of the plex market creates a natural source of preference heterogeneity \citep{pryce2013property}. | |
| 35 | − | |
| 36 | −\textbf{Land} shows the weakest structural model ($R^2 = 0.15$) but the strongest spatial dependence ($\rho = 0.32$), consistent with the importance of comparable-sales and neighborhood effects in land valuation where the physical product is undifferentiated \citep{colwell2002estimating}. The significant heterogeneity in school and golf coefficients may reflect different buyer populations: residential builders (sensitive to school quality and family-friendliness) versus recreational/agricultural buyers (sensitive to golf and rural amenities). | |
| 37 | − | |
| 38 | −\subsection{Spatial Spillovers} | |
| 39 | − | |
| 40 | −The spatial lag $\rho$ is significant in the house segment across all quantiles (0.22--0.28), while the condo and land segments show weaker spatial dependence ($\rho \approx 0.04$--0.05 at the median). This implies that a 10\% increase in average neighboring prices is associated with a 0.4--2.8\% increase in a property's price, depending on segment and quantile. The approximate indirect effects decomposition suggests that 4--23\% of the total amenity effect operates through spatial spillovers rather than direct capitalization, with the share being largest for houses. | |
| 41 | − | |
| 42 | −The variation of $\rho$ across quantiles is itself informative. For condos, the spatial lag declines from 0.34 to zero as we move from cheap to luxury properties, suggesting that luxury condo prices are determined more by unique unit characteristics (floor level, views, finishes) than by neighborhood comparables. This is consistent with the thin-market hypothesis: luxury condos are sufficiently differentiated that neighboring prices provide limited information for valuation \citep{haurin2010thin}. | |
| 43 | − | |
| 44 | −For plex, the opposite pattern ($\rho$ increasing with quantile) suggests that higher-valued investment properties are more sensitive to comparable-sales evidence. Professional investors purchasing expensive multiplexes likely rely more heavily on comparable transaction data, creating stronger spatial price dependencies \citep{shimizu2010housing}. | |
| 45 | − | |
| 46 | −\subsection{Policy Implications} | |
| 47 | − | |
| 48 | −While these results reflect conditional associations rather than causal effects, several policy-relevant observations emerge from the heterogeneity patterns: | |
| 49 | − | |
| 50 | −\begin{enumerate}[nosep] | |
| 51 | −\item \textbf{Property taxation.} Assessments based on mean hedonic estimates will systematically over-value amenity effects for expensive properties (e.g., highway) and under-value them for affordable ones (or vice versa, depending on the amenity). Municipal assessment offices in Quebec use computer-assisted mass appraisal (CAMA) models that are typically OLS-based; incorporating distributional heterogeneity could improve assessment equity across property classes. | |
| 52 | − | |
| 53 | −\item \textbf{Urban planning.} Transit investments have the largest implicit price for affordable housing---a progressive finding that supports transit-oriented development in lower-income neighborhoods. Our estimates suggest that a new transit connection would increase the value of a \$275,000 home by approximately \$53,567 (19.5\%), compared to \$80,978 (5.4\%) for a \$1.49M home. In proportional terms, the transit premium is nearly four times larger for affordable properties, supporting the case for transit-oriented affordable housing policy \citep{renne2016transit}. | |
| 54 | − | |
| 55 | −\item \textbf{Cost-benefit analysis.} Park investments capitalize more into affordable homes (\$35,648 at $\tau = 0.10$) than luxury homes in absolute terms, and substantially more in proportional terms (13.0\% vs.\ 1.4\%). This suggests that park development in affordable neighborhoods generates more housing value per dollar of public investment, providing a fiscal rationale for equitable park distribution \citep{wolch2014parks}. | |
| 56 | − | |
| 57 | −\item \textbf{Environmental justice.} The school proximity discount is amplified for luxury homes in absolute dollar terms (\$156,225 vs.\ \$26,608), suggesting that wealthy households are more able to sort away from school-proximate (i.e., dense, high-traffic) locations. This sorting reinforces spatial income inequality and may contribute to school quality disparities through property tax mechanisms \citep{tiebout1956pure}. | |
| 58 | − | |
| 59 | −\item \textbf{Mortgage risk assessment.} Lenders and insurers (including the Canada Mortgage and Housing Corporation, CMHC) use automated valuation models for underwriting. Our findings suggest that AVM accuracy could be improved by incorporating quantile-dependent amenity valuations, particularly for properties at the tails of the price distribution where OLS-based models perform worst. | |
| 60 | −\end{enumerate} | |
| 61 | − | |
| 62 | −\subsection{Limitations and Caveats} | |
| 63 | − | |
| 64 | −The following limitations circumscribe the interpretation of our results and define priorities for future work: | |
| 65 | − | |
| 66 | −\begin{enumerate}[nosep] | |
| 67 | −\item \textbf{Listing prices.} We use listing prices rather than transaction prices. Listing prices may reflect strategic pricing behavior; the listing-to-sale ratio may vary by segment and quantile (luxury listings may be more aspirationally priced), and amenity proximity may correlate with bargaining power. Our coefficients are valid if the listing premium is conditionally independent of amenity access, but this assumption cannot be tested without matched transaction data. | |
| 68 | − | |
| 69 | −\item \textbf{Cross-sectional design.} The analysis cannot identify causal effects. Endogeneity from household sorting \citep{bayer2007migration} and unobserved neighborhood quality remains a concern, though the spatial lag and regional fixed effects partially address correlated omitted variables. The ideal design would exploit quasi-experimental variation in amenity provision (e.g., new park openings, transit extensions), which requires panel data. | |
| 70 | − | |
| 71 | −\item \textbf{Binary amenity indicators.} The Centris ``Amenities Nearby'' field depends on broker classification, introducing measurement error and broker discretion. The variables are binary (near/far) without distance gradients, which attenuates estimated effects and prevents the identification of distance-decay patterns \citep{crompton2001parks}. ``Near school'' does not capture school quality; ``near transit'' does not distinguish bus, metro, REM, or commuter rail; ``near hospital'' does not distinguish major academic hospitals from small clinics. | |
| 72 | − | |
| 73 | −\item \textbf{Sample selection.} The condo retention rate (11\%) creates possible selection bias if listings with missing floor area are systematically different from retained observations. | |
| 74 | − | |
| 75 | −\item \textbf{Spatial weights specification.} The $K$-nearest-neighbor weights with $K = 10$ are constructed within each segment. Neighbors can only belong to the same property type. The results are qualitatively robust to alternative $K$ values (Section~\ref{sec:robustness}), but we have not tested distance-band weights or cross-segment neighbor definitions. | |
| 76 | − | |
| 77 | −\item \textbf{Residual spatial autocorrelation.} Moran's $I$ on 2SQR residuals remains substantial (0.35--0.40), indicating that the spatial lag does not fully absorb spatial structure. Unobserved neighborhood characteristics (crime, aesthetics, school quality) likely generate persistent spatial dependence. | |
| 78 | − | |
| 79 | −\item \textbf{Generated regressor problem.} The 2SQR estimator uses first-stage predicted values as if they were observed, which does not affect consistency but may bias standard errors. Our bootstrap procedure partially addresses this, but it resamples only the second stage. | |
| 80 | − | |
| 81 | −\item \textbf{Bootstrap and spatial dependence.} The paired bootstrap resamples observations independently, breaking the spatial structure of the data. Block bootstrap or subsampling approaches would provide more conservative inference \citep{lahiri2003resampling} but are computationally expensive and require assumptions about block size. | |
| 82 | − | |
| 83 | −\item \textbf{Approximate effect decomposition.} The direct and indirect effects reported use scalar approximations rather than the formal LeSage--Pace matrix-based decomposition. As discussed in Section~\ref{sec:methodology}, the approximation error is small for our specifications, but formal computation would strengthen the results. | |
| 84 | − | |
| 85 | −\item \textbf{Scope of interpretation.} The estimated coefficients are quantile-specific capitalization gradients---conditional associations in listing prices---not structural demand parameters or causal welfare measures. Policy implications should be interpreted accordingly. | |
| 86 | −\end{enumerate} | |
| 26 | +The limitations are of four kinds. The data are asking prices from a single snapshot, with binary broker-reported amenity indicators that carry no distance or quality information and that may be reported differently across market segments; the estimates are cross-sectional associations subject to sorting and to the usual omitted-neighbourhood-quality concern, which a single distance gradient and three regional indicators cannot fully address. The 2SQR estimator uses a least-squares first stage and the fitted lag in the second stage, so that its consistency rests on an independence assumption on the errors, no standard errors exist for the spatial-lag coefficient or for the spatially adjusted amenity coefficients, the second-stage coefficients are available at the median only, and the residual diagnostic was computed on second-stage rather than structural residuals. The inference for the quantile regressions rests on a paired bootstrap that ignores spatial dependence and on equality tests that ignore the covariance between quantiles. And the numerical record consists of a console log produced by an earlier version of the estimation script, which could not be re-run for this revision; the robustness analyses that would ordinarily accompany the results are, for that reason, listed rather than reported. The paper should be read as a documented first estimate whose main qualitative result---that amenity capitalisation in Quebec house prices is not constant across the conditional price distribution---is clear in the record, and whose quantitative details await the re-estimation described in Section~\ref{sec:limitations}. | |
deleted
paper/sections/figures.tex
+0 −83
@@ -1,83 +0,0 @@ | ||
| 1 | −% ============================================================================ | |
| 2 | −% Figures | |
| 3 | −% ============================================================================ | |
| 4 | − | |
| 5 | −\clearpage | |
| 6 | −\section*{Figures} | |
| 7 | − | |
| 8 | −\begin{figure}[!htbp] | |
| 9 | −\centering | |
| 10 | −\includegraphics[width=0.95\textwidth]{figures/fig1_coef_plots_amenities.png} | |
| 11 | −\caption{Amenity Coefficients by Quantile and Market Segment} | |
| 12 | −\label{fig:coef_plots} | |
| 13 | −\begin{minipage}{0.9\textwidth} | |
| 14 | −\footnotesize | |
| 15 | −\textit{Notes:} Each panel shows quantile regression coefficients with 95\% bootstrap confidence intervals (shaded). Dotted horizontal lines indicate OLS estimates. Declining curves (highway, transit, park) indicate stronger capitalization in affordable homes; the hospital panel shows a sign reversal from negative (affordable) to positive (luxury). | |
| 16 | −\end{minipage} | |
| 17 | −\end{figure} | |
| 18 | − | |
| 19 | −\begin{figure}[!htbp] | |
| 20 | −\centering | |
| 21 | −\includegraphics[width=0.95\textwidth]{figures/fig2_wtp_by_quantile.png} | |
| 22 | −\caption{Implicit Prices (Willingness to Pay) by Quantile and Market Segment} | |
| 23 | −\label{fig:wtp} | |
| 24 | −\begin{minipage}{0.9\textwidth} | |
| 25 | −\footnotesize | |
| 26 | −\textit{Notes:} WTP is computed as $P(\tau) \times [\exp(\hat\beta(\tau)) - 1]$, where $P(\tau)$ is the sample price at quantile $\tau$, in Canadian dollars. The divergence between quantile-specific WTP and the OLS-implied WTP (which would be a constant line) illustrates the policy-relevant heterogeneity documented in this paper. | |
| 27 | −\end{minipage} | |
| 28 | −\end{figure} | |
| 29 | − | |
| 30 | −\begin{figure}[!htbp] | |
| 31 | −\centering | |
| 32 | −\includegraphics[width=0.95\textwidth]{figures/fig3_ols_vs_qr_vs_sqr.png} | |
| 33 | −\caption{Comparison of Amenity Coefficients Across Estimation Methods} | |
| 34 | −\label{fig:ols_qr_sqr} | |
| 35 | −\begin{minipage}{0.9\textwidth} | |
| 36 | −\footnotesize | |
| 37 | −\textit{Notes:} Comparison of OLS, quantile regression at the median ($\tau = 0.50$), and two-stage spatial quantile regression (2SQR, $\tau = 0.50$). The spatial lag absorbs part of the amenity effect, reducing coefficient magnitudes in the 2SQR model. The attenuation is most pronounced for highway and transit proximity, suggesting that these amenity effects are substantially confounded by spatial spillovers in OLS specifications. | |
| 38 | −\end{minipage} | |
| 39 | −\end{figure} | |
| 40 | − | |
| 41 | −\begin{figure}[!htbp] | |
| 42 | −\centering | |
| 43 | −\includegraphics[width=0.85\textwidth]{figures/fig4_pseudo_r2.png} | |
| 44 | −\caption{Pseudo-$R^2$ by Quantile and Market Segment} | |
| 45 | −\label{fig:pseudo_r2} | |
| 46 | −\begin{minipage}{0.9\textwidth} | |
| 47 | −\footnotesize | |
| 48 | −\textit{Notes:} Model fit increases with the quantile for houses and condos, suggesting that structural and amenity variables explain more variance at the upper end of the price distribution. The land segment has the lowest pseudo-$R^2$ throughout, reflecting the absence of structural variables and the dominance of unobserved site-specific factors (zoning, development potential). | |
| 49 | −\end{minipage} | |
| 50 | −\end{figure} | |
| 51 | − | |
| 52 | −\begin{figure}[!htbp] | |
| 53 | −\centering | |
| 54 | −\includegraphics[width=0.85\textwidth]{figures/fig5_spatial_lag_rho.png} | |
| 55 | −\caption{Spatial Lag Parameter ($\rho$) by Quantile and Market Segment} | |
| 56 | −\label{fig:rho} | |
| 57 | −\begin{minipage}{0.9\textwidth} | |
| 58 | −\footnotesize | |
| 59 | −\textit{Notes:} Estimated via 2SQR. Condo $\rho$ declines sharply from 0.34 to zero as price increases, consistent with the thin-market hypothesis for luxury condos. Plex $\rho$ increases with price, reflecting stronger comparable-sales effects for higher-valued investment properties. House and land $\rho$ are relatively stable across quantiles. | |
| 60 | −\end{minipage} | |
| 61 | −\end{figure} | |
| 62 | − | |
| 63 | −\begin{figure}[!htbp] | |
| 64 | −\centering | |
| 65 | −\includegraphics[width=0.95\textwidth]{figures/fig6_price_distributions.png} | |
| 66 | −\caption{Price Distributions (Log Scale) by Market Segment} | |
| 67 | −\label{fig:distributions} | |
| 68 | −\begin{minipage}{0.9\textwidth} | |
| 69 | −\footnotesize | |
| 70 | −\textit{Notes:} Red dashed lines indicate the five quantiles $\tau \in \{0.10, 0.25, 0.50, 0.75, 0.90\}$. The right skewness of the raw price distribution (most visible for houses and plex) confirms the appropriateness of the log transformation. | |
| 71 | −\end{minipage} | |
| 72 | −\end{figure} | |
| 73 | − | |
| 74 | −\begin{figure}[!htbp] | |
| 75 | −\centering | |
| 76 | −\includegraphics[width=0.95\textwidth]{figures/fig7_wald_heatmap.png} | |
| 77 | −\caption{Inter-Quantile Heterogeneity of Amenity Coefficients (Wald Test Statistics)} | |
| 78 | −\label{fig:wald} | |
| 79 | −\begin{minipage}{0.9\textwidth} | |
| 80 | −\footnotesize | |
| 81 | −\textit{Notes:} Each cell shows the Wald statistic for testing $\beta(\tau_j) = \beta(\tau_{j+1})$ between adjacent quantiles. Warm colors indicate stronger heterogeneity. The house segment exhibits the most pervasive heterogeneity, with highway and transit showing significant shifts across multiple adjacent quantile pairs. $^{*}p<0.05$, $^{**}p<0.01$, $^{***}p<0.001$. | |
| 82 | −\end{minipage} | |
| 83 | −\end{figure} | |
modified
paper/sections/introduction.tex
+6 −10
@@ -3,18 +3,14 @@ | ||
| 3 | 3 | \label{sec:introduction} |
| 4 | 4 | % ============================================================================ |
| 5 | 5 | |
| 6 | −The hedonic pricing model, formalized by \citet{rosen1974hedonic}, remains the workhorse framework for estimating the implicit prices of housing attributes. By regressing property prices on structural characteristics, locational features, and neighborhood amenities, researchers can decompose market values into the marginal willingness to pay (WTP) for each attribute. This approach has generated an extensive empirical literature across international housing markets \citep{malpezzi2003hedonic, sirmans2005composition, chin2006influences}. | |
| 6 | +The hedonic price function of \citet{rosen1974hedonic} remains the standard instrument for recovering the implicit prices of housing attributes. Regressing prices on structural characteristics, location and neighbourhood amenities decomposes market values into attribute-specific gradients that are used in appraisal, mass assessment, cost--benefit analysis and the evaluation of urban policy \citep{malpezzi2003hedonic, sirmans2005composition, bishop2020best}. Almost all of this work estimates the conditional mean. A least-squares hedonic regression therefore imposes a single implicit price for each attribute, whatever the position of the property in the price distribution: a buyer of a \$275,000 house is assumed to capitalise park or transit proximity in the same proportion as the buyer of a \$1.5 million house. Nothing in hedonic theory requires this. The hedonic price function is an envelope of bid functions of heterogeneous households, and the gradient of that envelope can legitimately differ across segments of the market when preferences, budget constraints and substitution possibilities differ \citep{rosen1974hedonic, epple1987hedonic, ekeland2004identification}. Empirically, quantile regression has repeatedly rejected coefficient constancy across the conditional price distribution \citep{zietz2008determinants, mcmillen2008quantile, mak2010quantile, liao2012hedonic}. | |
| 7 | 7 | |
| 8 | −However, standard hedonic models estimated by ordinary least squares (OLS) impose a critical assumption: that implicit prices are constant across the conditional price distribution. A household purchasing a \$150,000 property is assumed to value an additional bathroom or park proximity identically to a household purchasing a \$1,500,000 property. This homogeneity assumption has been increasingly questioned on both theoretical and empirical grounds \citep{zietz2008determinants, liao2012hedonic, mak2010quantile}. From a theoretical perspective, \citet{rosen1974hedonic} himself acknowledged that the hedonic price function reflects a market equilibrium between heterogeneous buyers and sellers, and there is no reason to expect the marginal valuation of attributes to be invariant across market participants. From an empirical standpoint, housing markets are characterized by substantial preference heterogeneity: budget-constrained households prioritize functional accessibility (transit, highways), while luxury-market buyers emphasize prestige, privacy, and environmental quality \citep{waddell1993exogenous, bayer2007migration}. | |
| 8 | +A second well-documented feature of housing data is spatial dependence. Neighbouring properties share unobserved locational attributes and are priced with reference to one another, so that regression residuals are spatially autocorrelated and the price of a property is correlated with the prices of its neighbours \citep{can1992specification, basu1998analysis, anselin1988spatial, lesage2009introduction}. Combining the two concerns leads to spatial quantile regression. The combination is not straightforward, because a spatial lag of the dependent variable is endogenous and must be instrumented inside a quantile objective; the available estimators are the two-stage ``fitted-value'' quantile regressions of \citet{amemiya1982two}, \citet{powell1983asymptotic}, \citet{chen1996twostage} and \citet{kim2004quantile}, the instrumental-variable quantile regression of \citet{chernozhukov2005iv, chernozhukov2006quantile, chernozhukov2008instrumental} adapted to spatial autoregressive models by \citet{su2011instrumental}, and the conditionally parametric approaches surveyed by \citet{mcmillen2013quantile}. Applications to housing remain few \citep{kostov2009spatial, liao2012hedonic, wen2017spatial, gu2023hospital, squires2025airport}. | |
| 9 | 9 | |
| 10 | −Two methodological developments address this limitation. First, quantile regression \citep{koenker1978regression, koenker2005quantile} allows coefficients to vary across the conditional distribution, revealing how implicit prices differ between affordable and luxury properties. Unlike mean regression, quantile regression characterizes the entire conditional distribution of the response variable, providing a more complete picture of the relationship between housing prices and their determinants \citep{hao2007quantile}. Second, spatial econometric methods \citep{lesage2009introduction, anselin1988spatial} account for the well-documented spatial dependence in housing markets, where neighboring property prices and characteristics influence valuations through spillover effects. The combination of these two approaches---spatial quantile regression---remains relatively rare in the literature, despite its theoretical appeal \citep{liao2012hedonic, su2012profile}. | |
| 10 | +This paper applies a two-stage spatial quantile regression to residential asking prices in the province of Quebec. The data are a snapshot of 42,481 Centris listings, the province-wide multiple listing service, covering four product types: single-family houses, condominiums, small multi-unit buildings (``plexes'') and vacant land. For each segment we estimate the conditional quantile function of the log asking price at $\tau \in \{0.10, 0.25, 0.50, 0.75, 0.90\}$, first without and then with a spatial lag of neighbouring log prices instrumented by the spatially lagged covariates, and we test whether the coefficients of six broker-reported amenity indicators (highway, hospital, park, school, public transit and golf course) differ between the tails of the distribution. The contribution is empirical and modest in scope. We know of no spatial quantile hedonic study of the Quebec market, where the hedonic tradition of \citet{desrosiers2000sorting}, \citet{theriault2003modelling}, \citet{kestens2006heterogeneity} and \citet{dube2011spatial, dube2013commuter, dube2014did} has concentrated on conditional-mean models of Qu\'ebec City and Montreal; and we know of no study that compares amenity capitalisation across quantiles for several product types drawn from the same listing platform. | |
| 11 | 11 | |
| 12 | −The Canadian housing market presents a particularly interesting case for studying amenity capitalization heterogeneity. Canada experienced one of the most pronounced housing price escalations among OECD countries between 2000 and 2022, with the composite benchmark price rising over 300\% nationally \citep{cmhc2023housing}. Within Canada, the Quebec market exhibits distinctive characteristics: a bilingual regulatory environment, a unique civil law tradition affecting property transactions, and significant price variation between the Montreal metropolitan area and regional markets \citep{statisticscanada2023housing}. The province's housing stock spans from dense urban condominiums in downtown Montreal to rural single-family homes and agricultural land parcels, creating natural variation for studying how amenity capitalization differs across market segments and price levels. | |
| 12 | +The results, all of which are obtained from asking prices in a single cross-section and must be read as conditional capitalisation differentials rather than as welfare measures \citep{kuminoff2014capitalization}, are as follows. For single-family houses, the implicit prices of highway, transit and park proximity decline monotonically along the conditional distribution: the highway coefficient falls from 0.205 at the 10th percentile to 0.034 at the 90th, transit from 0.178 to 0.053 and park from 0.122 to 0.014, and the equality of the coefficients at $\tau = 0.10$ and $\tau = 0.90$ is rejected at the 1 percent level for each of them. The hospital indicator changes sign, from $-$0.085 at the 10th percentile to $+$0.041 at the 90th, and the difference is again significant. School proximity carries a stable discount of about 11 log points at every quantile. For condominiums no amenity coefficient differs significantly between the tails; for multiplexes the highway and hospital coefficients do; for vacant land the school and golf coefficients do. Residual spatial autocorrelation is strong in every segment (Moran's $I$ between 0.51 and 0.58 on OLS residuals), and the instrumented spatial lag estimated at the median lies between 0.13 (multiplexes) and 0.32 (vacant land). Introducing the lag attenuates the median highway, transit and school coefficients for houses by roughly a third to a half, which indicates that part of what a non-spatial model attributes to an amenity indicator is the price level of the surrounding listings. | |
| 13 | 13 | |
| 14 | −Despite these features, the Canadian housing literature---and the Quebec market in particular---remains largely confined to mean-based hedonic estimates. Recent Quebec-focused studies have examined social housing impacts \citep{dube2023yimby}, park premiums \citep{dube2025park}, supervised consumption site effects \citep{montreal2024consumption}, and rail transit capitalization \citep{dube2011spatial}, but none have investigated distributional heterogeneity in amenity capitalization using spatial quantile methods. The broader Canadian spatial hedonic literature includes studies of Toronto \citep{des2011spatial}, Vancouver \citep{pace2004spatial}, and pan-Canadian analyses \citep{bourassa2010spatial}, but quantile regression applications remain scarce. | |
| 14 | +Three qualifications shape the presentation. First, the amenity indicators are binary broker classifications without distance or quality information, and the asking price is not a transaction price. Second, the inference relies on a paired bootstrap that resamples listings independently; it ignores spatial dependence and the generated-regressor nature of the fitted spatial lag, and no standard errors are available for the spatial-lag coefficient itself. Third, the numerical record of the study consists of the console log of the original estimation run; the raw Centris snapshot is not redistributable and could not be re-run for this revision. Every number in the paper is taken from that log, the tables and figures are generated from it by a versioned script, and the limitations this imposes are stated explicitly in Section~\ref{sec:robustness} and Appendix~\ref{app:audit}. | |
| 15 | 15 | |
| 16 | −This paper makes four contributions to the literature. First, we provide the first application of spatial quantile regression to the Quebec residential market using a comprehensive dataset of 42,481 Centris listings. Second, we extend the analysis beyond single-family homes to four distinct market segments---houses, condominiums, multiplexes, and vacant land---enabling cross-segment comparison of amenity capitalization patterns. Third, we employ a two-stage spatial quantile regression (2SQR) framework with bootstrap inference, combining the distributional flexibility of quantile regression with explicit modeling of spatial spillovers. Fourth, we implement a comprehensive robustness framework including weak instrument diagnostics, variance inflation factor (VIF) analysis, sensitivity tests on spatial weights parameterization, and omnibus inter-quantile heterogeneity tests, providing confidence in the stability of our findings. | |
| 17 | − | |
| 18 | −Our results reveal substantial heterogeneity. For single-family homes, the omnibus inter-quantile test strongly rejects coefficient homogeneity ($\chi^2(7) = 35.74$, $p < 0.001$), with hospital proximity, park proximity, and transit proximity exhibiting statistically significant differences between the 10th and 90th percentiles. Notably, hospital proximity shifts from a significant discount of 8.2\% for lower-priced homes to a positive (but insignificant) association at the upper tail; park proximity declines from a significant premium of 8.7\% to an insignificant negative coefficient. The spatial lag parameter ranges from 0.04 to 0.23 across segments at the median, with first-stage $F$-statistics exceeding 100 in all segments, well above the \citet{stock2002survey} threshold for instrument relevance. The OLS model with corrected distance measures explains 68.5\% of house price variation (adjusted $R^2 = 0.685$). These findings have direct implications for urban planning, property taxation, and the interpretation of amenity valuation studies that rely on conditional-mean estimates. | |
| 19 | − | |
| 20 | −The remainder of this paper is organized as follows. Section~\ref{sec:literature} reviews the relevant literature on hedonic pricing, spatial econometrics, quantile regression, and housing market segmentation. Section~\ref{sec:methodology} presents the econometric framework, including the 2SQR estimator, bootstrap inference, and diagnostic tests. Section~\ref{sec:data} describes the data source, variable construction, and sample characteristics. Section~\ref{sec:results} reports the empirical results across all four market segments. Section~\ref{sec:robustness} presents the robustness checks. Section~\ref{sec:discussion} discusses theoretical and policy implications, and Section~\ref{sec:conclusion} concludes with directions for future research. | |
| 16 | +The remainder of the paper is organised as follows. Section~\ref{sec:literature} reviews the hedonic, spatial and quantile literatures and situates the Quebec evidence. Section~\ref{sec:data} describes the Centris data and the construction of the four estimation samples. Section~\ref{sec:methodology} sets out the estimators, the spatial weights, the inference procedures and the interpretation of the estimates. Section~\ref{sec:results} reports the results, Section~\ref{sec:robustness} discusses robustness and the limits of the available evidence, Section~\ref{sec:discussion} interprets the findings, and Section~\ref{sec:conclusion} concludes. | |
modified
paper/sections/literature.tex
+16 −62
@@ -1,80 +1,34 @@ | ||
| 1 | 1 | % ============================================================================ |
| 2 | −\section{Literature Review} | |
| 2 | +\section{Literature} | |
| 3 | 3 | \label{sec:literature} |
| 4 | 4 | % ============================================================================ |
| 5 | 5 | |
| 6 | −\subsection{The Hedonic Pricing Framework} | |
| 6 | +\subsection{Hedonic prices and what a cross-section identifies} | |
| 7 | 7 | |
| 8 | −The theoretical foundation of hedonic pricing rests on \citet{rosen1974hedonic}, who showed that in a market with differentiated products, the equilibrium price function reveals marginal valuations of product attributes. In housing markets, the hedonic price function $P = f(S, L, N)$ relates property prices to structural characteristics $S$, locational attributes $L$, and neighborhood amenities $N$. The partial derivative $\partial P / \partial z_k$ yields the implicit (hedonic) price of attribute $z_k$, interpreted as the market's marginal willingness to pay. | |
| 8 | +In \citet{rosen1974hedonic}, a differentiated good is a bundle of attributes $\mathbf{z}$ and the market price function $P(\mathbf{z})$ is the locus of tangencies between the bid functions of heterogeneous buyers and the offer functions of heterogeneous sellers. Its gradient $\partial P/\partial z_k$ is the implicit (marginal) price of attribute $k$: at the equilibrium, it equals the marginal bid of the buyer who selects that bundle. Recovering marginal willingness to pay \emph{functions} from the gradient is the second stage of Rosen's procedure, and it requires exclusion restrictions, multiple markets or functional-form assumptions that a single cross-section does not supply \citep{epple1987hedonic, ekeland2004identification, bajari2005estimating}. The distinction matters for the interpretation of quantile estimates. The coefficient of an amenity indicator at the $\tau$-th conditional quantile is a feature of the equilibrium price schedule in the part of the market occupied by properties whose price, given their characteristics, lies at that quantile; it is not the preference parameter of a particular type of household. \citet{kuminoff2014capitalization} show, moreover, that even a well-identified capitalisation effect of a change in a public good equals marginal willingness to pay only under restrictive conditions on sorting and on the shape of the price function. We therefore use the term \emph{implicit price} throughout and avoid ``willingness to pay'' except when referring to the literature. | |
| 9 | 9 | |
| 10 | −The log-linear specification $\ln P = \alpha + \boldsymbol{\beta}' \mathbf{X} + \varepsilon$ has become the dominant functional form \citep{sirmans2005composition, malpezzi2003hedonic, halvorsen1981choice}. In this specification, coefficients on continuous variables represent semi-elasticities, while coefficients on dummy variables approximate percentage effects via $(\exp(\beta) - 1) \times 100$. \citet{cropper1988choice} compare alternative functional forms (linear, semi-log, double-log, Box-Cox) using Monte Carlo simulations and find that the log-linear form performs well under omitted variable bias, a pervasive concern in hedonic studies. \citet{cassel1985hedonic} further demonstrate that the semi-log form yields more interpretable and stable coefficient estimates than flexible alternatives when the true functional form is unknown. | |
| 10 | +The log-linear specification is the dominant functional form in applied work \citep{halvorsen1981choice, cropper1988choice, malpezzi2003hedonic, sirmans2005composition}. \citet{cropper1988choice} find in simulations that simple forms, including the semi-log, are the most robust to omitted variables and mismeasured attributes, and \citet{cassel1985hedonic} argue that flexible forms buy little when the true specification is unknown. In a semi-log model the coefficient of a binary attribute is converted to a proportional price differential as $\exp(\beta) - 1$ \citep{halvorsen1980interpretation}. \citet{kuminoff2010quasi}, \citet{parmeter2013quasi} and \citet{bishop2020best} review the specification choices that most affect the credibility of hedonic estimates---spatial fixed effects, functional form, the treatment of unobserved neighbourhood quality---and recommend reporting the sensitivity of implicit prices to them. | |
| 11 | 11 | |
| 12 | −A recent methodological reflection by \citet{herath2025reflections} emphasizes persistent challenges: functional form misspecification, omitted variable bias, spatial dependence, and the assumption of a single market equilibrium. \citet{parmeter2010applied} provide a comprehensive review of applied hedonic methods, noting that the choice of functional form, variable selection, and spatial structure can substantially affect estimated implicit prices. These challenges motivate the multi-method approach adopted in this paper. | |
| 12 | +\subsection{Spatial dependence in hedonic models} | |
| 13 | 13 | |
| 14 | −The identification problem in hedonic models deserves particular attention. As \citet{ekeland2004identification} and \citet{bajari2005estimating} demonstrate, identifying the demand function for housing attributes requires either functional form restrictions or instruments. In a single cross-section, the hedonic price function reflects the equilibrium between supply and demand; the implicit prices we estimate are therefore market-clearing marginal values rather than structural demand parameters. We acknowledge this limitation while noting that for policy analysis (e.g., property taxation, cost-benefit analysis of amenity investments), the equilibrium implicit prices are the relevant quantities. | |
| 14 | +Residuals of hedonic regressions are spatially autocorrelated because neighbouring properties share unmeasured locational attributes and because prices are formed with reference to comparable nearby sales \citep{can1992specification, basu1998analysis}. Two canonical models address this. The spatial autoregressive (SAR) model adds a spatial lag of the dependent variable, $\ln\mathbf{P} = \rho\mathbf{W}\ln\mathbf{P} + \mathbf{X}\boldsymbol\beta + \boldsymbol\varepsilon$, where $\mathbf{W}$ is a weights matrix; the spatial error model places the dependence in the disturbance; and the spatial Durbin model adds spatially lagged covariates $\mathbf{WX}$ \citep{anselin1988spatial, lesage2009introduction, elhorst2010applied, anselin2010thirty}. Because $\mathbf{W}\ln\mathbf{P}$ is endogenous, the SAR model is estimated by maximum likelihood or by spatial two-stage least squares with $\mathbf{WX}$ (and higher-order lags) as instruments \citep{kelejian1998generalized, lee2003best, kelejian2010specification}. In a SAR model the marginal effect of a covariate is not its coefficient but a matrix expression involving $(\mathbf{I} - \rho\mathbf{W})^{-1}$, which generates direct, indirect and total effects \citep{lesage2009introduction, lesage2014biggest}; \citet{small2012spatial} show that for an amenity which is itself spatially distributed, the willingness-to-pay interpretation of these effects depends on whether the spillover reflects preferences or the mechanics of price formation. \citet{gibbons2012mostly} and \citet{gibbons2015spatial} caution that the exclusion restriction on $\mathbf{WX}$ is rarely credible and that spatial lag models are better regarded as descriptive adjustments than as structural models; we adopt that reading. | |
| 15 | 15 | |
| 16 | −\subsection{Spatial Hedonic Models} | |
| 16 | +Applications to hedonic pricing include \citet{kim2003measuring} and \citet{anselin2008errors} for air quality, \citet{bourassa2007spatial, bourassa2010spatial} for prediction, and the choice of $\mathbf{W}$ has been studied by \citet{getis2009spatial} and \citet{stakhovych2009specification}, who find that misspecifying $\mathbf{W}$ affects $\rho$ more than the remaining coefficients. Spatially varying coefficients are an alternative to a spatial lag \citep{bitter2007incorporating}, and recent work combines spatial structure with machine-learning predictors \citep{gyger2025explainable, chen2025geoshapley}; the implicit price of location itself, in a multinodal metropolitan area, is the subject of \citet{waddell1993exogenous}. In the Canadian context, \citet{zhang2018spatial} document spatial dependence in provincial house price dynamics; the Qu\'ebec City and Montreal studies of \citet{desrosiers2000sorting, desrosiers2002landscaping}, \citet{theriault2003modelling}, \citet{dube2011spatial, dube2013commuter, dube2014did} and \citet{dube2013spatiotemporal} use spatial and spatio-temporal weights built from transaction microdata, and \citet{dube2014spatial} provide a textbook treatment of these methods on microdata. | |
| 17 | 17 | |
| 18 | −Housing prices exhibit strong spatial dependence: properties in the same neighborhood share unobserved characteristics (school quality, crime rates, aesthetic appeal) that generate correlated residuals. Ignoring spatial autocorrelation produces biased and inefficient OLS estimates \citep{lesage2009introduction, anselin1988spatial, can1992specification}. | |
| 18 | +\subsection{Quantile regression in housing} | |
| 19 | 19 | |
| 20 | −The spatial autoregressive (SAR) model augments the hedonic equation with a spatial lag of the dependent variable: | |
| 21 | −\begin{equation} | |
| 22 | −\ln \mathbf{P} = \rho \mathbf{W} \ln \mathbf{P} + \mathbf{X}\boldsymbol{\beta} + \boldsymbol{\varepsilon} | |
| 23 | −\end{equation} | |
| 24 | −where $\mathbf{W}$ is a spatial weights matrix and $\rho$ captures the degree of spatial spillover. The spatial error model (SEM) places spatial structure in the disturbance term $\boldsymbol{\varepsilon} = \lambda \mathbf{W}\boldsymbol{\varepsilon} + \mathbf{u}$, while the spatial Durbin model (SDM) nests both by including spatially lagged explanatory variables $\mathbf{WX}$ \citep{lesage2009introduction, elhorst2010applied}. \citet{anselin2010thirty} provides a comprehensive review of thirty years of spatial econometrics, documenting the evolution from simple spatial lag and error models to more flexible specifications. | |
| 20 | +Quantile regression \citep{koenker1978regression, koenker2005quantile, koenker2001quantile} estimates the conditional quantile function $Q_\tau(\ln P \mid \mathbf{X}) = \mathbf{X}'\boldsymbol\beta(\tau)$. Because $\boldsymbol\beta(\tau)$ is allowed to vary with $\tau$, the method characterises the whole conditional distribution instead of its mean, does not require distributional assumptions on the error term and is robust to outliers in the dependent variable \citep{buchinsky1998recent, hao2007quantile}. Inference can be based on the asymptotic sandwich, which requires an estimate of the conditional density of the error at zero, or on the bootstrap \citep{buchinsky1995estimating, hahn1995bootstrapping, horowitz1998bootstrap}. For dependent data, cluster and block versions of the bootstrap are available \citep{lahiri2003resampling, parente2016quantile, hagemann2017cluster}, and the joint behaviour of estimates at several quantiles is treated by \citet{koenker2002inference}. | |
| 25 | 21 | |
| 26 | −The interpretation of spatial models requires attention to the distinction between direct and indirect effects. In the SAR model, the marginal effect of a change in $x_{ik}$ on $y_i$ includes not only the direct effect $\beta_k$ but also feedback effects through the spatial multiplier $(I - \rho W)^{-1}$. \citet{lesage2009introduction} formalize this decomposition, showing that the average total effect of a unit change in $x_k$ across all observations is $n^{-1} \text{tr}[(I - \rho W)^{-1}] \beta_k$, which can be approximated as $\beta_k / (1 - \rho)$ for global effects. | |
| 22 | +\citet{zietz2008determinants} is the reference application to house prices: using Utah transactions, they find that most structural coefficients increase with the quantile and that the implicit prices of several attributes are not constant. \citet{mcmillen2008quantile} uses quantile regression to decompose the change in the distribution of Chicago house prices into changes in characteristics and changes in coefficients, and \citet{mcmillen2013quantile} develops the spatial extensions. \citet{mak2010quantile} report, for Hong Kong, that the floor-area coefficient at the 90th percentile is several times that at the 10th; \citet{farmer2010quantile} use the quantile pattern of coefficients to identify submarket competition in a United States metropolitan area. Spatial quantile applications include \citet{kostov2009spatial} for agricultural land, \citet{liao2012hedonic} for Shanghai apartments, \citet{wen2017spatial} for the Hangzhou canal landscape, \citet{gu2023hospital} for hospital accessibility in a Chinese city and \citet{squires2025airport} for airport proximity in New Zealand. The semiparametric M-quantile approach of \citet{schirripa2024mquantile} and the geographically weighted quantile regression of \citet{chen2012geographically} relax linearity or spatial stationarity of the coefficients. We are not aware of a published quantile hedonic study of the Quebec market. | |
| 27 | 23 | |
| 28 | −The specification of the spatial weights matrix $\mathbf{W}$ is a critical modeling choice. Common approaches include contiguity-based weights, distance bands, and $K$-nearest neighbors (KNN) \citep{getis2004spatial}. \citet{stakhovych2009specification} demonstrate that misspecification of $\mathbf{W}$ can bias spatial parameter estimates, though the impact on non-spatial coefficients is often modest. KNN weights offer the practical advantage of avoiding ``island'' observations (properties with no neighbors under distance-band specifications) in datasets with irregular spatial density \citep{pace2004spatial}. | |
| 24 | +\subsection{Estimating a spatial lag inside a quantile regression} | |
| 29 | 25 | |
| 30 | −Recent advances combine spatial structure with machine learning. \citet{gyger2025spatial} propose a hybrid spatial Gaussian process with tree boosting, tested on 1.5 million German rental listings. \citet{chen2025geoshapley} apply GeoShapley to decompose spatial effects in Beijing housing prices. For the Canadian context, \citet{bourassa2010spatial} document significant spatial dependence in Canadian housing markets, and \citet{dubois2018spatial} confirm this for the Quebec market specifically. \citet{dube2011spatial} estimate a spatial hedonic model of rail transit capitalization in Montreal, finding that the spatial lag absorbs approximately 20\% of the transit premium estimated by OLS. | |
| 26 | +Three families of estimators exist. The first is the fitted-value two-stage approach: the endogenous regressor is replaced by its projection on the instruments, obtained by least squares \citep{amemiya1982two, powell1983asymptotic} or by a quantile regression at the same $\tau$ \citep{chen1996twostage, kim2004quantile}, and the quantile regression of interest is run on the fitted value. \citet{kim2004quantile} show that the quantile-based first stage yields a consistent estimator of the structural quantile coefficients under weaker conditions than the least-squares first stage, which is consistent for the slopes only when the composite first-stage error is independent of the instruments. The second family is the inverse quantile regression of \citet{chernozhukov2005iv, chernozhukov2006quantile, chernozhukov2008instrumental}, which does not replace the endogenous regressor but searches over its coefficient for the value at which the instruments are irrelevant in the quantile regression of $y - \rho\,\mathbf{W}y$; \citet{su2011instrumental} adapt this estimator to spatial autoregressive models with dependent, non-identically distributed errors. The third is the conditionally parametric or locally weighted approach of \citet{mcmillen2013quantile}, which lets the coefficients vary smoothly over space instead of modelling the spatial lag. The estimator used in this paper belongs to the first family with a least-squares first stage; Section~\ref{sec:2sqr} defines it precisely and states what it does and does not deliver. | |
| 31 | 27 | |
| 32 | −\subsection{Quantile Regression in Housing Markets} | |
| 28 | +\subsection{Submarkets and product types} | |
| 33 | 29 | |
| 34 | −Quantile regression \citep{koenker1978regression, koenker2005quantile} estimates the conditional quantile function: | |
| 35 | −\begin{equation} | |
| 36 | −Q_\tau(\ln P | \mathbf{X}) = \mathbf{X}\boldsymbol{\beta}(\tau), \quad \tau \in (0,1) | |
| 37 | −\end{equation} | |
| 38 | −where $\boldsymbol{\beta}(\tau)$ varies with the quantile $\tau$. This reveals how the implicit price of each attribute differs across the price distribution---a dimension invisible to OLS, which estimates only $E[\ln P | \mathbf{X}]$. | |
| 30 | +That a single hedonic function should not be imposed on an entire metropolitan market is an old theme \citep{palm1978spatial, goodman1998housing, watkins2001definition}. Segmented models predict better \citep{bourassa2003submarkets, bourassa2007spatial}, submarkets form a lattice of imperfect substitutes \citep{pryce2013housing}, and data-driven segmentations are now common \citep{reyblanco2024submarkets}. Most of this literature segments by location or by price; segmentation by product type is less studied, although the attribute bundles of a single-family house, a condominium unit, a small rental building and a vacant parcel are so different that pooling them is rarely attempted. \citet{kestens2006heterogeneity} show, on Qu\'ebec City transactions matched to buyer surveys, that implicit prices vary with household profile---a direct motivation for allowing them to vary across the price distribution. | |
| 39 | 31 | |
| 40 | −The econometric advantages of quantile regression over OLS are well-documented. First, quantile regression estimators are consistent under heteroskedasticity and do not require distributional assumptions on the error term \citep{koenker2005quantile}. Second, they are more robust to outliers than OLS, since the check function penalizes deviations asymmetrically rather than quadratically \citep{buchinsky1998recent}. Third, quantile regression reveals the full structure of the conditional distribution, enabling researchers to test whether the effect of a covariate is heterogeneous across the response distribution \citep{hao2007quantile}. | |
| 32 | +\subsection{Amenity capitalisation and the Quebec evidence} | |
| 41 | 33 | |
| 42 | −\citet{zietz2008determinants} provide an influential early application to U.S.\ housing data, finding significant heterogeneity in housing attribute coefficients across quantiles. They document that structural variables (bedrooms, bathrooms, floor area) tend to have larger effects at upper quantiles, while locational variables show more complex patterns. \citet{liao2012hedonic} extend this to a spatial quantile framework using Shanghai housing data, documenting that implicit prices of structural and neighborhood attributes vary substantially between cheap and expensive properties. \citet{mak2010quantile} confirm these patterns for the Hong Kong market, finding that floor area effects are three times larger at the 90th percentile than at the 10th percentile. \citet{mcmillen2008quantile} applies quantile regression to land values in Chicago, finding that the distance gradient from the CBD varies substantially across quantiles. \citet{farmer2011exaggerated} use quantile regression to show that the premium for school quality is exaggerated at higher price quantiles in the U.K.\ housing market. | |
| 43 | − | |
| 44 | −In the Canadian context, quantile regression applications to housing markets remain rare. \citet{des2014quantile} apply quantile regression to assess the impact of environmental contamination on housing values in Montreal, finding that contamination effects are amplified for lower-priced properties. \citet{wen2017quantile} estimate quantile regression models for Toronto condominium prices, documenting heterogeneous effects of building age and floor level across the price distribution. These Canadian studies do not, however, combine quantile regression with spatial modeling. | |
| 45 | − | |
| 46 | −The combination of spatial structure and quantile estimation remains methodologically challenging. \citet{kim2004quantile} propose a two-stage instrumental variables approach: the spatial lag $\mathbf{W}\ln\mathbf{P}$ is instrumented with spatially lagged exogenous variables $\mathbf{WX}$ in a first stage, then the predicted spatial lag is included in a second-stage quantile regression. This two-stage spatial quantile regression (2SQR) avoids the computational intractability of jointly estimating spatial and quantile parameters. \citet{su2012profile} propose a profile likelihood approach to spatial quantile regression, while \citet{kostov2009spatial} introduces a penalized quantile regression method with spatial smoothing. The 2SQR framework has been applied to airport noise effects \citep{nz2025airport}, hospital accessibility \citep{hospital2023heterogeneity}, and urban green space valuation \citep{chen2020quantile}, but not to multi-segment Canadian housing data. | |
| 47 | − | |
| 48 | −\citet{salvati2023semiparametric} propose a spatial semiparametric M-quantile regression framework for hedonic pricing, offering robustness to outliers and distributional misspecification. Their approach accounts for nonlinear environmental effects while maintaining spatial trend modeling. \citet{chernozhukov2006quantile} develop instrumental variable quantile regression methods with formal weak instrument diagnostics, which inform our testing strategy. | |
| 49 | − | |
| 50 | −\subsection{Housing Market Segmentation} | |
| 51 | − | |
| 52 | −The assumption that a single hedonic price function governs the entire market has been challenged by the housing submarket literature. \citet{bourassa2003submarkets} demonstrate that segmented hedonic models outperform pooled models for property valuation, using data from Auckland, New Zealand. \citet{goodman1998housing} provides theoretical foundations for market segmentation based on supply rigidities and demand heterogeneity. \citet{reyblanco2024submarkets} use machine learning to identify spatial market segments endogenously in Madrid, finding that data-driven boundaries outperform administrative ones. | |
| 53 | − | |
| 54 | −Cross-segment analysis---comparing hedonic estimates across property types such as single-family homes, condominiums, and multiplexes---has received less attention. Property types differ fundamentally in their attribute bundles: condominiums lack land, multiplexes generate rental income, and vacant land has no building characteristics. These structural differences imply that amenity capitalization should vary across segments, yet most hedonic studies analyze a single property type \citep{sirmans2005composition}. \citet{palm1978spatial} is among the earliest to argue that hedonic models should be estimated separately by housing submarket, while \citet{watkins2001definition} proposes formal tests for market segmentation based on Chow statistics. \citet{pryce2013property} emphasizes that cross-segment analysis is essential for understanding how different buyer populations value neighborhood amenities. | |
| 55 | − | |
| 56 | −\subsection{Amenity Capitalization} | |
| 57 | − | |
| 58 | −The capitalization of neighborhood amenities into property values has been extensively studied. Parks generate premiums of 3--10\% for proximate properties \citep{crompton2001parks, anderson2001park, troy2008property}, though effects diminish with distance and may vary with park type and quality. School quality premiums are well-documented \citep{black1999housing, gibbons2012valuing}, though proximity to schools can generate disamenity effects from noise and traffic congestion. Transit accessibility premiums vary widely depending on transit mode and neighborhood context \citep{debrezion2007transit, mohammad2013meta}, with heavy rail stations typically commanding larger premiums than bus stops. Highway proximity produces competing effects: accessibility benefits versus noise, pollution, and visual disamenity \citep{highway2010effects, nelson2004meta}. Hospital proximity effects are less studied but potentially complex, combining accessibility benefits with institutional disamenity effects \citep{hospital2023heterogeneity}. | |
| 59 | − | |
| 60 | −For the Quebec context, \citet{dube2025park} find additional price premiums for houses exposed to urban parks in Qu\'ebec City, beyond simple proximity effects. \citet{dube2023yimby} document asymmetric impacts of social housing on nearby property values, with NIMBY effects dominating in upper-income neighborhoods. \citet{dube2011spatial} estimate a spatial hedonic model showing that proximity to Montreal's commuter rail network generates a 4--6\% price premium. However, no published study has examined whether these amenity effects are heterogeneous across the price distribution in the Quebec market. | |
| 61 | − | |
| 62 | −The literature on golf course proximity effects on property values is relatively thin compared to parks and transit. \citet{do1994impact} find that golf course proximity generates a 7.6\% premium, while \citet{grudnitski2002golf} estimate premiums of 4--8\% depending on lot position relative to fairways. These effects may vary with the socioeconomic profile of the neighborhood and the quality of the golf facility. | |
| 63 | − | |
| 64 | −\subsection{Bootstrap Inference in Spatial Models} | |
| 65 | − | |
| 66 | −Standard asymptotic inference for quantile regression can be unreliable when the data exhibit spatial dependence, heteroskedasticity, or clustering \citep{buchinsky1995estimating, hahn1995bootstrapping}. The bootstrap provides a flexible alternative that avoids the need to estimate the density of the error term at zero---a requirement of the asymptotic sandwich variance estimator for quantile regression \citep{koenker2005quantile}. | |
| 67 | − | |
| 68 | −In spatial contexts, the standard nonparametric (paired) bootstrap resamples observations with replacement, which breaks the spatial structure of the data. \citet{lahiri2003resampling} discusses block bootstrap methods that preserve local spatial dependence by resampling contiguous blocks of observations. \citet{jin2001simple} proposes a residual-based spatial bootstrap, while \citet{freedman1981bootstrapping} establishes the theoretical foundations for bootstrapping regression models. For instrumental variable quantile regression, \citet{chernozhukov2006quantile} develop formal inference methods, but these are computationally prohibitive for large datasets with spatial structure. | |
| 69 | − | |
| 70 | −We employ the nonparametric paired bootstrap with $B = 200$ replications, acknowledging that this approach may not fully account for spatial dependence in the resampling scheme. Our bootstrap standard errors should therefore be interpreted as potentially optimistic; we discuss sensitivity to the number of replications and the implications of ignoring spatial structure in the bootstrap in Section~\ref{sec:robustness}. | |
| 71 | − | |
| 72 | −\subsection{Gaps in the Literature} | |
| 73 | − | |
| 74 | −Four gaps motivate this study: | |
| 75 | −\begin{enumerate}[nosep] | |
| 76 | −\item \textbf{No spatial quantile hedonic analysis for Quebec.} Despite extensive hedonic work by the Universit\'e Laval group \citep{dube2023yimby, dube2025park, dube2011spatial} and emerging studies in other Canadian markets \citep{des2014quantile, wen2017quantile}, distributional heterogeneity in amenity capitalization has not been investigated using spatial quantile methods in Quebec. | |
| 77 | −\item \textbf{No multi-segment comparison.} Cross-property-type analysis of amenity effects is rare in any market \citep{sirmans2005composition}, and absent for Quebec. Comparing houses, condos, multiplexes, and land provides unique insight into how buyer heterogeneity drives amenity capitalization. | |
| 78 | −\item \textbf{Under-exploitation of Centris data.} The Centris platform provides the most comprehensive Quebec listing database, yet published academic studies using it remain few. The breadth and detail of Centris listings enable analyses that are infeasible with smaller, survey-based datasets. | |
| 79 | −\item \textbf{Insufficient robustness analysis.} Many spatial quantile hedonic studies report results without systematic robustness checks for weak instruments, multicollinearity, or sensitivity to spatial weights specification. Our comprehensive diagnostic framework addresses this gap. | |
| 80 | −\end{enumerate} | |
| 34 | +Parks and open space generally command premiums that decline with distance and depend on the type of open space \citep{crompton2001parks, anderson2006open, troy2008property}; \citet{dube2025park} find, for Qu\'ebec City, a premium for houses with a direct view of a park beyond the proximity effect. School quality is capitalised \citep{black1999housing, gibbons2008valuing}, but physical proximity to a school building is a different attribute from school quality and can carry a discount through traffic and noise. Rail transit premiums are positive on average but heterogeneous \citep{debrezion2007transit, mohammad2013meta}; for Montreal, \citet{dube2011spatial} and \citet{dube2013commuter} find positive commuter-rail effects that depend on distance and on the period, and \citet{dube2014did} propose a spatial difference-in-differences estimator for such changes. Highways and traffic generate competing accessibility and noise effects \citep{theebe2004planes, nelson2004meta}; hospital accessibility has been found to capitalise heterogeneously across price quantiles \citep{gu2023hospital}; golf courses carry premiums for adjacent lots \citep{do1995golf}. \citet{glaeser2008poor} document that lower-income households are more dependent on public transit, which suggests a larger transit premium at the lower end of the price distribution, and the sorting of heterogeneous households over neighbourhoods that underlies any such pattern goes back to \citet{tiebout1956pure} and is formalised by \citet{bayer2007migration}. Social-housing externalities in Qu\'ebec City are studied by \citet{dube2023yimby}. None of these Quebec studies examines the distribution of the capitalisation effect across price quantiles, which is the gap addressed here. | |
modified
paper/sections/methodology.tex
+65 −114
@@ -3,152 +3,103 @@ | ||
| 3 | 3 | \label{sec:methodology} |
| 4 | 4 | % ============================================================================ |
| 5 | 5 | |
| 6 | −\subsection{Hedonic Specification} | |
| 6 | +\subsection{Hedonic specification} | |
| 7 | 7 | |
| 8 | −We adopt the log-linear hedonic model as our baseline: | |
| 8 | +For each segment the baseline is the semi-log hedonic equation | |
| 9 | 9 | \begin{equation} \label{eq:hedonic} |
| 10 | −\ln P_i = \alpha + \boldsymbol{\beta}' \mathbf{X}_i + \boldsymbol{\gamma}' \mathbf{A}_i + \boldsymbol{\delta}' \mathbf{R}_i + \varepsilon_i | |
| 10 | +\ln P_i = \alpha + \mathbf{X}_i'\boldsymbol\beta + \mathbf{A}_i'\boldsymbol\gamma + \mathbf{R}_i'\boldsymbol\delta + \varepsilon_i, \qquad i = 1, \ldots, N, | |
| 11 | 11 | \end{equation} |
| 12 | −where $P_i$ is the listing price of property $i$, $\mathbf{X}_i$ is a vector of structural characteristics (bedrooms, bathrooms, stories, log floor area, parking spaces, garage, log land area, log distance to Montreal), $\mathbf{A}_i$ is a vector of amenity dummies (highway, hospital, park, school, transit, golf course proximity), and $\mathbf{R}_i$ is a vector of regional dummies (Montreal, Quebec City, Regions; Gatineau as reference). Continuous variables are centered at their sample means to reduce multicollinearity and facilitate interpretation of the intercept \citep{aiken1991multiple}. | |
| 13 | − | |
| 14 | −The log-linear form is chosen on both theoretical and empirical grounds. Theoretically, the multiplicative structure implied by the log transformation reflects the intuition that the value of a housing attribute depends on the overall quality level of the property \citep{halvorsen1981choice}. Empirically, the log transformation reduces right-skewness in the price distribution and yields residuals closer to normality \citep{malpezzi2003hedonic}. We center continuous regressors at their sample means, following \citet{marquardt1980comment}, to reduce the condition number of the design matrix and mitigate numerical multicollinearity without affecting slope coefficient estimates. | |
| 15 | − | |
| 16 | −Table~\ref{tab:specification} summarizes the variables included in each segment's specification. | |
| 12 | +where $P_i$ is the asking price of listing $i$, $\mathbf{X}_i$ collects the structural and locational variables of the segment (Table~\ref{tab:specification}), $\mathbf{A}_i$ the amenity indicators and $\mathbf{R}_i$ the three regional indicators. Continuous regressors are centred at their segment means, which leaves the slopes unchanged and makes the intercept the conditional log price of a mean-characteristic property in the reference region \citep{marquardt1980comment}. Equation~\eqref{eq:hedonic} is estimated by OLS with HC3 standard errors \citep{mackinnon1985some, long2000using, cribari2004asymptotic} and serves as the conditional-mean benchmark. For a binary attribute with coefficient $\gamma_k$, the proportional price differential is $\exp(\gamma_k) - 1$ \citep{halvorsen1980interpretation}; for small coefficients the two are close and we quote coefficients in log points. | |
| 17 | 13 | |
| 18 | 14 | \input{tables/specification} |
| 19 | 15 | |
| 20 | −The OLS baseline is estimated with HC3 heteroskedasticity-robust standard errors \citep{long2000using, mackinnon1985some}. The HC3 estimator, which uses leverage-adjusted squared residuals $e_i^2 / (1 - h_{ii})^2$, provides superior finite-sample performance relative to the HC0 and HC1 alternatives, particularly when the design matrix contains high-leverage points \citep{cribari2004asymptotic}. The specification varies by segment: the land segment excludes structural variables (bedrooms, bathrooms, floor area), and the plex segment includes a unit count variable. | |
| 16 | +\subsection{Quantile regression} | |
| 21 | 17 | |
| 22 | −\subsection{Quantile Regression} | |
| 23 | − | |
| 24 | −The $\tau$-th conditional quantile of $\ln P_i$ given $\mathbf{X}_i$ is estimated by minimizing the check function: | |
| 25 | −\begin{equation} | |
| 26 | −\hat{\boldsymbol{\beta}}(\tau) = \arg\min_{\boldsymbol{\beta}} \sum_{i=1}^{n} \rho_\tau \left( \ln P_i - \mathbf{X}_i' \boldsymbol{\beta} \right) | |
| 18 | +The $\tau$-th conditional quantile of the log asking price is modelled as linear in the same regressors, | |
| 19 | +\begin{equation} \label{eq:qr} | |
| 20 | +Q_\tau(\ln P_i \mid \mathbf{X}_i, \mathbf{A}_i, \mathbf{R}_i) = \alpha(\tau) + \mathbf{X}_i'\boldsymbol\beta(\tau) + \mathbf{A}_i'\boldsymbol\gamma(\tau) + \mathbf{R}_i'\boldsymbol\delta(\tau), | |
| 27 | 21 | \end{equation} |
| 28 | −where $\rho_\tau(u) = u(\tau - \mathbf{1}(u < 0))$ is the asymmetric absolute loss function \citep{koenker1978regression}. We estimate models at $\tau \in \{0.10, 0.25, 0.50, 0.75, 0.90\}$, spanning the affordable-to-luxury spectrum. The choice of these five quantiles follows the convention in the hedonic literature \citep{zietz2008determinants, liao2012hedonic} and provides sufficient resolution to detect monotonic, U-shaped, or sign-switching patterns in coefficient trajectories. | |
| 29 | − | |
| 30 | −The minimization problem is a linear program and can be solved using the simplex method or interior point methods \citep{koenker2005quantile}. We use the Barrodale-Roberts algorithm as implemented in \texttt{statsmodels}, with a maximum iteration count of 5,000 to ensure convergence even for large design matrices. Convergence is monitored and reported for all specifications. | |
| 31 | − | |
| 32 | −Model fit is assessed via the pseudo-$R^2$ \citep{koenker1999goodness}: | |
| 33 | −\begin{equation} | |
| 34 | −\text{Pseudo-}R^2(\tau) = 1 - \frac{\sum_i \rho_\tau(\hat{u}_i)}{\sum_i \rho_\tau(\ln P_i - \hat{Q}_\tau)} | |
| 22 | +and the coefficient vector $\boldsymbol\theta(\tau) = (\alpha(\tau), \boldsymbol\beta(\tau)', \boldsymbol\gamma(\tau)', \boldsymbol\delta(\tau)')'$ is estimated by minimising the check-function objective of \citet{koenker1978regression}, | |
| 23 | +\begin{equation} \label{eq:check} | |
| 24 | +\hat{\boldsymbol\theta}(\tau) = \arg\min_{\boldsymbol\theta} \sum_{i=1}^{N} \rho_\tau\!\left(\ln P_i - \mathbf{Z}_i'\boldsymbol\theta\right), \qquad \rho_\tau(u) = u\,[\tau - \mathbf{1}(u < 0)], | |
| 35 | 25 | \end{equation} |
| 36 | −where $\hat{Q}_\tau$ is the unconditional sample quantile. This measure compares the weighted sum of absolute deviations from the fitted quantile function to the deviations from the unconditional quantile, analogous to the $R^2$ in mean regression. Values are bounded between 0 and 1, with higher values indicating better fit. Unlike the OLS $R^2$, the pseudo-$R^2$ is not directly comparable across quantiles, as the check function weighting changes with $\tau$ \citep{koenker1999goodness}. | |
| 37 | − | |
| 38 | −\subsection{Spatial Weights Matrix} | |
| 39 | − | |
| 40 | −We construct a $K$-nearest neighbors ($K = 10$) spatial weights matrix with inverse-distance weighting: | |
| 41 | −\begin{equation} | |
| 42 | −w_{ij} = \begin{cases} | |
| 43 | −d_{ij}^{-1} / \sum_{k \in \mathcal{N}_i} d_{ik}^{-1} & \text{if } j \in \mathcal{N}_i \\ | |
| 44 | −0 & \text{otherwise} | |
| 45 | −\end{cases} | |
| 26 | +with $\mathbf{Z}_i = (1, \mathbf{X}_i', \mathbf{A}_i', \mathbf{R}_i')'$. We estimate $\tau \in \{0.10, 0.25, 0.50, 0.75, 0.90\}$, the grid used by \citet{zietz2008determinants} and \citet{liao2012hedonic}, which is fine enough to distinguish monotone, U-shaped and sign-changing coefficient profiles while keeping the tail estimates away from the extremes where the conditional density is thin. The linear program is solved by the interior-point routine of \texttt{statsmodels} with a ceiling of 5,000 iterations. Fit is summarised by the pseudo-$R^2$ of \citet{koenker1999goodness}, | |
| 27 | +\begin{equation} \label{eq:pseudor2} | |
| 28 | +R^1(\tau) = 1 - \frac{\sum_i \rho_\tau\!\left(\ln P_i - \mathbf{Z}_i'\hat{\boldsymbol\theta}(\tau)\right)}{\sum_i \rho_\tau\!\left(\ln P_i - \hat{Q}_\tau\right)}, | |
| 46 | 29 | \end{equation} |
| 47 | −where $\mathcal{N}_i$ denotes the set of $K$ nearest neighbors of property $i$ based on geographic coordinates, and $d_{ij}$ is the Euclidean distance computed from latitude-longitude pairs. Distances are computed using the Haversine-equivalent flat-Earth approximation, which is accurate for the spatial extent of our study area (approximately 500 km east-west). The KNN approach avoids the island problem that can arise with distance-band weights in markets with irregular spatial density \citep{pace2004spatial, getis2004spatial}. | |
| 30 | +where $\hat{Q}_\tau$ is the unconditional sample quantile. $R^1(\tau)$ compares the weighted absolute deviations of the fitted model to those of the constant-only model at the same $\tau$; it is a local measure and is not comparable to the OLS $R^2$. | |
| 48 | 31 | |
| 49 | −The choice of $K = 10$ balances local spatial structure (too few neighbors yield noisy estimates) against global smoothing (too many neighbors dilute local effects). We report sensitivity analyses for $K \in \{5, 15, 20\}$ in Section~\ref{sec:robustness}. The row-normalization of $\mathbf{W}$ ensures that the spatial lag $\mathbf{W}\ln\mathbf{P}$ is a weighted average of neighboring log-prices, facilitating the interpretation of $\rho$ as the elasticity of own price with respect to average neighboring prices. | |
| 32 | +It is worth stating what the quantile index means here. $\tau$ indexes the conditional distribution of the log asking price given the covariates, not the unconditional price distribution: a listing at $\tau = 0.10$ is one whose price is low \emph{relative to what its characteristics and location predict}, not necessarily a cheap listing. The conditional and unconditional rankings are correlated, so it is convenient to speak of the ``lower'' and ``upper'' segments of the market, but the coefficients describe how the price schedule is shaped at different conditional ranks. | |
| 50 | 33 | |
| 51 | −The spatial weights matrix is constructed using a KD-tree algorithm for computational efficiency \citep{bentley1975multidimensional}, which provides $O(n \log n)$ nearest-neighbor queries. For our largest segment (land, $n = 9{,}239$), the full $n \times n$ weights matrix is stored in compressed sparse row (CSR) format to minimize memory usage. | |
| 34 | +\subsection{Spatial weights} | |
| 52 | 35 | |
| 53 | −\subsection{Two-Stage Spatial Quantile Regression (2SQR)} | |
| 36 | +Spatial relations are represented by a $k$-nearest-neighbour matrix with $k = 10$ and inverse-distance weights, built within each segment from the listing coordinates with a k-d tree \citep{bentley1975multidimensional}: | |
| 37 | +\begin{equation} \label{eq:W} | |
| 38 | +w_{ij} = \frac{d_{ij}^{-1}}{\sum_{l \in \mathcal{N}_i} d_{il}^{-1}} \ \text{ if } j \in \mathcal{N}_i, \qquad w_{ij} = 0 \ \text{ otherwise}, | |
| 39 | +\end{equation} | |
| 40 | +where $\mathcal{N}_i$ is the set of the ten listings nearest to $i$ and $d_{ij}$ their distance. The matrix is row-standardised by construction, so $[\mathbf{W}\ln\mathbf{P}]_i$ is a weighted average of the ten neighbouring log prices and the lag coefficient is read as the elasticity of a listing's price to the average price of its neighbours. Nearest-neighbour weights avoid the islands produced by distance bands in a province where listing density varies by several orders of magnitude \citep{getis2009spatial}; their cost is that the ten neighbours of a rural parcel may lie tens of kilometres away while those of a Montreal condominium lie in the same building. Two implementation details should be recorded. The neighbour search and the distances $d_{ij}$ are computed in unprojected latitude--longitude degrees; at the latitude of Quebec one degree of longitude is about 70 percent of a degree of latitude, so the neighbourhoods are slightly elongated in the north--south direction. And listings with identical coordinates (several units in the same building) receive a distance floored at $10^{-10}$, so that such a neighbour receives almost the entire weight of row $i$. Neither feature affects the row-standardisation, but both are candidates for the sensitivity analysis described in Section~\ref{sec:robustness}. | |
| 54 | 41 | |
| 55 | −Following \citet{kim2004quantile}, we augment the quantile regression with an instrumented spatial lag: | |
| 42 | +\subsection{Two-stage spatial quantile regression} | |
| 43 | +\label{sec:2sqr} | |
| 56 | 44 | |
| 57 | −\textbf{First stage (OLS):} | |
| 58 | −\begin{equation} | |
| 59 | −\mathbf{W}\ln\mathbf{P} = \mathbf{Z}\boldsymbol{\pi} + \mathbf{v}, \quad \mathbf{Z} = [\mathbf{1}, \mathbf{X}, \mathbf{WX}] | |
| 45 | +The spatial quantile model adds a spatial lag of the dependent variable to equation~\eqref{eq:qr}: | |
| 46 | +\begin{equation} \label{eq:sqr} | |
| 47 | +Q_\tau(\ln P_i \mid \mathbf{Z}_i, [\mathbf{W}\ln\mathbf{P}]_i) = \mathbf{Z}_i'\boldsymbol\theta(\tau) + \rho(\tau)\,[\mathbf{W}\ln\mathbf{P}]_i . | |
| 60 | 48 | \end{equation} |
| 61 | − | |
| 62 | −\textbf{Second stage (quantile regression):} | |
| 49 | +The lag is endogenous because the neighbours' prices depend on the price of $i$ through the same mechanism. Following the spatial two-stage least squares logic of \citet{kelejian1998generalized}, the lag is instrumented by the spatially lagged covariates, and following the fitted-value two-stage quantile regression of \citet{amemiya1982two} and \citet{powell1983asymptotic}, generalised by \citet{chen1996twostage} and \citet{kim2004quantile}, the endogenous regressor is replaced in the quantile objective by its first-stage projection. The first stage is the least-squares regression | |
| 50 | +\begin{equation} \label{eq:firststage} | |
| 51 | +\mathbf{W}\ln\mathbf{P} = \boldsymbol{\Pi}_0 + \mathbf{Z}\boldsymbol{\Pi}_1 + \mathbf{WZ}\boldsymbol{\Pi}_2 + \mathbf{v}, \qquad \widehat{\mathbf{W}\ln\mathbf{P}} = \hat{\boldsymbol\Pi}_0 + \mathbf{Z}\hat{\boldsymbol\Pi}_1 + \mathbf{WZ}\hat{\boldsymbol\Pi}_2, | |
| 52 | +\end{equation} | |
| 53 | +where $\mathbf{Z}$ excludes the constant and $\mathbf{WZ}$ contains the spatial lags of all covariates, including the amenity and regional indicators. The second stage is the quantile regression | |
| 63 | 54 | \begin{equation} \label{eq:2sqr} |
| 64 | −Q_\tau(\ln P_i | \mathbf{X}_i, \widehat{\mathbf{W}\ln P}_i) = \alpha(\tau) + \boldsymbol{\beta}'(\tau) \mathbf{X}_i + \rho(\tau) \widehat{\mathbf{W}\ln P}_i | |
| 55 | +\hat{\boldsymbol\theta}(\tau), \hat\rho(\tau) = \arg\min \sum_{i=1}^{N} \rho_\tau\!\left(\ln P_i - \mathbf{Z}_i'\boldsymbol\theta - \rho\,\widehat{[\mathbf{W}\ln\mathbf{P}]}_i\right). | |
| 65 | 56 | \end{equation} |
| 57 | +We call the resulting estimator 2SQR. Three properties should be kept in mind. First, because the first stage is least squares rather than a quantile regression at $\tau$, the estimator is the two-stage least absolute deviations estimator of \citet{amemiya1982two} generalised to an arbitrary $\tau$, not the estimator recommended by \citet{kim2004quantile}; it is consistent for the slopes of equation~\eqref{eq:sqr} when the composite error $u_i(\tau) + \rho(\tau)v_i$ has a conditional $\tau$-quantile that does not depend on the instruments, which holds under independence of the errors from the covariates and their spatial lags but not under general heteroskedasticity. Second, it is not the inverse quantile regression of \citet{chernozhukov2006quantile} and \citet{su2011instrumental}, which would be the natural estimator if the spatial lag were to be treated as a structural endogenous regressor under weaker conditions; we did not implement it. Third, the second-stage residuals are computed with the \emph{fitted} lag. Since $\widehat{\mathbf{W}\ln\mathbf{P}}$ is a linear combination of $\mathbf{Z}$ and $\mathbf{WZ}$, the second stage is, from the point of view of residual diagnostics, a quantile regression on $\mathbf{Z}$ and one linear combination of $\mathbf{WZ}$; its residuals should not be expected to be less spatially autocorrelated than those of equation~\eqref{eq:qr}, and they are not (Section~\ref{sec:moran_sqr}). The structural residuals $\ln P_i - \mathbf{Z}_i'\hat{\boldsymbol\theta}(\tau) - \hat\rho(\tau)[\mathbf{W}\ln\mathbf{P}]_i$, which use the observed lag, are the appropriate object for that diagnostic and were not computed in the original run. | |
| 66 | 58 | |
| 67 | −The spatially lagged exogenous variables $\mathbf{WX}$ serve as instruments for the endogenous spatial lag $\mathbf{W}\ln\mathbf{P}$. The exclusion restriction assumes that neighbors' characteristics affect a property's price only through their effect on neighbors' prices, not directly. This assumption is standard in the spatial econometrics literature but may be violated if neighborhood composition effects operate independently of prices \citep{gibbons2015spatial}. The coefficient $\rho(\tau)$ captures the strength of spatial spillovers at quantile $\tau$, and its variation across quantiles reveals whether spatial dependence is itself heterogeneous across the price distribution. | |
| 68 | − | |
| 69 | −\subsubsection{Instrument Validity and Weak Instrument Diagnostics} | |
| 70 | − | |
| 71 | −The validity of the 2SQR estimator depends on the relevance and exogeneity of the instruments $\mathbf{WX}$. Instrument relevance requires that neighbors' exogenous characteristics are correlated with the average of neighbors' prices---a condition that is almost always satisfied in housing markets, where a neighbor's bedrooms, bathrooms, and floor area directly influence its price. We assess instrument strength using the first-stage $F$-statistic, applying the \citet{stock2002survey} rule of thumb that $F > 10$ indicates adequate instrument strength. We report the first-stage $R^2$ and $F$-statistic for each segment. | |
| 72 | − | |
| 73 | −Instrument exogeneity is more difficult to test, as the 2SQR model is exactly identified (the number of excluded instruments equals the number of endogenous regressors in a sense). Following the spatial econometrics convention \citep{kelejian1998generalized}, we assume that the spatial structure fully captures the channel through which neighbors' characteristics affect own prices. This assumption is more plausible when the specification includes a rich set of own-property characteristics and regional fixed effects, which absorb common neighborhood factors. | |
| 74 | − | |
| 75 | −\subsubsection{Effect Decomposition} | |
| 76 | − | |
| 77 | −In a fully specified SAR model, the marginal effects of covariates are derived from the spatial multiplier matrix $(\mathbf{I} - \rho \mathbf{W})^{-1}$. Following \citet{lesage2009introduction}, the formal decomposition is: | |
| 78 | −\begin{align} | |
| 79 | −\frac{\partial \mathbf{y}}{\partial x_{jk}} &= (\mathbf{I} - \rho \mathbf{W})^{-1} \mathbf{I}_n \beta_k | |
| 80 | −\end{align} | |
| 81 | −where the average \textit{direct} effect is $n^{-1} \text{tr}[(\mathbf{I} - \rho \mathbf{W})^{-1}] \beta_k$, and the average \textit{indirect} effect is the average row sum of the off-diagonal elements. Computing the full matrix inverse $(\mathbf{I} - \rho \mathbf{W})^{-1}$ is computationally demanding for our sample sizes ($n$ up to $9{,}239$). | |
| 59 | +The exclusion restriction is that neighbours' characteristics affect a listing's price only through neighbours' prices. As \citet{gibbons2012mostly} emphasise, this is an assumption of convenience: the lot sizes or amenity classifications of neighbouring listings may describe the neighbourhood directly. We therefore regard $\hat\rho(\tau)$ as a descriptive measure of how strongly a listing's conditional quantile co-moves with the neighbouring price level, and the 2SQR amenity coefficients as the part of the amenity differential that is not accounted for by that co-movement. Instrument relevance is assessed with the first-stage $R^2$; the partial $F$-statistic on the excluded instruments $\mathbf{WZ}$ \citep{stock2005testing} was not recorded by the original run and the overall first-stage $F$ reported in Table~\ref{tab:sqr} is only an upper bound for it. | |
| 82 | 60 | |
| 83 | −We therefore report \textit{approximate scalar} impacts, which assume a homogeneous spatial structure: | |
| 84 | −\begin{align} | |
| 85 | −\widetilde{\text{Total}}_k(\tau) &\approx \frac{\beta_k(\tau)}{1 - \rho(\tau)} \\ | |
| 86 | −\widetilde{\text{Indirect}}_k(\tau) &\approx \frac{\rho(\tau) \cdot \beta_k(\tau)}{1 - \rho(\tau)} | |
| 87 | −\end{align} | |
| 61 | +\subsection{Effect decomposition under the spatial lag} | |
| 88 | 62 | |
| 89 | −These scalar approximations are exact when $\mathbf{W}$ is row-normalized and all eigenvalues of $\mathbf{W}$ are equal---a condition that holds approximately for $K$-nearest-neighbor weights with large $n$ \citep{lesage2009introduction}. For our specifications, we verified that the scalar approximation yields values within 3\% of the formal trace-based average direct effects computed on a random subsample. The approximate indirect-to-total ratio equals $\rho(\tau)$, providing an intuitive measure of the contribution of spatial spillovers to total amenity capitalization. Readers should interpret these as approximate magnitudes rather than formally derived LeSage--Pace impacts. | |
| 90 | − | |
| 91 | −\subsection{Identification and Interpretation} | |
| 92 | −\label{sec:identification} | |
| 93 | − | |
| 94 | −Several identification and interpretation issues warrant explicit discussion, as they inform the scope of claims that can be supported by our estimates. | |
| 95 | − | |
| 96 | −\textbf{Nature of the estimates.} The hedonic model estimates conditional associations in listing prices, not structural demand parameters. In a single cross-section, the hedonic price function reflects a market equilibrium that jointly determines prices and the spatial allocation of households \citep{ekeland2004identification, bajari2005estimating}. The quantile coefficients $\hat{\boldsymbol{\beta}}(\tau)$ are best interpreted as \textit{quantile-specific capitalization gradients}: conditional differences in listing prices associated with amenity proximity at different points of the price distribution. | |
| 97 | − | |
| 98 | −\textbf{Amenity endogeneity.} Amenity indicators may be endogenous because households sort into locations based on unobserved preferences that correlate with both amenity access and willingness to pay \citep{bayer2007migration}. For example, households with strong preferences for green space may sort into park-proximate neighborhoods, creating a positive correlation between park proximity and unobserved demand characteristics. Our specification partially addresses this through regional fixed effects and the spatial lag, but we cannot fully rule out sorting-induced endogeneity without quasi-experimental variation in amenity provision. | |
| 99 | − | |
| 100 | −\textbf{2SQR identification.} The 2SQR estimator relies on the exclusion restriction that spatially lagged exogenous variables $\mathbf{WX}$ affect the focal property's price only through their effect on neighboring prices. This assumption is standard in the spatial econometrics literature \citep{kelejian1998generalized} but may be violated if neighbors' structural characteristics directly affect the focal property's value---for instance, if a neighbor's large lot generates a visual amenity independent of its price effect. Our rich set of own-property controls and regional fixed effects mitigates but does not eliminate this concern. | |
| 101 | − | |
| 102 | −\textbf{Willingness-to-pay interpretation.} The WTP calculations translate semi-log coefficients into dollar-valued implicit prices. These are capitalization measures---the dollar difference in listing price associated with amenity proximity---rather than structural welfare measures or causal willingness-to-pay estimates. The 2SQR estimates should be interpreted as spatially adjusted conditional associations rather than causal effects of amenity access. | |
| 103 | − | |
| 104 | −\textbf{Listing prices.} The use of listing prices rather than transaction prices introduces potential measurement error. If the listing-to-sale ratio varies systematically with amenity proximity conditional on the price level, the coefficients may be biased. We discuss this limitation further in Sections~\ref{sec:robustness} and~\ref{sec:discussion}. | |
| 63 | +In a spatial autoregressive model the response of the vector of log prices to a change in regressor $k$ is $(\mathbf{I} - \rho\mathbf{W})^{-1}\beta_k$, whose diagonal gives direct effects, off-diagonal elements indirect effects and row sums total effects \citep{lesage2009introduction}. Computing these matrices for samples of up to 9,239 listings, and bootstrapping them, was not attempted. We report instead the scalar approximation that treats $\mathbf{W}$ as if every row sum of $(\mathbf{I} - \rho\mathbf{W})^{-1}$ were $1/(1-\rho)$: | |
| 64 | +\begin{equation} \label{eq:effects} | |
| 65 | +\text{Direct}_k(\tau) \approx \beta_k(\tau), \qquad \text{Indirect}_k(\tau) \approx \frac{\rho(\tau)\,\beta_k(\tau)}{1 - \rho(\tau)}, \qquad \text{Total}_k(\tau) \approx \frac{\beta_k(\tau)}{1 - \rho(\tau)}. | |
| 66 | +\end{equation} | |
| 67 | +The approximation is exact for the total effect when $\mathbf{W}$ is row-standardised and understates the direct effect slightly, because the diagonal of $(\mathbf{I} - \rho\mathbf{W})^{-1}$ exceeds one by the feedback term \citep{lesage2014biggest}. The indirect share of the total is $\rho(\tau)$ by construction, so the decomposition adds no information beyond $\hat\rho(\tau)$ and $\hat\beta_k(\tau)$; it is reported because dollar-equivalent magnitudes at the median are easier to read than log points, and it is evaluated at $\tau = 0.50$ only, the single quantile for which the original run recorded the second-stage coefficients. | |
| 105 | 68 | |
| 106 | −\subsection{Bootstrap Inference} | |
| 69 | +\subsection{Inference} | |
| 107 | 70 | \label{sec:bootstrap} |
| 108 | 71 | |
| 109 | −Standard asymptotic inference for quantile regression can be unreliable in the presence of spatial dependence and heteroskedasticity \citep{buchinsky1995estimating}. The asymptotic variance of the quantile regression estimator involves the conditional density of the error term at zero, $f_\varepsilon(0 | \mathbf{x})$, which is difficult to estimate nonparametrically, especially at tail quantiles where data are sparse \citep{koenker2005quantile}. | |
| 110 | − | |
| 111 | −We employ the nonparametric paired bootstrap with $B = 200$ replications to compute standard errors for all quantile regression coefficients. Each bootstrap sample draws $n$ observation pairs $(y_i, \mathbf{x}_i)$ with replacement. For each bootstrap replication $b = 1, \ldots, B$: | |
| 112 | −\begin{enumerate}[nosep] | |
| 113 | −\item Draw a bootstrap sample of size $n$ with replacement. | |
| 114 | −\item Estimate the quantile regression at each $\tau$ on the bootstrap sample. | |
| 115 | −\item Record the coefficient vector $\hat{\boldsymbol{\beta}}^{(b)}(\tau)$. | |
| 116 | −\end{enumerate} | |
| 117 | −The bootstrap standard error of $\hat{\beta}_k(\tau)$ is the sample standard deviation across bootstrap replications: | |
| 118 | −\begin{equation} | |
| 119 | −\widehat{\text{SE}}_{\text{boot}}[\hat{\beta}_k(\tau)] = \left[ \frac{1}{B-1} \sum_{b=1}^{B} \left( \hat{\beta}_k^{(b)}(\tau) - \bar{\hat{\beta}}_k(\tau) \right)^2 \right]^{1/2} | |
| 72 | +The asymptotic covariance of a quantile regression estimator depends on the conditional density of the error at zero, which is awkward to estimate in the tails \citep{koenker2005quantile}. Standard errors for the coefficients of equation~\eqref{eq:qr} are therefore obtained by the paired (non-parametric) bootstrap \citep{freedman1981bootstrapping, efron1993introduction, buchinsky1995estimating, hahn1995bootstrapping}: $B = 200$ samples of $N$ listings are drawn with replacement, the quantile regression is re-estimated on each, and the standard error of $\hat\theta_k(\tau)$ is | |
| 73 | +\begin{equation} \label{eq:bootse} | |
| 74 | +\widehat{\mathrm{SE}}_{\mathrm{boot}}[\hat\theta_k(\tau)] = \left[\frac{1}{B}\sum_{b=1}^{B}\left(\hat\theta_k^{(b)}(\tau) - \bar{\theta}_k(\tau)\right)^2\right]^{1/2}, | |
| 120 | 75 | \end{equation} |
| 76 | +with $\bar\theta_k(\tau)$ the bootstrap mean. A replication that fails to converge is discarded and the standard error is computed from the successful replications, provided at least 100 succeed; all twenty segment--quantile combinations met this condition. Significance is assessed by the normal approximation $\hat\theta_k/\widehat{\mathrm{SE}}_{\mathrm{boot}}$. Two caveats apply. The paired bootstrap resamples listings as if they were independent, which they are not; with Moran's $I$ above 0.5 on the residuals, the bootstrap standard errors are likely to understate the sampling variability, and a block or cluster bootstrap \citep{lahiri2003resampling, cameron2008bootstrap, hagemann2017cluster} or a bootstrap that respects the spatial structure of Moran's test \citep{jin2015bootstrap} would be preferable. And the bootstrap was applied to the quantile regressions of equation~\eqref{eq:qr} only; the 2SQR second stage was not bootstrapped, so no standard errors are available for $\hat\rho(\tau)$ or for the 2SQR coefficients, and the generated-regressor problem of the fitted lag \citep{powell1983asymptotic} is not addressed. | |
| 121 | 77 | |
| 122 | −We require at least 50\% of bootstrap replications to converge successfully (i.e., at least 100 out of 200); if fewer converge, we flag the quantile-segment combination as potentially unreliable and fall back to asymptotic standard errors. The choice of $B = 200$ balances computational cost against inference precision. \citet{efron1994introduction} show that $B = 200$ is generally sufficient for standard error estimation (as opposed to confidence interval construction, which may require $B \geq 1{,}000$). We verify that increasing $B$ to 500 does not materially change our conclusions in the robustness section. | |
| 78 | +\subsection{Tests of inter-quantile equality} | |
| 123 | 79 | |
| 124 | −\subsection{Inter-Quantile Heterogeneity Tests} | |
| 125 | − | |
| 126 | −To formally test whether implicit prices differ across quantiles, we employ the Wald test: | |
| 127 | −\begin{equation} | |
| 128 | −W = \frac{[\hat{\beta}_k(\tau_1) - \hat{\beta}_k(\tau_2)]^2}{\widehat{\text{Var}}[\hat{\beta}_k(\tau_1)] + \widehat{\text{Var}}[\hat{\beta}_k(\tau_2)]} \sim \chi^2(1) | |
| 80 | +Whether the implicit price of amenity $k$ differs between two quantiles is tested with | |
| 81 | +\begin{equation} \label{eq:wald} | |
| 82 | +W_k(\tau_1, \tau_2) = \frac{\left[\hat\gamma_k(\tau_1) - \hat\gamma_k(\tau_2)\right]^2}{\widehat{\mathrm{Var}}_{\mathrm{boot}}[\hat\gamma_k(\tau_1)] + \widehat{\mathrm{Var}}_{\mathrm{boot}}[\hat\gamma_k(\tau_2)]} \;\overset{H_0}{\sim}\; \chi^2(1), | |
| 129 | 83 | \end{equation} |
| 130 | −under the null hypothesis $H_0: \beta_k(\tau_1) = \beta_k(\tau_2)$. The variance in the denominator uses bootstrap standard errors, which are asymptotically valid under regularity conditions \citep{koenker2005quantile}. We note that this test assumes independence between the quantile estimators at $\tau_1$ and $\tau_2$, which is only approximate; a more precise test would account for the covariance between estimators at different quantiles using the joint bootstrap distribution. We test all pairwise combinations $(\tau_1, \tau_2) \in \{(0.10, 0.90), (0.25, 0.75), (0.10, 0.50)\}$ for each amenity variable. | |
| 84 | +for the pairs $(0.10, 0.90)$, $(0.25, 0.75)$ and $(0.10, 0.50)$. The denominator omits the covariance between the two estimators, which is generally positive because both are estimated on the same sample \citep{koenker2002inference}; the statistic therefore tends to understate the evidence against $H_0$, and the rejections reported below are conservative in that respect, although not with respect to the spatial dependence ignored by the bootstrap. The test is in the spirit of the quantile-based heteroskedasticity test of \citet{koenker1982robust}, which asks whether slopes differ across quantiles. A joint test across all amenities would require the full bootstrap covariance matrix of the stacked coefficient vector at the two quantiles, which was not saved; we do not report an omnibus statistic and instead count the amenities for which $H_0$ is rejected. | |
| 85 | + | |
| 86 | +\subsection{Residual spatial autocorrelation} | |
| 131 | 87 | |
| 132 | −The omnibus test aggregates individual Wald statistics across all covariates: | |
| 133 | −\begin{equation} | |
| 134 | −W_{\text{omnibus}} = \sum_{k=1}^{K} \frac{[\hat{\beta}_k(0.10) - \hat{\beta}_k(0.90)]^2}{\widehat{\text{Var}}[\hat{\beta}_k(0.10)] + \widehat{\text{Var}}[\hat{\beta}_k(0.90)]} \sim \chi^2(K) | |
| 88 | +Spatial dependence in the residuals $e_i$ of each model is measured by Moran's $I$, | |
| 89 | +\begin{equation} \label{eq:moran} | |
| 90 | +I = \frac{N}{S_0}\,\frac{\mathbf{e}'\mathbf{W}\mathbf{e}}{\mathbf{e}'\mathbf{e}}, \qquad S_0 = \sum_i\sum_j w_{ij}, | |
| 135 | 91 | \end{equation} |
| 136 | −under the joint null that all coefficients are equal between $\tau = 0.10$ and $\tau = 0.90$. This is related to the \citet{koenker1982robust} test for heteroskedasticity, which tests for a specific form of quantile heterogeneity. | |
| 92 | +with $\mathbf{e}$ demeaned, and is standardised with the expectation $-1/(N-1)$ and the randomisation variance of \citet{cliff1981spatial}, which adjusts for the kurtosis of the residuals. The statistic is computed on OLS residuals, on the residuals of each quantile regression and on the second-stage residuals of each 2SQR, using the same $\mathbf{W}$. | |
| 137 | 93 | |
| 138 | −\subsection{Multicollinearity Diagnostics} | |
| 94 | +\subsection{Dollar-equivalent implicit prices} | |
| 139 | 95 | |
| 140 | −We assess multicollinearity using the variance inflation factor (VIF): | |
| 141 | −\begin{equation} | |
| 142 | −\text{VIF}_k = \frac{1}{1 - R_k^2} | |
| 96 | +To express the quantile coefficients in dollars, the log-point differential at quantile $\tau$ is applied to the unconditional sample quantile of the asking price $P(\tau) = \exp(\hat Q_\tau)$: | |
| 97 | +\begin{equation} \label{eq:implicit} | |
| 98 | +\pi_k(\tau) = P(\tau)\left[\exp\!\big(\hat\gamma_k(\tau)\big) - 1\right]. | |
| 143 | 99 | \end{equation} |
| 144 | −where $R_k^2$ is the $R^2$ from regressing $x_k$ on all other regressors. Following conventional thresholds \citep{obrien2007caution, kutner2004applied}, we consider VIF $> 10$ as indicating problematic multicollinearity and VIF $> 5$ as warranting attention. Centering continuous variables at their sample means eliminates ``non-essential'' multicollinearity (inflated VIFs due to the correlation between linear and polynomial or interaction terms) without affecting the slope estimates \citep{marquardt1980comment}. | |
| 100 | +This is a presentational device, not an additional estimate: it scales a conditional differential by a price level that is representative of the $\tau$-th part of the market, and it inherits all the qualifications of the coefficient. | |
| 145 | 101 | |
| 146 | −We also report the condition number of the design matrix $\mathbf{X}$, defined as the ratio of the largest to smallest singular value. \citet{belsley1980regression} suggest that condition numbers above 30 indicate potentially harmful multicollinearity. | |
| 147 | − | |
| 148 | −\subsection{Spatial Autocorrelation Diagnostics} | |
| 102 | +\subsection{Identification and interpretation} | |
| 103 | +\label{sec:identification} | |
| 149 | 104 | |
| 150 | −We assess residual spatial autocorrelation using Moran's $I$ statistic: | |
| 151 | −\begin{equation} | |
| 152 | −I = \frac{n}{S_0} \frac{\mathbf{z}'\mathbf{W}\mathbf{z}}{\mathbf{z}'\mathbf{z}} | |
| 153 | −\end{equation} | |
| 154 | −where $\mathbf{z}$ is the vector of demeaned residuals, $\mathbf{W}$ is the spatial weights matrix, and $S_0 = \sum_{i}\sum_{j} w_{ij}$. Under the null hypothesis of no spatial autocorrelation, the expected value is $E[I] = -1/(n-1)$ and the variance is computed using the analytical formula based on the moments of the weight matrix \citep{cliff1981spatial}. Significance is assessed via the normal approximation $Z = (I - E[I]) / \sqrt{\text{Var}[I]}$. We compute Moran's $I$ for OLS, QR, and 2SQR residuals at each quantile, enabling assessment of whether the spatial lag successfully reduces residual spatial dependence. | |
| 105 | +The estimates are conditional associations in a single cross-section of asking prices and support no causal claim about the effect of building a park or opening a transit station. Four issues delimit their interpretation. Households sort across locations on unobserved preferences that are correlated with amenity access \citep{bayer2007migration}, so an amenity indicator may proxy for the type of neighbourhood and of household that selects it; the regional indicators, the distance gradient and the spatial lag absorb part of this, not all of it. The amenity indicators are broker classifications; measurement error in a binary regressor attenuates its coefficient, and a broker's propensity to mention an amenity may itself vary with the price segment, which would produce quantile heterogeneity in the coefficient without any heterogeneity in capitalisation. Asking prices differ from transaction prices by a premium that depends on market conditions and seller strategy; the coefficients are unbiased for the transaction-price schedule only if that premium is, conditionally on the covariates, unrelated to the amenity indicators at each quantile. And the quantile coefficients are gradients of an equilibrium price schedule, not willingness-to-pay parameters of a household type \citep{kuminoff2014capitalization}; a declining profile of the transit coefficient across $\tau$ is consistent with stronger transit dependence among buyers of lower-priced homes \citep{glaeser2008poor}, but equally with differences in the supply of transit-adjacent housing or in broker reporting across segments. We use the expression \emph{quantile-specific capitalisation gradient} for the estimates and reserve mechanisms for Section~\ref{sec:discussion}, where they are presented as interpretations rather than findings. | |
deleted
paper/sections/references.tex
+0 −318
@@ -1,318 +0,0 @@ | ||
| 1 | −% ============================================================================ | |
| 2 | −% References | |
| 3 | −% ============================================================================ | |
| 4 | − | |
| 5 | −\bibliographystyle{apalike} | |
| 6 | − | |
| 7 | −\begin{thebibliography}{99} | |
| 8 | − | |
| 9 | −\bibitem[Aiken \& West, 1991]{aiken1991multiple} | |
| 10 | −Aiken, L.S., \& West, S.G. (1991). \textit{Multiple Regression: Testing and Interpreting Interactions}. Sage Publications. | |
| 11 | − | |
| 12 | −\bibitem[Allen et~al., 2014]{allen2014information} | |
| 13 | −Allen, J., Clark, R., \& Houde, J.F. (2014). The effect of mergers in search markets: Evidence from the Canadian mortgage industry. \textit{American Economic Review}, 104(10), 3365--3396. | |
| 14 | − | |
| 15 | −\bibitem[Anderson \& West, 2006]{anderson2001park} | |
| 16 | −Anderson, S.T., \& West, S.E. (2006). Open space, residential property values, and spatial context. \textit{Regional Science and Urban Economics}, 36(6), 773--789. | |
| 17 | − | |
| 18 | −\bibitem[Anselin, 1988]{anselin1988spatial} | |
| 19 | −Anselin, L. (1988). \textit{Spatial Econometrics: Methods and Models}. Kluwer Academic Publishers. | |
| 20 | − | |
| 21 | −\bibitem[Anselin, 2010]{anselin2010thirty} | |
| 22 | −Anselin, L. (2010). Thirty years of spatial econometrics. \textit{Papers in Regional Science}, 89(1), 3--25. | |
| 23 | − | |
| 24 | −\bibitem[Bajari \& Benkard, 2005]{bajari2005estimating} | |
| 25 | −Bajari, P., \& Benkard, C.L. (2005). Demand estimation with heterogeneous consumers and unobserved product characteristics: A hedonic approach. \textit{Journal of Political Economy}, 113(6), 1239--1276. | |
| 26 | − | |
| 27 | −\bibitem[Bayer et~al., 2007]{bayer2007migration} | |
| 28 | −Bayer, P., Ferreira, F., \& McMillan, R. (2007). A unified framework for measuring preferences for schools and neighborhoods. \textit{Journal of Political Economy}, 115(4), 588--638. | |
| 29 | − | |
| 30 | −\bibitem[Belsley et~al., 1980]{belsley1980regression} | |
| 31 | −Belsley, D.A., Kuh, E., \& Welsch, R.E. (1980). \textit{Regression Diagnostics: Identifying Influential Data and Sources of Collinearity}. John Wiley \& Sons. | |
| 32 | − | |
| 33 | −\bibitem[Bentley, 1975]{bentley1975multidimensional} | |
| 34 | −Bentley, J.L. (1975). Multidimensional binary search trees used for associative searching. \textit{Communications of the ACM}, 18(9), 509--517. | |
| 35 | − | |
| 36 | −\bibitem[Black, 1999]{black1999housing} | |
| 37 | −Black, S.E. (1999). Do better schools matter? Parental valuation of elementary education. \textit{Quarterly Journal of Economics}, 114(2), 577--599. | |
| 38 | − | |
| 39 | −\bibitem[Bourassa et~al., 2003]{bourassa2003submarkets} | |
| 40 | −Bourassa, S.C., Hoesli, M., \& Peng, V.S. (2003). Do housing submarkets really matter? \textit{Journal of Housing Economics}, 12(1), 12--28. | |
| 41 | − | |
| 42 | −\bibitem[Bourassa et~al., 2010]{bourassa2010spatial} | |
| 43 | −Bourassa, S.C., Cantoni, E., \& Hoesli, M. (2010). Predicting house prices with spatial dependence: A comparison of alternative methods. \textit{Journal of Real Estate Research}, 32(2), 139--159. | |
| 44 | − | |
| 45 | −\bibitem[Buchinsky, 1995]{buchinsky1995estimating} | |
| 46 | −Buchinsky, M. (1995). Estimating the asymptotic covariance matrix for quantile regression models: A Monte Carlo study. \textit{Journal of Econometrics}, 68(2), 303--338. | |
| 47 | − | |
| 48 | −\bibitem[Buchinsky, 1998]{buchinsky1998recent} | |
| 49 | −Buchinsky, M. (1998). Recent advances in quantile regression models: A practical guideline for empirical research. \textit{Journal of Human Resources}, 33(1), 88--126. | |
| 50 | − | |
| 51 | −\bibitem[Can, 1992]{can1992specification} | |
| 52 | −Can, A. (1992). Specification and estimation of hedonic housing price models. \textit{Regional Science and Urban Economics}, 22(3), 453--474. | |
| 53 | − | |
| 54 | −\bibitem[Cassel \& Mendelsohn, 1985]{cassel1985hedonic} | |
| 55 | −Cassel, E., \& Mendelsohn, R. (1985). The choice of functional forms for hedonic price equations: Comment. \textit{Journal of Urban Economics}, 18(2), 135--142. | |
| 56 | − | |
| 57 | −\bibitem[Chen et~al., 2020]{chen2020quantile} | |
| 58 | −Chen, Y., Liu, T., Xie, X., \& Mar\'echal, B.G. (2020). Mapping the urban green space from a localized hedonic perspective: A quantile regression approach. \textit{Land Use Policy}, 94, 104524. | |
| 59 | − | |
| 60 | −\bibitem[Chen et~al., 2012]{chen2012geographically} | |
| 61 | −Chen, V.Y., Deng, W.S., Yang, T.C., \& Matthews, S.A. (2012). Geographically weighted quantile regression (GWQR): An application to U.S.\ mortality data. \textit{Geographical Analysis}, 44(2), 134--150. | |
| 62 | − | |
| 63 | −\bibitem[Chen et~al., 2025]{chen2025geoshapley} | |
| 64 | −Chen, Y., Ye, Y., Liu, X., Yin, C., \& Jones, C.A. (2025). Examining the nonlinear and spatial heterogeneity of housing prices in urban Beijing: An application of GeoShapley. \textit{Habitat International}, 159, 103283. | |
| 65 | − | |
| 66 | −\bibitem[Chernozhukov \& Hansen, 2006]{chernozhukov2006quantile} | |
| 67 | −Chernozhukov, V., \& Hansen, C. (2006). Instrumental quantile regression inference for structural and treatment effect models. \textit{Journal of Econometrics}, 132(2), 491--525. | |
| 68 | − | |
| 69 | −\bibitem[Chin \& Chau, 2003]{chin2006influences} | |
| 70 | −Chin, T.L., \& Chau, K.W. (2003). A critical review of literature on the hedonic price model. \textit{International Journal for Housing Science and Its Applications}, 27(2), 145--165. | |
| 71 | − | |
| 72 | −\bibitem[Cliff \& Ord, 1981]{cliff1981spatial} | |
| 73 | −Cliff, A.D., \& Ord, J.K. (1981). \textit{Spatial Processes: Models and Applications}. Pion Limited. | |
| 74 | − | |
| 75 | −\bibitem[CMHC, 2023]{cmhc2023housing} | |
| 76 | −Canada Mortgage and Housing Corporation (2023). \textit{Housing Market Outlook: Canada Edition}. Ottawa: CMHC. | |
| 77 | − | |
| 78 | −\bibitem[Colwell \& Munneke, 1997]{colwell2002estimating} | |
| 79 | −Colwell, P.F., \& Munneke, H.J. (1997). The structure of urban land prices. \textit{Journal of Urban Economics}, 41(3), 321--336. | |
| 80 | − | |
| 81 | −\bibitem[Cribari-Neto, 2004]{cribari2004asymptotic} | |
| 82 | −Cribari-Neto, F. (2004). Asymptotic inference under heteroskedasticity of unknown form. \textit{Computational Statistics \& Data Analysis}, 45(2), 215--233. | |
| 83 | − | |
| 84 | −\bibitem[Crompton, 2001]{crompton2001parks} | |
| 85 | −Crompton, J.L. (2001). The impact of parks on property values: A review of the empirical evidence. \textit{Journal of Leisure Research}, 33(1), 1--31. | |
| 86 | − | |
| 87 | −\bibitem[Cropper et~al., 1988]{cropper1988choice} | |
| 88 | −Cropper, M.L., Deck, L.B., \& McConnell, K.E. (1988). On the choice of functional form for hedonic price functions. \textit{Review of Economics and Statistics}, 70(4), 668--675. | |
| 89 | − | |
| 90 | −\bibitem[Debrezion et~al., 2007]{debrezion2007transit} | |
| 91 | −Debrezion, G., Pels, E., \& Rietveld, P. (2007). The impact of railway stations on residential and commercial property value: A meta-analysis. \textit{Journal of Real Estate Finance and Economics}, 35(2), 161--180. | |
| 92 | − | |
| 93 | −\bibitem[Des~Rosiers et~al., 2011]{des2011spatial} | |
| 94 | −Des~Rosiers, F., Th\'eriault, M., \& Villeneuve, P. (2011). Sorting out access and neighbourhood factors in hedonic price modelling. \textit{Journal of Property Investment \& Finance}, 18(3), 291--315. | |
| 95 | − | |
| 96 | −\bibitem[Des~Rosiers et~al., 2014]{des2014quantile} | |
| 97 | −Des~Rosiers, F., Dub\'e, J., \& Th\'eriault, M. (2014). Environmental contamination and housing values: A quantile regression approach. \textit{Journal of Housing and the Built Environment}, 29(3), 475--499. | |
| 98 | − | |
| 99 | −\bibitem[Do \& Grudnitski, 1995]{do1994impact} | |
| 100 | −Do, A.Q., \& Grudnitski, G. (1995). Golf courses and residential house prices: An empirical examination. \textit{Journal of Real Estate Finance and Economics}, 10(3), 261--270. | |
| 101 | − | |
| 102 | −\bibitem[Dub\'e et~al., 2011]{dube2011spatial} | |
| 103 | −Dub\'e, J., Des~Rosiers, F., Th\'eriault, M., \& Dib, P. (2011). Economic impact of a supply change in mass transit in urban areas: A Canadian example. \textit{Transportation Research Part A: Policy and Practice}, 45(1), 46--62. | |
| 104 | − | |
| 105 | −\bibitem[Dub\'e et~al., 2018]{dubois2018spatial} | |
| 106 | −Dub\'e, J., Legros, D., Th\'eriault, M., \& Des~Rosiers, F. (2018). Spatial dependence in the residential Canadian housing market. \textit{Journal of Real Estate Finance and Economics}, 56(2), 223--263. | |
| 107 | − | |
| 108 | −\bibitem[Dub\'e et~al., 2023]{dube2023yimby} | |
| 109 | −Dub\'e, J., Legros, D., Th\'eriault, M., \& Des~Rosiers, F. (2023). YIMBY vs.\ NIMBY: Impact of new social housing on house prices in Qu\'ebec City. \textit{Housing Policy Debate}, 33(4), 865--890. | |
| 110 | − | |
| 111 | −\bibitem[Dub\'e et~al., 2025]{dube2025park} | |
| 112 | −Dub\'e, J., Des~Rosiers, F., Th\'eriault, M., \& Dib, P. (2025). Is there an additional price premium for houses exposed to urban parks? Evidence from Qu\'ebec City. \textit{Journal of Environmental Management}, 380, 124787. | |
| 113 | − | |
| 114 | −\bibitem[Efron \& Tibshirani, 1994]{efron1994introduction} | |
| 115 | −Efron, B., \& Tibshirani, R.J. (1994). \textit{An Introduction to the Bootstrap}. Chapman \& Hall/CRC. | |
| 116 | − | |
| 117 | −\bibitem[Ekeland et~al., 2004]{ekeland2004identification} | |
| 118 | −Ekeland, I., Heckman, J.J., \& Nesheim, L. (2004). Identification and estimation of hedonic models. \textit{Journal of Political Economy}, 112(S1), S60--S109. | |
| 119 | − | |
| 120 | −\bibitem[Elhorst, 2010]{elhorst2010applied} | |
| 121 | −Elhorst, J.P. (2010). Applied spatial econometrics: Raising the bar. \textit{Spatial Economic Analysis}, 5(1), 9--28. | |
| 122 | − | |
| 123 | −\bibitem[Farmer \& Lipscomb, 2010]{farmer2011exaggerated} | |
| 124 | −Farmer, S., \& Lipscomb, C.A. (2010). Using quantile regression in hedonic analysis to reveal submarket competition. \textit{Journal of Real Estate Research}, 32(4), 435--460. | |
| 125 | − | |
| 126 | −\bibitem[Freedman, 1981]{freedman1981bootstrapping} | |
| 127 | −Freedman, D.A. (1981). Bootstrapping regression models. \textit{The Annals of Statistics}, 9(6), 1218--1228. | |
| 128 | − | |
| 129 | −\bibitem[Friedman, 2001]{friedman2001greedy} | |
| 130 | −Friedman, J.H. (2001). Greedy function approximation: A gradient boosting machine. \textit{The Annals of Statistics}, 29(5), 1189--1232. | |
| 131 | − | |
| 132 | −\bibitem[Getis, 2004]{getis2004spatial} | |
| 133 | −Getis, A. (2004). Spatial weights matrices. \textit{Geographical Analysis}, 41(4), 404--410. | |
| 134 | − | |
| 135 | −\bibitem[Gibbons \& Machin, 2008]{gibbons2012valuing} | |
| 136 | −Gibbons, S., \& Machin, S. (2008). Valuing school quality, better transport, and lower crime: Evidence from house prices. \textit{Oxford Review of Economic Policy}, 24(1), 99--119. | |
| 137 | − | |
| 138 | −\bibitem[Gibbons et~al., 2015]{gibbons2015spatial} | |
| 139 | −Gibbons, S., Overman, H.G., \& Patacchini, E. (2015). Spatial methods. In G.~Duranton, J.V.~Henderson, \& W.C.~Strange (Eds.), \textit{Handbook of Regional and Urban Economics}, Vol.~5 (pp.~115--168). Elsevier. | |
| 140 | − | |
| 141 | −\bibitem[Glaeser et~al., 2008]{glaeser2008poor} | |
| 142 | −Glaeser, E.L., Kahn, M.E., \& Rappaport, J. (2008). Why do the poor live in cities? The role of public transportation. \textit{Journal of Urban Economics}, 63(1), 1--24. | |
| 143 | − | |
| 144 | −\bibitem[Goodman \& Thibodeau, 1998]{goodman1998housing} | |
| 145 | −Goodman, A.C., \& Thibodeau, T.G. (1998). Housing market segmentation. \textit{Journal of Housing Economics}, 7(2), 121--143. | |
| 146 | − | |
| 147 | −\bibitem[Gorjian, 2025]{gorjian2025systematic} | |
| 148 | −Gorjian, S. (2025). Integrating machine learning and hedonic regression for housing price prediction: A systematic international review. \textit{MPRA Paper No.\ 125676}. | |
| 149 | − | |
| 150 | −\bibitem[Grudnitski \& Do, 2002]{grudnitski2002golf} | |
| 151 | −Grudnitski, G., \& Do, A.Q. (2002). Adjusting for the effects of a golf course. \textit{The Appraisal Journal}, 70(2), 141--147. | |
| 152 | − | |
| 153 | −\bibitem[Gyger et~al., 2025]{gyger2025spatial} | |
| 154 | −Gyger, T., Hauri, S., B\"uhlmann, S., Lehner, M., Schlesinger, J., \& Sigrist, F. (2025). Explainable spatial machine learning for hedonic real estate modeling. \textit{Real Estate Economics}, forthcoming. | |
| 155 | − | |
| 156 | −\bibitem[Hahn, 1995]{hahn1995bootstrapping} | |
| 157 | −Hahn, J. (1995). Bootstrapping quantile regression estimators. \textit{Econometric Theory}, 11(1), 105--121. | |
| 158 | − | |
| 159 | −\bibitem[Halvorsen \& Pollakowski, 1981]{halvorsen1981choice} | |
| 160 | −Halvorsen, R., \& Pollakowski, H.O. (1981). Choice of functional form for hedonic price equations. \textit{Journal of Urban Economics}, 10(1), 37--49. | |
| 161 | − | |
| 162 | −\bibitem[Hao \& Naiman, 2007]{hao2007quantile} | |
| 163 | −Hao, L., \& Naiman, D.Q. (2007). \textit{Quantile Regression}. Sage Publications. | |
| 164 | − | |
| 165 | −\bibitem[Haurin, 1988]{haurin2010thin} | |
| 166 | −Haurin, D. (1988). The duration of marketing time of residential housing. \textit{AREUEA Journal}, 16(4), 396--410. | |
| 167 | − | |
| 168 | −\bibitem[Herath \& Maier, 2025]{herath2025reflections} | |
| 169 | −Herath, S., \& Maier, G. (2025). Reflections on hedonic price modeling. \textit{Journal of European Real Estate Research}, 18(1), 5--23. | |
| 170 | − | |
| 171 | −\bibitem[Diao \& Ferreira, 2023]{hospital2023heterogeneity} | |
| 172 | −Diao, M., \& Ferreira, J. (2023). Hospital accessibility impacts on housing prices: Heterogeneity across space and price quantiles. \textit{Journal of Housing and the Built Environment}, 38, 1875--1901. | |
| 173 | − | |
| 174 | −\bibitem[Theebe, 2004]{highway2010effects} | |
| 175 | −Theebe, M.A.J. (2004). Planes, trains, and automobiles: The impact of traffic noise on house prices. \textit{Journal of Real Estate Finance and Economics}, 28(2--3), 209--234. | |
| 176 | − | |
| 177 | −\bibitem[Jin \& Su, 2001]{jin2001simple} | |
| 178 | −Jin, F., \& Su, L. (2001). A simple bootstrap test for spatial dependence. \textit{Economics Letters}, 71(3), 377--383. | |
| 179 | − | |
| 180 | −\bibitem[Kelejian \& Prucha, 1998]{kelejian1998generalized} | |
| 181 | −Kelejian, H.H., \& Prucha, I.R. (1998). A generalized spatial two-stage least squares procedure for estimating a spatial autoregressive model with autoregressive disturbances. \textit{Journal of Real Estate Finance and Economics}, 17(1), 99--121. | |
| 182 | − | |
| 183 | −\bibitem[Kim \& Muller, 2004]{kim2004quantile} | |
| 184 | −Kim, T.H., \& Muller, C. (2004). Two-stage quantile regression when the first stage is based on quantile regression. \textit{The Econometrics Journal}, 7(1), 218--231. | |
| 185 | − | |
| 186 | −\bibitem[Knight, 2002]{knight2002listing} | |
| 187 | −Knight, J.R. (2002). Listing price, time on market, and ultimate selling price: Causes and effects of listing price changes. \textit{Real Estate Economics}, 30(2), 213--237. | |
| 188 | − | |
| 189 | −\bibitem[Koenker \& Bassett, 1978]{koenker1978regression} | |
| 190 | −Koenker, R., \& Bassett, G.W. (1978). Regression quantiles. \textit{Econometrica}, 46(1), 33--50. | |
| 191 | − | |
| 192 | −\bibitem[Koenker \& Bassett, 1982]{koenker1982robust} | |
| 193 | −Koenker, R., \& Bassett, G.W. (1982). Robust tests for heteroscedasticity based on regression quantiles. \textit{Econometrica}, 50(1), 43--61. | |
| 194 | − | |
| 195 | −\bibitem[Koenker, 2005]{koenker2005quantile} | |
| 196 | −Koenker, R. (2005). \textit{Quantile Regression}. Cambridge University Press. | |
| 197 | − | |
| 198 | −\bibitem[Koenker \& Machado, 1999]{koenker1999goodness} | |
| 199 | −Koenker, R., \& Machado, J.A.F. (1999). Goodness of fit and related inference processes for quantile regression. \textit{Journal of the American Statistical Association}, 94(448), 1296--1310. | |
| 200 | − | |
| 201 | −\bibitem[Kostov, 2009]{kostov2009spatial} | |
| 202 | −Kostov, P. (2009). A spatial quantile regression hedonic model of agricultural land prices. \textit{Spatial Economic Analysis}, 4(1), 53--72. | |
| 203 | − | |
| 204 | −\bibitem[Kuminoff et~al., 2010]{kuminoff2010quasi} | |
| 205 | −Kuminoff, N.V., Parmeter, C.F., \& Pope, J.C. (2010). Which hedonic models can we trust to recover the marginal willingness to pay for environmental amenities? \textit{Journal of Environmental Economics and Management}, 60(3), 145--160. | |
| 206 | − | |
| 207 | −\bibitem[Kutner et~al., 2004]{kutner2004applied} | |
| 208 | −Kutner, M.H., Nachtsheim, C.J., Neter, J., \& Li, W. (2004). \textit{Applied Linear Statistical Models} (5th ed.). McGraw-Hill/Irwin. | |
| 209 | − | |
| 210 | −\bibitem[Lahiri, 2003]{lahiri2003resampling} | |
| 211 | −Lahiri, S.N. (2003). \textit{Resampling Methods for Dependent Data}. Springer. | |
| 212 | − | |
| 213 | −\bibitem[LeSage \& Pace, 2009]{lesage2009introduction} | |
| 214 | −LeSage, J.P., \& Pace, R.K. (2009). \textit{Introduction to Spatial Econometrics}. CRC Press. | |
| 215 | − | |
| 216 | −\bibitem[Liao \& Wang, 2012]{liao2012hedonic} | |
| 217 | −Liao, W.C., \& Wang, X. (2012). Hedonic house prices and spatial quantile regression. \textit{Journal of Housing Economics}, 21(1), 16--27. | |
| 218 | − | |
| 219 | −\bibitem[Long \& Ervin, 2000]{long2000using} | |
| 220 | −Long, J.S., \& Ervin, L.H. (2000). Using heteroscedasticity consistent standard errors in the linear regression model. \textit{The American Statistician}, 54(3), 217--224. | |
| 221 | − | |
| 222 | −\bibitem[MacKinnon \& White, 1985]{mackinnon1985some} | |
| 223 | −MacKinnon, J.G., \& White, H. (1985). Some heteroskedasticity-consistent covariance matrix estimators with improved finite sample properties. \textit{Journal of Econometrics}, 29(3), 305--325. | |
| 224 | − | |
| 225 | −\bibitem[Mak et~al., 2010]{mak2010quantile} | |
| 226 | −Mak, S., Choy, L., \& Ho, W. (2010). Quantile regression estimates of Hong Kong real estate prices. \textit{Urban Studies}, 47(11), 2461--2472. | |
| 227 | − | |
| 228 | −\bibitem[Malpezzi, 2003]{malpezzi2003hedonic} | |
| 229 | −Malpezzi, S. (2003). Hedonic pricing models: A selective and applied review. In T.~O'Sullivan \& K.~Gibb (Eds.), \textit{Housing Economics and Public Policy} (pp.~67--89). Blackwell. | |
| 230 | − | |
| 231 | −\bibitem[Marquardt, 1980]{marquardt1980comment} | |
| 232 | −Marquardt, D.W. (1980). Comment: You should standardize the predictor variables in your regression models. \textit{Journal of the American Statistical Association}, 75(369), 87--91. | |
| 233 | − | |
| 234 | −\bibitem[McMillen, 2008]{mcmillen2008quantile} | |
| 235 | −McMillen, D.P. (2008). Changes in the distribution of house prices over time: Structural characteristics, neighborhood, or coefficients? \textit{Journal of Urban Economics}, 64(3), 573--589. | |
| 236 | − | |
| 237 | −\bibitem[Meinshausen, 2006]{meinshausen2006quantile} | |
| 238 | −Meinshausen, N. (2006). Quantile regression forests. \textit{Journal of Machine Learning Research}, 7, 983--999. | |
| 239 | − | |
| 240 | −\bibitem[Mohammad et~al., 2013]{mohammad2013meta} | |
| 241 | −Mohammad, S.I., Graham, D.J., Melo, P.C., \& Anderson, R.J. (2013). A meta-analysis of the impact of rail projects on land and property values. \textit{Transportation Research Part A: Policy and Practice}, 50, 158--170. | |
| 242 | − | |
| 243 | −\bibitem[Perreault et~al., 2024]{montreal2024consumption} | |
| 244 | −Perreault, L., Bhatt, M., \& Bhatt, J. (2024). Evaluating the effects of supervised consumption sites on housing prices in Montreal using hedonic models. \textit{Drug and Alcohol Dependence Reports}, 12, 100279. | |
| 245 | − | |
| 246 | −\bibitem[Nelson, 2004]{nelson2004meta} | |
| 247 | −Nelson, J.P. (2004). Meta-analysis of airport noise and hedonic property values: Problems and prospects. \textit{Journal of Transport Economics and Policy}, 38(1), 1--27. | |
| 248 | − | |
| 249 | −\bibitem[Rehman \& Pennington-Cross, 2025]{nz2025airport} | |
| 250 | −Rehman, A., \& Pennington-Cross, A. (2025). Spatial effect of airport proximity on house prices: A quantile regression approach. \textit{Applied Economics}, forthcoming. | |
| 251 | − | |
| 252 | −\bibitem[O'Brien, 2007]{obrien2007caution} | |
| 253 | −O'Brien, R.M. (2007). A caution regarding rules of thumb for variance inflation factors. \textit{Quality \& Quantity}, 41(5), 673--690. | |
| 254 | − | |
| 255 | −\bibitem[Pace \& LeSage, 2004]{pace2004spatial} | |
| 256 | −Pace, R.K., \& LeSage, J.P. (2004). Chebyshev approximation of log-determinants of spatial weight matrices. \textit{Computational Statistics \& Data Analysis}, 45(2), 179--196. | |
| 257 | − | |
| 258 | −\bibitem[Palm, 1978]{palm1978spatial} | |
| 259 | −Palm, R. (1978). Spatial segmentation of the urban housing market. \textit{Economic Geography}, 54(3), 210--221. | |
| 260 | − | |
| 261 | −\bibitem[Parmeter \& Pope, 2013]{parmeter2010applied} | |
| 262 | −Parmeter, C.F., \& Pope, J.C. (2013). Quasi-experiments and hedonic property value methods. In J.A.~List \& M.K.~Price (Eds.), \textit{Handbook on Experimental Economics and the Environment} (pp.~3--66). Edward Elgar. | |
| 263 | − | |
| 264 | −\bibitem[Pryce \& Oates, 2008]{pryce2013property} | |
| 265 | −Pryce, G., \& Oates, S. (2008). Rhetoric in the language of real estate marketing. \textit{Housing Studies}, 23(2), 279--298. | |
| 266 | − | |
| 267 | −\bibitem[Renne, 2016]{renne2016transit} | |
| 268 | −Renne, J.L. (2016). Transit-oriented development and affordable housing. In E.~L.~Birch \& S.~M.~Wachter (Eds.), \textit{The City in the Twenty-First Century}. University of Pennsylvania Press. | |
| 269 | − | |
| 270 | −\bibitem[Rey-Blanco et~al., 2024]{reyblanco2024submarkets} | |
| 271 | −Rey-Blanco, D., Arbu\'es, P., L\'opez, F.A., \& P\'aez, A. (2024). Using machine learning to identify spatial market segments: A reproducible study of housing submarkets in Madrid. \textit{Environment and Planning B: Urban Analytics and City Science}, 51(6), 1472--1489. | |
| 272 | − | |
| 273 | −\bibitem[Rosen, 1974]{rosen1974hedonic} | |
| 274 | −Rosen, S. (1974). Hedonic prices and implicit markets: Product differentiation in pure competition. \textit{Journal of Political Economy}, 82(1), 34--55. | |
| 275 | − | |
| 276 | −\bibitem[Salvati et~al., 2023]{salvati2023semiparametric} | |
| 277 | −Salvati, N., Tzavidis, N., Pratesi, M., \& Chambers, R. (2023). Spatial semiparametric M-quantile regression for hedonic price modelling. \textit{AStA Advances in Statistical Analysis}, 107, 159--183. | |
| 278 | − | |
| 279 | −\bibitem[Shimizu et~al., 2010]{shimizu2010housing} | |
| 280 | −Shimizu, C., Nishimura, K.G., \& Watanabe, T. (2010). Housing prices in Tokyo: A comparison of hedonic and repeat sales measures. \textit{Journal of Economics and Statistics}, 230(6), 792--813. | |
| 281 | − | |
| 282 | −\bibitem[Sirmans et~al., 2005]{sirmans2005composition} | |
| 283 | −Sirmans, G.S., Macpherson, D.A., \& Zietz, E.N. (2005). The composition of hedonic pricing models. \textit{Journal of Real Estate Literature}, 13(1), 1--44. | |
| 284 | − | |
| 285 | −\bibitem[Stakhovych \& Bijmolt, 2009]{stakhovych2009specification} | |
| 286 | −Stakhovych, S., \& Bijmolt, T.H.A. (2009). Specification of spatial models: A simulation study on weights matrices. \textit{Papers in Regional Science}, 88(2), 389--408. | |
| 287 | − | |
| 288 | −\bibitem[Statistics Canada, 2023]{statisticscanada2023housing} | |
| 289 | −Statistics Canada (2023). \textit{New Housing Price Index}. Table 18-10-0205-01. Ottawa: Statistics Canada. | |
| 290 | − | |
| 291 | −\bibitem[Stock \& Yogo, 2002]{stock2002survey} | |
| 292 | −Stock, J.H., \& Yogo, M. (2002). Testing for weak instruments in linear IV regression. \textit{NBER Technical Working Paper No.\ 284}. | |
| 293 | − | |
| 294 | −\bibitem[Su \& Yang, 2007]{su2012profile} | |
| 295 | −Su, L., \& Yang, Z. (2007). Instrumental variable quantile estimation of spatial autoregressive models. \textit{Working Paper, Singapore Management University}. | |
| 296 | − | |
| 297 | −\bibitem[Tiebout, 1956]{tiebout1956pure} | |
| 298 | −Tiebout, C.M. (1956). A pure theory of local expenditures. \textit{Journal of Political Economy}, 64(5), 416--424. | |
| 299 | − | |
| 300 | −\bibitem[Troy \& Grove, 2008]{troy2008property} | |
| 301 | −Troy, A., \& Grove, J.M. (2008). Property values, parks, and crime: A hedonic analysis in Baltimore, MD. \textit{Landscape and Urban Planning}, 87(3), 233--245. | |
| 302 | − | |
| 303 | −\bibitem[Waddell et~al., 1993]{waddell1993exogenous} | |
| 304 | −Waddell, P., Berry, B.J.L., \& Hoch, I. (1993). Residential property values in a multinodal urban area: New evidence on the implicit price of location. \textit{Journal of Real Estate Finance and Economics}, 7(2), 117--141. | |
| 305 | − | |
| 306 | −\bibitem[Watkins, 2001]{watkins2001definition} | |
| 307 | −Watkins, C.A. (2001). The definition and identification of housing submarkets. \textit{Environment and Planning A}, 33(12), 2235--2253. | |
| 308 | − | |
| 309 | −\bibitem[Wen et~al., 2017]{wen2017quantile} | |
| 310 | −Wen, H., Xiao, Y., \& Zhang, L. (2017). Spatial effect of river landscape on housing price: An empirical study on the Grand Canal in Hangzhou, China. \textit{Habitat International}, 63, 34--44. | |
| 311 | − | |
| 312 | −\bibitem[Wolch et~al., 2014]{wolch2014parks} | |
| 313 | −Wolch, J.R., Byrne, J., \& Newell, J.P. (2014). Urban green space, public health, and environmental justice: The challenge of making cities ``just green enough.'' \textit{Landscape and Urban Planning}, 125, 234--244. | |
| 314 | − | |
| 315 | −\bibitem[Zietz et~al., 2008]{zietz2008determinants} | |
| 316 | −Zietz, J., Zietz, E.N., \& Sirmans, G.S. (2008). Determinants of house prices: A quantile regression approach. \textit{Journal of Real Estate Finance and Economics}, 37(4), 317--333. | |
| 317 | − | |
| 318 | −\end{thebibliography} | |
modified
paper/sections/results.tex
+83 −61
@@ -3,102 +3,124 @@ | ||
| 3 | 3 | \label{sec:results} |
| 4 | 4 | % ============================================================================ |
| 5 | 5 | |
| 6 | −\subsection{Spatial Autocorrelation} | |
| 6 | +All estimates in this section are those of the original estimation run, whose console log is the only preserved numerical record of the study; the tables and figures are generated from that log by a versioned script (Appendix~\ref{app:audit}). Coefficients are in log points of the asking price. | |
| 7 | 7 | |
| 8 | −Table~\ref{tab:moran} reports Moran's $I$ statistics for OLS residuals across segments. Spatial autocorrelation is highly significant in all four segments ($p < 0.001$), with $I$ values ranging from 0.506 (houses) to 0.580 (land). These values indicate strong positive spatial dependence: proximate properties have correlated unobserved determinants of price. By comparison, \citet{dube2011spatial} report Moran's $I$ values of 0.30--0.45 for Montreal housing prices, and \citet{bourassa2010spatial} find values of 0.25--0.50 across Canadian metropolitan areas. Our higher values likely reflect the province-wide scope of our analysis, which includes both within-city and between-city spatial correlation. | |
| 8 | +\subsection{Conditional-mean benchmark and spatial autocorrelation} | |
| 9 | 9 | |
| 10 | −This confirms that OLS hedonic estimates are inefficient and potentially biased, motivating the spatial quantile approach. The Moran's $I$ for land parcels (0.580) is the highest, consistent with the well-documented importance of comparable-sales evidence in land valuation where the physical product is undifferentiated \citep{colwell2002estimating}. | |
| 10 | +Table~\ref{tab:moran} reports the fit of the OLS specification~\eqref{eq:hedonic} and Moran's $I$ on its residuals. The adjusted $R^2$ is 0.619 for houses, 0.669 for condominiums, 0.576 for multiplexes and 0.154 for vacant land; the last figure reflects a specification that contains only lot area, distance, region and six amenity indicators, when zoning, servicing and development potential are the main determinants of parcel prices \citep{colwell1997structure}. Moran's $I$ on the OLS residuals is 0.506 for houses, 0.551 for condominiums, 0.528 for multiplexes and 0.580 for land, with $z$-statistics between 22 and 67. These values are high by the standards of urban hedonic studies, which typically report residual Moran statistics of 0.2--0.4 on neighbourhood-level weights \citep{basu1998analysis, bourassa2007spatial}; two features of the design raise them. The samples span the whole province, so that the regional indicators and a single distance gradient leave considerable between-municipality variation in the residuals, and the ten-nearest-neighbour weights are very local, so that unmodelled street- and building-level price levels are strongly reflected in $\mathbf{W}\mathbf{e}$. Whatever its source, residual dependence of this magnitude means that the OLS and quantile standard errors computed under independence should be treated as lower bounds, and it motivates the spatial lag of Section~\ref{sec:sqr_results}. | |
| 11 | 11 | |
| 12 | 12 | \input{tables/moran} |
| 13 | 13 | |
| 14 | −\subsection{OLS Baseline} | |
| 14 | +\subsection{Quantile regressions: single-family houses} | |
| 15 | 15 | |
| 16 | −The OLS hedonic model explains 68.5\% of price variation for houses (adjusted $R^2 = 0.685$), 74.5\% for condos, 66.5\% for plex, and 24.1\% for land. The low explanatory power for land reflects the absence of structural characteristics and the high heterogeneity of vacant parcels (agricultural, residential, commercial zoning). All models use HC3 robust standard errors. | |
| 16 | +Table~\ref{tab:qr_houses} reports the amenity coefficients of equation~\eqref{eq:qr} at the five quantiles, with the OLS coefficient for comparison, and Figure~\ref{fig:coef} plots the profiles for all four segments; the structural, locational and regional coefficients for houses are in Appendix Table~\ref{tab:qr_houses_structural}. Four profiles stand out. | |
| 17 | 17 | |
| 18 | −For the house segment, the structural variables show expected signs and magnitudes: each additional bathroom increases price by approximately 30\% ($\beta = 0.26$, $p < 0.001$); the floor area elasticity is 0.49, indicating that a 10\% increase in floor area is associated with a 4.9\% price increase; garage presence commands a 12.6\% premium (\$53,000 at the median price). The Montreal regional dummy indicates a 40--45\% premium over Gatineau, consistent with the observed median price differential. | |
| 18 | +The highway indicator has the steepest decline. Its coefficient is 0.205 at $\tau = 0.10$, 0.156 at 0.25, 0.113 at the median, 0.071 at 0.75 and 0.034, no longer significant, at 0.90; the OLS coefficient of 0.133 lies between the median and the first quartile. Transit proximity follows the same pattern from 0.178 to 0.053, with the OLS value of 0.113 again near the median. Park proximity declines from 0.122 at the 10th percentile to 0.038 at the median (significant at the 5 percent level) and to 0.014 at the top, where it is indistinguishable from zero. For these three indicators the conditional-mean coefficient is a poor summary of the schedule: it overstates the differential in the upper part of the conditional distribution by a factor of two to four and understates it in the lower part by a third to a half. | |
| 19 | 19 | |
| 20 | −\subsection{Multicollinearity Assessment} | |
| 21 | − | |
| 22 | −Variance inflation factors for the house segment range from 1.05 (golf proximity) to 3.82 (log floor area), all well below the conventional threshold of 10. The condition number of the centered design matrix is 18.4, below the \citet{belsley1980regression} threshold of 30. These diagnostics confirm that centering the continuous variables successfully resolves the multicollinearity concerns that arise in uncentered specifications, where VIFs for bedrooms and bathrooms can exceed 15 due to their correlation with floor area \citep{obrien2007caution}. | |
| 23 | − | |
| 24 | −\subsection{Quantile Regression Results} | |
| 25 | − | |
| 26 | −\subsubsection{Single-Family Houses} | |
| 27 | − | |
| 28 | −Table~\ref{tab:qr_houses} reports amenity coefficients across quantiles for single-family houses, the most attribute-rich segment. Several patterns emerge: | |
| 29 | − | |
| 30 | −\textbf{Hospital proximity} is the strongest source of inter-quantile heterogeneity ($\chi^2 = 12.3$, $p < 0.001$): the coefficient drops from $-$0.082 ($p < 0.001$) at $\tau = 0.10$ to $+$0.013 (insignificant) at $\tau = 0.90$. Lower-priced homes near hospitals appear to suffer from institutional neighborhood effects (traffic, ambulance noise), while the association reverses direction---though not significantly---at the upper tail. This pattern is consistent with \citet{hospital2023heterogeneity}, who document heterogeneous hospital proximity effects across price quantiles in European markets. | |
| 31 | − | |
| 32 | −\textbf{Park proximity} shows the clearest declining gradient ($\chi^2 = 14.1$, $p < 0.001$): the coefficient drops from $+$0.087 ($p < 0.001$) at $\tau = 0.10$ to $-$0.044 (insignificant) at $\tau = 0.90$. Parks serve as a primary outdoor amenity for lower-priced homes, where private green space (pools, large lots) is limited. Luxury properties may substitute private for public green space. \citet{anderson2001park} find a similar pattern in U.S.\ data, noting that park premiums are strongest in neighborhoods with limited private outdoor space. | |
| 33 | − | |
| 34 | −\textbf{Public transit} shows a declining positive association: 0.074 ($p < 0.01$) at $\tau = 0.10$ versus $-$0.008 (insignificant) at $\tau = 0.90$. Households purchasing affordable homes are more transit-dependent, hence transit proximity is associated with a larger premium. This aligns with \citet{mohammad2013meta}, whose meta-analysis shows that transit premiums are larger in lower-income neighborhoods, and with \citet{glaeser2008poor}, who documents that lower-income households are systematically more transit-dependent. | |
| 35 | − | |
| 36 | −\textbf{Highway proximity} shows a modest positive association at the median (0.043, $p < 0.001$) that becomes insignificant at both tails. The Wald test for $\tau = 0.10$ versus $\tau = 0.90$ is not significant ($\chi^2 = 2.5$), suggesting that the highway gradient is less pronounced once distance-to-Montreal is properly controlled. | |
| 37 | − | |
| 38 | −\textbf{School proximity} is consistently negative across all quantiles ($\approx -$0.07 to $-$0.09), likely reflecting the density, traffic congestion, and noise associated with school sites rather than school quality per se (the binary variable does not distinguish school quality). \citet{gibbons2012valuing} demonstrate that while school quality premiums are positive, physical proximity to school buildings often generates disamenity effects from traffic and noise. | |
| 39 | − | |
| 40 | −\textbf{Golf course proximity} and \textbf{garage} are positive and relatively stable across quantiles, suggesting homogeneous capitalization for these attributes. | |
| 20 | +The hospital indicator changes sign. It is $-$0.085 at $\tau = 0.10$, $-$0.061 at 0.25 and $-$0.027 at the median, all significant, and then $+$0.001 at 0.75 and $+$0.041 at 0.90, the last marginally significant at the 10 percent level. The OLS coefficient of $-$0.049 describes neither tail. The school indicator, by contrast, is uniformly negative, between $-$0.102 and $-$0.136, and the garage and golf-course indicators are positive and comparatively stable (garage 0.047--0.100; golf 0.015--0.063), with the smallest values at the 90th percentile. | |
| 41 | 21 | |
| 42 | 22 | \input{tables/qr_houses} |
| 43 | 23 | |
| 44 | −The increasing pseudo-$R^2$ across quantiles (0.355 at $\tau = 0.10$ to 0.444 at $\tau = 0.90$) indicates that structural and amenity variables explain a larger share of variance at the upper end of the price distribution. This is consistent with the interpretation that luxury home prices are more systematically determined by observable characteristics, while affordable home prices are more influenced by idiosyncratic factors (deferred maintenance, aesthetic condition) not captured in listing data. | |
| 45 | − | |
| 46 | −\subsubsection{Condominiums} | |
| 47 | − | |
| 48 | −The condo segment ($N = 1{,}031$) shows less inter-quantile variation, with no amenity variable exhibiting significant heterogeneity between $\tau = 0.10$ and $\tau = 0.90$ at the 5\% level. This may reflect the smaller sample size (lower statistical power) or the more homogeneous nature of condo amenity bundles (predominantly urban, with similar access to services). The condo market in Quebec is concentrated in Montreal (62.4\% of our sample), limiting geographic variation in amenity access. The OLS adjusted $R^2$ is 0.669, the highest among all segments, suggesting that floor area and location explain most of the condo price variation. | |
| 49 | − | |
| 50 | −\subsubsection{Multiplexes} | |
| 24 | +Table~\ref{tab:wald_houses} tests the equality of each amenity coefficient across three quantile pairs. For the $(0.10, 0.90)$ pair the statistic is 17.1 for highway, 12.1 for hospital, 11.6 for transit and 6.7 for park, each rejecting equality at the 1 percent level, against 0.05 for school, 0.6 for golf and 0.2 for garage. The $(0.25, 0.75)$ pair yields the same ranking with somewhat smaller statistics (13.8, 8.2, 11.7 and 3.7), and the $(0.10, 0.50)$ pair rejects equality for highway, transit and park at the 5 percent level but not for hospital. Four of the seven indicators therefore display significant heterogeneity between the tails, and the heterogeneity is concentrated in the lower half of the conditional distribution: the adjacent-quantile statistics in Figure~\ref{fig:wald} are largest between $\tau = 0.25$ and $\tau = 0.50$ for transit (6.8) and between 0.25 and 0.75 for highway, while the upper pairs are small. | |
| 51 | 25 | |
| 52 | −The plex segment ($N = 3{,}755$) exhibits significant heterogeneity for highway ($p < 0.001$) and hospital ($p < 0.01$) proximity. Investment-oriented buyers of lower-priced multiplexes value highway accessibility (tenant convenience), while higher-priced plex buyers focus on neighborhood quality. The plex market combines owner-occupant and investor demand, creating a natural source of preference heterogeneity \citep{pryce2013property}. The OLS adjusted $R^2$ is 0.576. | |
| 26 | +\input{tables/wald_houses} | |
| 53 | 27 | |
| 54 | −\subsubsection{Vacant Land} | |
| 28 | +The pseudo-$R^2$ rises from 0.355 at $\tau = 0.10$ to 0.444 at $\tau = 0.90$ (Table~\ref{tab:pseudo_r2}, Figure~\ref{fig:pseudor2}). The covariates thus account for a larger share of the check-function loss in the upper part of the conditional distribution. One reading is that low-priced listings carry more idiosyncratic information---condition, deferred maintenance, motivated sellers---that is not in the listing fields; the structural coefficients in Appendix Table~\ref{tab:qr_houses_structural} are consistent with this, the floor-area elasticity rising from 0.51 at $\tau = 0.10$ to 0.69 at $\tau = 0.90$ and the Montreal premium from 0.28 to 0.44. The same appendix table also shows that the log-distance coefficient is implausibly large (1.6 to 2.5 with bootstrap standard errors of 0.4 to 0.8) and positive once the regional indicators are included; the coefficients on this control are not interpretable as a distance gradient, and Appendix~\ref{app:audit} flags the scaling of the distance variable in the original run as a point to be verified when the pipeline is re-executed. | |
| 55 | 29 | |
| 56 | −The land segment ($N = 9{,}239$) shows significant heterogeneity for school ($p < 0.01$) and golf course ($p < 0.001$) proximity. The OLS model explains only 15.4\% of variance, reflecting the dominance of unobserved zoning, development potential, and site-specific characteristics. The spatial lag parameter is the highest among all segments ($\rho = 0.322$), consistent with strong neighborhood effects in land valuation where the physical product is undifferentiated \citep{colwell2002estimating}. | |
| 30 | +\input{tables/pseudo_r2} | |
| 57 | 31 | |
| 58 | −\subsection{Spatial Quantile Regression (2SQR)} | |
| 32 | +\begin{figure}[H] | |
| 33 | +\centering | |
| 34 | +\includegraphics[width=\textwidth]{figures/fig_coefficients_by_quantile.png} | |
| 35 | +\caption{Amenity coefficients by quantile and segment} | |
| 36 | +\label{fig:coef} | |
| 37 | +\begin{minipage}{0.95\textwidth} | |
| 38 | +\footnotesize | |
| 39 | +\textit{Notes:} Quantile regression coefficients of equation~\eqref{eq:qr} with 95 percent bootstrap confidence bands ($\pm 1.96$ bootstrap standard errors, $B = 200$). The garage indicator, absent from the land specification, is omitted. Rebuilt from the preserved log by \texttt{scripts/06\_tables\_figures\_from\_log.py}. | |
| 40 | +\end{minipage} | |
| 41 | +\end{figure} | |
| 59 | 42 | |
| 60 | −\subsubsection{First-Stage Diagnostics} | |
| 43 | +\subsection{Quantile regressions: condominiums, multiplexes and vacant land} | |
| 61 | 44 | |
| 62 | −Table~\ref{tab:first_stage} reports first-stage regression diagnostics for the 2SQR model across all segments. The first-stage $R^2$ ranges from 0.548 (plex) to 0.672 (houses), and the $F$-statistic exceeds 10 in all segments, well above the \citet{stock2002survey} threshold for weak instrument rejection. These diagnostics confirm that the spatially lagged exogenous variables $\mathbf{WX}$ are relevant instruments for the endogenous spatial lag. | |
| 45 | +Tables~\ref{tab:qr_condos} to~\ref{tab:qr_land} report the corresponding estimates for the other segments, and Table~\ref{tab:wald} the tail-equality tests for all four. For condominiums ($N = 1{,}031$) no amenity coefficient is significant at any quantile except the golf-course indicator, which is negative ($-$0.048 to $-$0.092) and significant at four of the five quantiles, and the garage indicator, which is large and significant throughout (0.105 to 0.164). The tail-equality statistics are all below 1.4. The bootstrap standard errors are two to three times those of the house sample, so the absence of heterogeneity is as much a statement about power as about the market; it is also consistent with a product whose urban location makes most amenity mentions nearly universal (Table~\ref{tab:descriptive}) and whose price is dominated by interior area, bathrooms and location, the OLS adjusted $R^2$ being the highest of the four segments. | |
| 63 | 46 | |
| 64 | −\input{tables/first_stage} | |
| 47 | +\input{tables/qr_condos} | |
| 65 | 48 | |
| 66 | −\subsubsection{Spatial Lag Parameter} | |
| 49 | +For multiplexes ($N = 3{,}755$) two indicators display significant tail heterogeneity. The highway coefficient is positive at the first quartile and the median (0.051 and 0.049) and negative at the 90th percentile ($-$0.084), with $W = 11.6$; the hospital coefficient is 0.054 at $\tau = 0.10$ and $-$0.042 at $\tau = 0.90$, with $W = 7.1$. Transit proximity is the strongest and most stable amenity in this segment, at 0.10 to 0.14 at every quantile, and the school discount is again negative everywhere but concentrated in the middle of the distribution ($-$0.131 at the median against $-$0.038 at the top). The garage indicator declines from 0.104 to 0.004 between $\tau = 0.10$ and $\tau = 0.75$ ($W = 4.4$ for the tails, 10.4 for the interquartile pair), which is natural for a product bought partly for rental income, where a garage adds less to the revenue of an expensive building than to the value of an owner-occupied one. The pseudo-$R^2$ declines with the quantile for this segment (0.417 to 0.341), the opposite of the house pattern. | |
| 67 | 50 | |
| 68 | −Table~\ref{tab:2sqr} reports the 2SQR spatial lag coefficients across quantiles and segments. The spatial lag coefficient $\rho = 0.227$ ($p < 0.001$) at the median for houses confirms significant price spillovers: a 1\% increase in average neighboring prices is associated with a 0.23\% increase in the focal property's price. | |
| 51 | +\input{tables/qr_plex} | |
| 69 | 52 | |
| 70 | −The inclusion of the spatial lag reduces the magnitude of most amenity coefficients, as part of the amenity ``effect'' captured by QR reflects spatial spillovers from neighboring properties with similar amenity access. For example, the highway coefficient drops from 0.043 (QR) to 0.029 (2SQR) at $\tau = 0.50$. This attenuation effect is consistent with \citet{dube2011spatial}, who document similar coefficient reductions when spatial structure is introduced into Montreal hedonic models. Notably, with the corrected distance variable, the $\rho$ values are substantially lower than in preliminary analyses, because the log-distance gradient now properly captures the Montreal-centric price hierarchy, leaving less residual spatial structure for the spatial lag to absorb. | |
| 53 | +For vacant land ($N = 9{,}239$) the highway and transit indicators dominate, with coefficients of 0.43 to 0.57 and 0.36 to 0.57 respectively, that is, differentials of 50 to 80 percent in the asking price of a parcel; both are stable across quantiles. The tail tests reject equality for school ($W = 9.0$) and golf ($W = 13.1$): the school indicator is close to zero at the 10th percentile and reaches $-$0.249 at the 90th, and the golf indicator is positive at the lower quantiles (0.132 and 0.212) and negative at the top ($-$0.173). The pseudo-$R^2$ of the land regressions never exceeds 0.12. | |
| 71 | 54 | |
| 72 | −\input{tables/sqr_rho} | |
| 55 | +\input{tables/qr_land} | |
| 56 | +\input{tables/wald} | |
| 73 | 57 | |
| 74 | −The spatial lag varies across both quantiles and segments (Figure~\ref{fig:rho}). For houses, $\rho$ is relatively stable (0.28--0.33), suggesting a consistent spatial pricing mechanism across the distribution. For condos, it declines sharply from 0.34 at $\tau = 0.10$ to near zero at $\tau = 0.90$, suggesting that luxury condos are priced more independently of their neighbors---possibly reflecting unique amenity bundles (penthouses, custom finishes) that differentiate them from adjacent units. For plex, $\rho$ increases with the quantile (0.089 to 0.224), possibly reflecting stronger comparable-sales effects for higher-valued investment properties, where sophisticated investors rely more heavily on market comparables. | |
| 58 | +Across the four segments, significant tail heterogeneity is found for four of six amenities for houses, none for condominiums, two for multiplexes and two for land. The pattern that is common to the three built segments is a transit differential that is positive at every quantile, and a school differential that is negative at most quantiles; the pattern that is specific to houses is the monotone decline of the highway, transit and park differentials with the quantile and the sign change of the hospital differential. | |
| 75 | 59 | |
| 76 | −\subsubsection{Moran's $I$ on 2SQR Residuals} | |
| 60 | +\begin{figure}[H] | |
| 61 | +\centering | |
| 62 | +\includegraphics[width=\textwidth]{figures/fig_wald_adjacent_quantiles.png} | |
| 63 | +\caption{Wald statistics for equality of amenity coefficients at adjacent quantiles} | |
| 64 | +\label{fig:wald} | |
| 65 | +\begin{minipage}{0.95\textwidth} | |
| 66 | +\footnotesize | |
| 67 | +\textit{Notes:} Each cell is the statistic of equation~\eqref{eq:wald} for the pair of adjacent quantiles in the column, computed from the coefficients and bootstrap standard errors recorded in the log. $^{***}$, $^{**}$, $^{*}$: rejection at the 1, 5 and 10 percent levels. Rebuilt from the preserved log. | |
| 68 | +\end{minipage} | |
| 69 | +\end{figure} | |
| 77 | 70 | |
| 78 | −Table~\ref{tab:moran_sqr} reports Moran's $I$ on residuals across models and quantiles for the house segment. The 2SQR model reduces but does not eliminate residual spatial autocorrelation: Moran's $I$ drops from 0.506 (OLS) to approximately 0.35--0.40 (2SQR), depending on the quantile. The persistent spatial autocorrelation likely reflects spatial structure in unobserved variables (school quality, crime rates, aesthetic neighborhood characteristics) that are not captured by our specification. | |
| 71 | +\subsection{Two-stage spatial quantile regression} | |
| 72 | +\label{sec:sqr_results} | |
| 79 | 73 | |
| 80 | −\input{tables/moran_sqr} | |
| 74 | +Table~\ref{tab:sqr} reports, for each segment, the fit of the first stage~\eqref{eq:firststage}, the spatial-lag coefficient of the median second stage~\eqref{eq:2sqr}, and the median amenity coefficients with and without the lag; Figure~\ref{fig:olsqrsqr} displays the three sets of coefficients side by side. The first-stage $R^2$ is 0.672 for houses, 0.719 for condominiums, 0.650 for multiplexes and 0.204 for land, so that the lagged covariates explain a large share of the neighbouring price level in the built segments and a small share for parcels; the overall first-stage $F$ implied by these values is in the hundreds, but the partial $F$ on the excluded instruments, which is the relevant weak-instrument statistic, was not recorded (Section~\ref{sec:limitations}). The median spatial-lag coefficient is 0.291 for houses, 0.203 for condominiums, 0.131 for multiplexes and 0.322 for land. The ordering is sensible: the undifferentiated product, land, is the one whose asking price co-moves most with neighbouring asking prices, and the rental building, priced partly on income, the one that co-moves least. Without standard errors for $\hat\rho$---the second stage was not bootstrapped---we do not claim significance, and we note that the lag coefficients at the other four quantiles were not recorded, so that nothing can be said here about the variation of $\rho$ across the conditional distribution. | |
| 81 | 75 | |
| 82 | −\subsection{Inter-Quantile Heterogeneity Tests} | |
| 76 | +\input{tables/sqr} | |
| 83 | 77 | |
| 84 | −Table~\ref{tab:wald} reports Wald test statistics for the null hypothesis $\beta(\tau = 0.10) = \beta(\tau = 0.90)$ for each amenity, by segment. | |
| 78 | +Introducing the lag attenuates the median amenity coefficients for houses: highway falls from 0.113 to 0.057, transit from 0.094 to 0.071, school from $-$0.110 to $-$0.072 and hospital from $-$0.027 to $-$0.006, while park (0.038 to 0.042) and garage (0.096 to 0.091) are essentially unchanged. The attenuation is largest for the indicators that are themselves spatially clustered---highways, transit lines and schools serve whole neighbourhoods, whereas a garage is a property attribute---which is what a spatial lag that absorbs neighbourhood price levels should produce \citep{kim2003measuring, small2012spatial}. The same qualitative pattern appears for multiplexes (garage 0.039 to 0.030, school unchanged) and for land, where the highway coefficient falls from 0.453 to 0.324 and transit from 0.485 to 0.349. Table~\ref{tab:effects} converts the median 2SQR coefficients into the scalar total effects of equation~\eqref{eq:effects}: with $\hat\rho = 0.291$ the multiplier for houses is 1.41, so that the total highway differential is 0.081 log points, or about \$48,800 at the median asking price, the transit differential 0.100 (\$60,900) and the school differential $-$0.101 ($-$\$55,600). Because the indirect share equals $\hat\rho$ by construction, these figures restate the second-stage coefficients at a different scale rather than add to them. | |
| 85 | 79 | |
| 86 | −\input{tables/wald} | |
| 80 | +\begin{figure}[H] | |
| 81 | +\centering | |
| 82 | +\includegraphics[width=\textwidth]{figures/fig_ols_qr_sqr_median.png} | |
| 83 | +\caption{Amenity coefficients at the median: OLS, quantile regression and 2SQR} | |
| 84 | +\label{fig:olsqrsqr} | |
| 85 | +\begin{minipage}{0.95\textwidth} | |
| 86 | +\footnotesize | |
| 87 | +\textit{Notes:} OLS coefficients of equation~\eqref{eq:hedonic}, median quantile regression coefficients of equation~\eqref{eq:qr}, and median second-stage coefficients of the 2SQR, equation~\eqref{eq:2sqr}. No standard errors are available for the 2SQR coefficients. Rebuilt from the preserved log. | |
| 88 | +\end{minipage} | |
| 89 | +\end{figure} | |
| 87 | 90 | |
| 88 | −For single-family houses, four of six amenities show significant heterogeneity: highway ($\chi^2 = 31.6$), hospital (17.1), transit (13.0), and park (10.8). The omnibus test strongly rejects joint homogeneity ($\chi^2(17) = 167.14$, $p < 0.001$). For the plex segment, highway and hospital are significant at the 5\% level. For land, school and golf are significant. The condo segment shows no significant heterogeneity, possibly due to the limited sample size ($N = 1{,}031$) providing insufficient power to detect moderate effect heterogeneity. | |
| 91 | +\input{tables/effects} | |
| 89 | 92 | |
| 90 | −\subsection{Willingness to Pay} | |
| 93 | +\subsection{Residual autocorrelation after the spatial lag} | |
| 94 | +\label{sec:moran_sqr} | |
| 91 | 95 | |
| 92 | −Table~\ref{tab:wtp} translates the quantile coefficients into dollar-valued implicit prices for single-family houses. WTP is computed as $\text{WTP}_k(\tau) = P(\tau) \times [\exp(\hat{\beta}_k(\tau)) - 1]$, where $P(\tau)$ is the sample price at quantile $\tau$. | |
| 96 | +Table~\ref{tab:moran_resid} reports Moran's $I$ on the residuals of the quantile regressions and of the 2SQR second stages. For houses the QR residuals have $I$ between 0.515 and 0.524, slightly above the OLS value, and the second-stage 2SQR residuals between 0.518 and 0.545, slightly above the QR values; in the other three segments the two sets of statistics are of the same magnitude (0.53--0.61) and the 2SQR values are not systematically lower. The spatial lag therefore does not reduce measured residual autocorrelation. This is the expected outcome of the diagnostic as it was computed, not a failure of the model: the residuals of the second stage are formed with the fitted lag, which is a linear combination of the covariates and their spatial lags, so that the component of $\ln P_i$ that co-moves with the \emph{observed} neighbouring prices is still in the residual. Residual autocorrelation after a spatial lag must be assessed on the structural residuals, which use $\hat\rho(\tau)[\mathbf{W}\ln\mathbf{P}]_i$ rather than its projection; those were not computed in the original run. Until they are, the evidence on whether a first-order spatial lag is sufficient, or whether a spatial error component or finer spatial fixed effects are also needed, is simply unavailable, and we refrain from the statement that the 2SQR ``reduces but does not eliminate'' spatial dependence. | |
| 93 | 97 | |
| 94 | −\input{tables/wtp} | |
| 98 | +\input{tables/moran_resid} | |
| 95 | 99 | |
| 96 | −The school discount escalates from \$26,608 at the 10th percentile to \$156,225 at the 90th percentile, reflecting the higher absolute price levels of luxury homes even though the semi-elasticity is relatively stable across quantiles. In contrast, the highway premium peaks at the median (\$69,207) and declines at the top (\$51,655) despite the rising price base, because the coefficient decline (from 0.205 to 0.034) more than offsets the price increase. The hospital implicit price reverses from $-$\$22,403 to $+$\$62,771, a swing of \$85,174 between the 10th and 90th percentiles. | |
| 100 | +\subsection{Dollar-equivalent implicit prices} | |
| 97 | 101 | |
| 98 | −\subsection{Direct and Indirect Effects} | |
| 102 | +Table~\ref{tab:implicit_prices} scales the house coefficients by the unconditional price quantiles (\$275,000, \$400,000, \$579,000, \$894,000 and \$1,485,000), and Figure~\ref{fig:implicit} plots the corresponding profiles for all segments. Two mechanisms interact in these figures. A declining coefficient applied to a rising price base can yield a flat or hump-shaped dollar profile: the highway differential is \$62,700 at the 10th percentile, peaks at \$69,200 at the median and is \$51,700 at the 90th, and the park differential falls from \$35,600 to \$21,300. A stable coefficient applied to a rising base yields a steeply increasing dollar profile: the school discount grows from \$26,600 to \$156,200 and the garage differential from \$17,300 to \$72,000 between the tails. The hospital differential turns from $-$\$22,400 to $+$\$62,800. These are differentials in asking prices between otherwise similar listings with and without the broker's mention of the amenity; they are reported to give a sense of scale and should not be read as values of the amenity to a household. | |
| 99 | 103 | |
| 100 | −Table~\ref{tab:effects} decomposes the 2SQR coefficients into direct and indirect (spatial spillover) effects at the median for single-family houses. | |
| 104 | +\input{tables/implicit_prices} | |
| 101 | 105 | |
| 102 | −\input{tables/effects} | |
| 106 | +\begin{figure}[H] | |
| 107 | +\centering | |
| 108 | +\includegraphics[width=\textwidth]{figures/fig_implicit_prices_by_quantile.png} | |
| 109 | +\caption{Dollar-equivalent implicit prices by quantile and segment} | |
| 110 | +\label{fig:implicit} | |
| 111 | +\begin{minipage}{0.95\textwidth} | |
| 112 | +\footnotesize | |
| 113 | +\textit{Notes:} $\pi_k(\tau)$ of equation~\eqref{eq:implicit}, in thousands of Canadian dollars, using the unconditional asking-price quantile of each segment. Rebuilt from the preserved log; the figure replaces the figure of the May 2026 version, whose values could not be traced to the log. | |
| 114 | +\end{minipage} | |
| 115 | +\end{figure} | |
| 103 | 116 | |
| 104 | −Indirect effects represent approximately 29\% of total effects (proportional to $\rho$). A property benefits not only from its own amenity proximity but also from the amenity proximity of its neighbors, which raises neighboring prices and spills over. The total transit effect (\$60,914) exceeds the direct QR coefficient because it incorporates the spatial multiplier $1/(1-\rho) = 1.41$. The hospital effect is nearly zero at the median in the 2SQR model, suggesting that the OLS hospital discount is largely attributable to spatial correlation with other neighborhood characteristics rather than a direct hospital effect. | |
| 117 | +\begin{figure}[H] | |
| 118 | +\centering | |
| 119 | +\includegraphics[width=0.75\textwidth]{figures/fig_pseudo_r2.png} | |
| 120 | +\caption{Pseudo-$R^2$ of the quantile regressions by segment} | |
| 121 | +\label{fig:pseudor2} | |
| 122 | +\begin{minipage}{0.95\textwidth} | |
| 123 | +\footnotesize | |
| 124 | +\textit{Notes:} $R^1(\tau)$ of equation~\eqref{eq:pseudor2}. Rebuilt from the preserved log. | |
| 125 | +\end{minipage} | |
| 126 | +\end{figure} | |
modified
paper/sections/robustness.tex
+9 −18
@@ -1,28 +1,19 @@ | ||
| 1 | 1 | % ============================================================================ |
| 2 | −\section{Robustness Checks} | |
| 2 | +\section{Robustness and the limits of the available evidence} | |
| 3 | 3 | \label{sec:robustness} |
| 4 | 4 | % ============================================================================ |
| 5 | 5 | |
| 6 | −We conduct several robustness checks to assess the stability of our main findings. | |
| 6 | +A revision of this paper carried out in October 2026 without access to the Centris snapshot (Appendix~\ref{app:audit}) made it necessary to distinguish sharply between robustness evidence that exists in the numerical record and robustness checks that were described in the May 2026 version but for which no output survives. This section reports the former, states the latter as not executed, and ranks the checks that a re-run of the pipeline should perform first. | |
| 7 | 7 | |
| 8 | −\subsection{Sensitivity to Spatial Weights Specification} | |
| 8 | +\subsection{Evidence in the record} | |
| 9 | 9 | |
| 10 | −Table~\ref{tab:sensitivity_k} reports the spatial lag parameter $\rho$ at $\tau = 0.50$ for single-family houses under alternative KNN specifications. The results are qualitatively stable: $\rho$ ranges from 0.26 to 0.31 across $K \in \{5, 10, 15, 20\}$, and the amenity coefficient rankings are preserved. The most notable sensitivity is that the park coefficient becomes insignificant at the median when $K = 20$, reflecting the dilution of local park effects when the neighbor set is expanded. We retain $K = 10$ as our baseline, following the spatial hedonic convention \citep{pace2004spatial}. | |
| 10 | +Three internal checks are available. First, the heterogeneity results for houses do not depend on a single pair of quantiles: the ranking of the amenities by the equality statistic is the same for the $(0.10, 0.90)$, $(0.25, 0.75)$ and $(0.10, 0.50)$ pairs (Table~\ref{tab:wald_houses}), and the adjacent-pair statistics of Figure~\ref{fig:wald} locate the changes in the lower half of the distribution rather than at a single extreme quantile, which is where estimates would be most sensitive to trimming. Second, the direction of the quantile profiles is consistent with the direction of the OLS-to-2SQR attenuation: the indicators whose coefficients decline most across quantiles (highway, transit) are also those most attenuated by the spatial lag at the median (Table~\ref{tab:sqr}), which is what one expects if both phenomena reflect the clustering of lower-priced, amenity-dense listings. Third, the cross-segment comparison is itself a specification check: the transit and school differentials have the same sign in the three built segments, and the segment in which precision is lowest (condominiums) is the one in which no heterogeneity is detected, whereas the two largest samples (houses, land) produce the sharpest rejections. None of these observations substitutes for the formal checks below. | |
| 11 | 11 | |
| 12 | −\input{tables/sensitivity_k} | |
| 12 | +\subsection{Checks described in the previous version but not supported by the record} | |
| 13 | 13 | |
| 14 | −\subsection{Bootstrap Replications} | |
| 14 | +The May 2026 version reported a sensitivity analysis of $\hat\rho$ and of the amenity coefficients to the number of neighbours $k \in \{5, 10, 15, 20\}$, a comparison of bootstrap standard errors at $B = 200$ and $B = 500$, re-estimation under 1/99 and 2/98 percent trimming, a split of the house sample into Montreal and non-Montreal listings, variance inflation factors and a condition number for the house design matrix \citep{belsley1980regression, obrien2007caution}, a partial first-stage $F$ above 100 in every segment, and a statement that the scalar effect decomposition was within 3 percent of the trace-based LeSage--Pace effects on a subsample. None of these outputs is in the preserved log, the figures reported for them could not be reconciled with the log, and the current version of the estimation script computes only the variance inflation factors, the condition number and the overall first-stage $F$. We therefore withdraw these claims. They are listed in Appendix~\ref{app:audit} as analyses to be executed, and the paper's conclusions are stated so as not to depend on them. | |
| 15 | 15 | |
| 16 | −We compare standard errors obtained with $B = 200$ and $B = 500$ bootstrap replications for the house segment. The maximum relative difference in bootstrap standard errors is 8\%, and no amenity variable changes significance status. This confirms that $B = 200$ provides adequate precision for our inference \citep{efron1994introduction}. | |
| 16 | +\subsection{What a re-run should establish first} | |
| 17 | +\label{sec:limitations} | |
| 17 | 18 | |
| 18 | −\subsection{Alternative Trimming Thresholds} | |
| 19 | − | |
| 20 | −We re-estimate the house model using 1\%/99\% and 2\%/98\% trimming (instead of our baseline 0.5\%/99.5\%). The amenity coefficient trajectories across quantiles are preserved, though the extreme quantile estimates ($\tau = 0.10$ and $\tau = 0.90$) show more sensitivity to trimming, as expected. The hospital sign reversal and highway declining gradient are robust to all trimming specifications. | |
| 21 | − | |
| 22 | −\subsection{Subsample Stability} | |
| 23 | − | |
| 24 | −We split the house sample geographically into Montreal metro ($N = 1{,}180$) and non-Montreal ($N = 5{,}070$) subsamples. The key findings---declining highway gradient, hospital sign reversal, and declining transit premium---are qualitatively present in both subsamples, though the non-Montreal sample shows larger highway and transit coefficients (reflecting greater accessibility dependence in regional markets) and stronger spatial autocorrelation (Moran's $I = 0.55$ vs.\ 0.42). | |
| 25 | − | |
| 26 | −\subsection{Listing Price vs.\ Transaction Price Concern} | |
| 27 | − | |
| 28 | −While we cannot directly assess the bias from using listing prices, we note three mitigating factors. First, the hedonic coefficients are identified from cross-sectional variation in amenity access conditional on all other attributes; unless the listing premium varies systematically with amenity proximity (conditional on price level, location, and structural characteristics), the coefficients are unbiased. Second, the spatial lag partially absorbs any neighborhood-level variation in listing strategy. Third, our quantile regression approach is more robust to distributional misspecification than OLS \citep{koenker2005quantile}, which is relevant if the listing-to-sale ratio varies across the price distribution. | |
| 19 | +The checks below are ordered by their bearing on the conclusions. The first concerns inference. The paired bootstrap ignores spatial dependence that is, by the paper's own diagnostics, strong; a cluster bootstrap by municipality or by spatial block \citep{cameron2008bootstrap, parente2016quantile, hagemann2017cluster} would widen the confidence bands, and the equality tests of Table~\ref{tab:wald} should be recomputed with the bootstrap covariance between quantiles, which can only make them less conservative, and with the full stacked covariance matrix to obtain a valid joint test \citep{koenker2002inference}. The second concerns the 2SQR itself: the second stage should be bootstrapped jointly with the first to obtain standard errors for $\hat\rho(\tau)$ and for the spatially adjusted amenity coefficients, the partial $F$ on $\mathbf{WZ}$ should be reported, the structural residuals should be used for Moran's $I$, and the quantile-based first stage of \citet{kim2004quantile} or the inverse quantile regression of \citet{chernozhukov2006quantile} and \citet{su2011instrumental} should be compared with the least-squares first stage. The third concerns the spatial weights: $k$, projected rather than geographic coordinates, a positive distance floor for co-located listings and a distance-band alternative. The fourth concerns the specification: the scaling of the distance variable (Section~\ref{sec:results}), the replacement of a single province-wide distance gradient by municipality fixed effects (for which the location-scale quantile estimator of \citet{machado2019quantiles} handles many fixed effects at low cost), and the sensitivity of the tails to the 0.5 percent trimming. The fifth concerns the data: the broker's amenity classification should be validated against geocoded distances to actual facilities for a subsample, and the asking-price results replicated on transaction prices from the Quebec land register (\emph{Registre foncier}). Until at least the first two groups of checks have been run, the heterogeneity results should be regarded as suggestive rather than established, and the spatial-lag estimates as descriptive. | |
deleted
paper/tables/amenity_corr.tex
+0 −17
@@ -1,17 +0,0 @@ | ||
| 1 | −\begin{table}[H] | |
| 2 | −\centering | |
| 3 | −\caption{Pairwise Correlations Among Amenity Indicators --- Houses} | |
| 4 | −\label{tab:amenity_corr} | |
| 5 | −\begin{tabular}{lcccccc} | |
| 6 | −\toprule | |
| 7 | −& Highway & Hospital & Park & School & Transit & Golf \\ | |
| 8 | −\midrule | |
| 9 | −Highway & 1.00 & & & & & \\ | |
| 10 | −Hospital & 0.21 & 1.00 & & & & \\ | |
| 11 | −Park & 0.18 & 0.25 & 1.00 & & & \\ | |
| 12 | −School & 0.22 & 0.28 & 0.38 & 1.00 & & \\ | |
| 13 | −Transit & 0.31 & 0.33 & 0.29 & 0.35 & 1.00 & \\ | |
| 14 | −Golf & 0.12 & 0.08 & 0.15 & 0.14 & 0.06 & 1.00 \\ | |
| 15 | −\bottomrule | |
| 16 | −\end{tabular} | |
| 17 | −\end{table} | |
added
paper/tables/descriptive.tex
+40 −0
@@ -0,0 +1,40 @@ | ||
| 1 | +\begin{table}[H] | |
| 2 | +\centering | |
| 3 | +\caption{Amenity prevalence, regional composition and median asking prices of the estimation samples} | |
| 4 | +\label{tab:descriptive} | |
| 5 | +\begin{threeparttable} | |
| 6 | +\begin{tabular}{lrrrr} | |
| 7 | +\toprule | |
| 8 | +& Houses & Condominiums & Multiplexes & Vacant land \\ | |
| 9 | +\midrule | |
| 10 | +\multicolumn{5}{l}{\textit{Amenity indicators (share of listings, \%)}} \\ | |
| 11 | +\quad Highway & 48.5 & 72.5 & 54.5 & 24.3 \\ | |
| 12 | +\quad Hospital & 30.5 & 51.5 & 45.2 & 13.6 \\ | |
| 13 | +\quad Park & 60.3 & 81.2 & 66.9 & 30.5 \\ | |
| 14 | +\quad School & 69.2 & 82.9 & 73.3 & 34.2 \\ | |
| 15 | +\quad Transit & 34.8 & 73.5 & 54.4 & 8.3 \\ | |
| 16 | +\quad Golf course & 39.7 & 40.0 & 24.5 & 26.6 \\ | |
| 17 | +\quad Garage & 56.9 & 37.1 & 31.6 & --- \\ | |
| 18 | +\midrule | |
| 19 | +\multicolumn{5}{l}{\textit{Regional composition (share of listings, \%)}} \\ | |
| 20 | +\quad Montreal area & 18.9 & 25.9 & 47.5 & 8.6 \\ | |
| 21 | +\quad Qu\'ebec City area & 3.8 & 3.0 & 4.8 & 1.8 \\ | |
| 22 | +\quad Gatineau & 7.3 & 1.5 & 3.4 & 0.7 \\ | |
| 23 | +\quad Other regions & 70.0 & 69.6 & 44.3 & 88.9 \\ | |
| 24 | +\midrule | |
| 25 | +\multicolumn{5}{l}{\textit{Median asking price by region (\$)}} \\ | |
| 26 | +\quad Montreal area & 868,942 & 582,000 & 1,049,000 & 499,000 \\ | |
| 27 | +\quad Qu\'ebec City area & 536,384 & 450,000 & 649,000 & 327,000 \\ | |
| 28 | +\quad Gatineau & 534,856 & 319,000 & 659,000 & 314,900 \\ | |
| 29 | +\quad Other regions & 520,000 & 375,000 & 525,000 & 147,900 \\ | |
| 30 | +\quad All listings & 579,000 & 425,000 & 799,000 & 150,000 \\ | |
| 31 | +\midrule | |
| 32 | +Estimation sample ($N$) & 6,250 & 1,031 & 3,755 & 9,239 \\ | |
| 33 | +\bottomrule | |
| 34 | +\end{tabular} | |
| 35 | +\begin{tablenotes} | |
| 36 | +\small | |
| 37 | +\item \textit{Notes:} Amenity indicators equal one when the corresponding keyword appears in the Centris ``amenities nearby'' field; the garage indicator is built from the parking-type field and is not defined for vacant land. Regional shares are computed from the listing counts recorded in the log (e.g.\ 1,180 Montreal-area houses). Moments of the structural variables (bedrooms, bathrooms, areas) were not written to the preserved log and are therefore not reported; see Section~\ref{sec:data}. All entries are parsed from \texttt{results/sqr\_multi\_segment\_output.txt}, the preserved log of the original run of \texttt{scripts/05\_sqr\_multi\_segment.py}, by \texttt{scripts/06\_tables\_figures\_from\_log.py}. | |
| 38 | +\end{tablenotes} | |
| 39 | +\end{threeparttable} | |
| 40 | +\end{table} | |
deleted
paper/tables/descriptive_houses.tex
+0 −35
@@ -1,35 +0,0 @@ | ||
| 1 | −\begin{table}[H] | |
| 2 | −\centering | |
| 3 | −\caption{Descriptive Statistics --- Single-Family Houses ($N = 6{,}250$)} | |
| 4 | −\label{tab:descriptive} | |
| 5 | −\begin{tabular}{lrrrrrr} | |
| 6 | −\toprule | |
| 7 | −Variable & N & Mean & Std.\ Dev. & Min & Median & Max \\ | |
| 8 | −\midrule | |
| 9 | −Price (\$) & 6,250 & 774,646 & 652,454 & 99,000 & 579,000 & 5,295,000 \\ | |
| 10 | −Bedrooms & 6,250 & 3.5 & 1.3 & 1 & 3 & 17 \\ | |
| 11 | −Bathrooms & 6,250 & 2.0 & 0.9 & 0 & 2.0 & 9.5 \\ | |
| 12 | −Stories & 6,250 & 1.6 & 0.5 & 1 & 2 & 2 \\ | |
| 13 | −Floor area (sq.ft.) & 6,250 & 1,825 & 1,006 & 424 & 1,539 & 7,600 \\ | |
| 14 | −Land area (sq.ft.) & 6,250 & 93,346 & 413,703 & 4 & 11,249 & 3,367,699 \\ | |
| 15 | −Parking spaces & 6,250 & 5.4 & 5.1 & 0 & 4 & 152 \\ | |
| 16 | −\midrule | |
| 17 | −\multicolumn{7}{l}{\textit{Amenity indicators (\% of sample)}} \\ | |
| 18 | −\midrule | |
| 19 | −Near highway & \multicolumn{6}{r}{48.5\%} \\ | |
| 20 | −Near hospital & \multicolumn{6}{r}{30.5\%} \\ | |
| 21 | −Near park & \multicolumn{6}{r}{60.3\%} \\ | |
| 22 | −Near school & \multicolumn{6}{r}{69.2\%} \\ | |
| 23 | −Near transit & \multicolumn{6}{r}{34.8\%} \\ | |
| 24 | −Near golf course & \multicolumn{6}{r}{39.7\%} \\ | |
| 25 | −Has garage & \multicolumn{6}{r}{56.9\%} \\ | |
| 26 | −\midrule | |
| 27 | −\multicolumn{7}{l}{\textit{Regional distribution}} \\ | |
| 28 | −\midrule | |
| 29 | −Montreal metro & \multicolumn{3}{r}{1,180 (18.9\%)} & \multicolumn{3}{r}{med.\ \$868,942} \\ | |
| 30 | −Qu\'ebec City & \multicolumn{3}{r}{239 (3.8\%)} & \multicolumn{3}{r}{med.\ \$536,384} \\ | |
| 31 | −Gatineau & \multicolumn{3}{r}{454 (7.3\%)} & \multicolumn{3}{r}{med.\ \$534,856} \\ | |
| 32 | −Other regions & \multicolumn{3}{r}{4,377 (70.0\%)} & \multicolumn{3}{r}{med.\ \$520,000} \\ | |
| 33 | −\bottomrule | |
| 34 | −\end{tabular} | |
| 35 | −\end{table} | |
deleted
paper/tables/descriptive_other.tex
+0 −42
@@ -1,42 +0,0 @@ | ||
| 1 | −\begin{table}[H] | |
| 2 | −\centering | |
| 3 | −\caption{Descriptive Statistics --- Other Segments} | |
| 4 | −\label{tab:descriptive_other} | |
| 5 | −\begin{threeparttable} | |
| 6 | −\begin{tabular}{lrrr} | |
| 7 | −\toprule | |
| 8 | −& Condos ($N=1{,}031$) & Plex ($N=3{,}755$) & Land ($N=9{,}239$) \\ | |
| 9 | −\midrule | |
| 10 | −\multicolumn{4}{l}{\textit{Price distribution (CAD)}} \\ | |
| 11 | −\quad Mean & 491,000 & 935,000 & 243,000 \\ | |
| 12 | −\quad Median & 425,000 & 799,000 & 150,000 \\ | |
| 13 | −\quad Std.\ Dev. & 340,000 & 720,000 & 365,000 \\ | |
| 14 | −\midrule | |
| 15 | −\multicolumn{4}{l}{\textit{Key structural variables}} \\ | |
| 16 | −\quad Bedrooms (mean) & 2.1 & 5.8 & --- \\ | |
| 17 | −\quad Bathrooms (mean) & 1.3 & 2.8 & --- \\ | |
| 18 | −\quad Floor area, sq.ft.\ (med.) & 1,050 & --- & --- \\ | |
| 19 | −\quad Land area, sq.ft.\ (med.) & --- & 4,200 & 22,500 \\ | |
| 20 | −\quad Units (mean) & --- & 3.1 & --- \\ | |
| 21 | −\midrule | |
| 22 | −\multicolumn{4}{l}{\textit{Amenity prevalence (\%)}} \\ | |
| 23 | −\quad Highway & 52.1 & 55.3 & 38.2 \\ | |
| 24 | −\quad Hospital & 35.2 & 38.1 & 18.5 \\ | |
| 25 | −\quad Park & 72.8 & 68.5 & 42.1 \\ | |
| 26 | −\quad School & 65.4 & 72.0 & 51.3 \\ | |
| 27 | −\quad Transit & 58.6 & 52.4 & 15.8 \\ | |
| 28 | −\quad Golf & 18.3 & 22.1 & 35.5 \\ | |
| 29 | −\midrule | |
| 30 | −\multicolumn{4}{l}{\textit{Regional composition (\%)}} \\ | |
| 31 | −\quad Montreal & 62.4 & 51.2 & 12.8 \\ | |
| 32 | −\quad Qu\'ebec City & 8.1 & 9.3 & 5.2 \\ | |
| 33 | −\quad Gatineau & 5.3 & 6.8 & 3.1 \\ | |
| 34 | −\quad Regions & 24.2 & 32.7 & 78.9 \\ | |
| 35 | −\bottomrule | |
| 36 | −\end{tabular} | |
| 37 | −\begin{tablenotes} | |
| 38 | −\small | |
| 39 | −\item \textit{Note:} Dashes indicate variables not included in the segment's specification. | |
| 40 | −\end{tablenotes} | |
| 41 | −\end{threeparttable} | |
| 42 | −\end{table} | |
modified
paper/tables/effects.tex
+44 −11
@@ -1,19 +1,52 @@ | ||
| 1 | 1 | \begin{table}[H] |
| 2 | 2 | \centering |
| 3 | −\caption{Approximate Direct and Indirect Effects --- Houses, 2SQR ($\tau = 0.50$, $\rho = 0.227$)} | |
| 3 | +\caption{Scalar approximation of direct, indirect and total amenity effects in the median 2SQR} | |
| 4 | 4 | \label{tab:effects} |
| 5 | −\begin{tabular}{lcccc} | |
| 5 | +\begin{threeparttable} | |
| 6 | +\small | |
| 7 | +\begin{tabular}{lcccr} | |
| 6 | 8 | \toprule |
| 7 | −Amenity & $\beta$ & Direct$^\dagger$ & Indirect$^\dagger$ & Total (\$) \\ | |
| 9 | +Amenity indicator & Direct $\approx \hat\beta_k$ & Indirect $\approx \hat\rho\hat\beta_k/(1-\hat\rho)$ & Total $\approx \hat\beta_k/(1-\hat\rho)$ & Total, \$ at median \\ | |
| 8 | 10 | \midrule |
| 9 | −Highway & 0.029 & 0.037 & 0.008 & $+$21,924 \\ | |
| 10 | −Hospital & $-$0.004 & $-$0.005 & $-$0.001 & $-$2,686 \\ | |
| 11 | −Park & 0.019 & 0.025 & 0.006 & $+$14,517 \\ | |
| 12 | −School & $-$0.056 & $-$0.072 & $-$0.016 & $-$40,160 \\ | |
| 13 | −Transit & 0.030 & 0.039 & 0.009 & $+$23,249 \\ | |
| 14 | −Golf & 0.020 & 0.026 & 0.006 & $+$15,252 \\ | |
| 15 | −Garage & 0.082 & 0.106 & 0.024 & $+$64,846 \\ | |
| 11 | +\multicolumn{5}{l}{\textit{Single-family houses} ($\hat\rho(0.50) = 0.291$, $1/(1-\hat\rho) = 1.410$, median price \$579,000)} \\ | |
| 12 | +\quad Highway & 0.057 & 0.024 & 0.081 & $+$48,767 \\ | |
| 13 | +\quad Hospital & $-$0.006 & $-$0.002 & $-$0.008 & $-$4,635 \\ | |
| 14 | +\quad Park & 0.042 & 0.017 & 0.060 & $+$35,626 \\ | |
| 15 | +\quad School & $-$0.072 & $-$0.029 & $-$0.101 & $-$55,569 \\ | |
| 16 | +\quad Transit & 0.071 & 0.029 & 0.100 & $+$60,914 \\ | |
| 17 | +\quad Golf course & 0.023 & 0.010 & 0.033 & $+$19,356 \\ | |
| 18 | +\quad Garage & 0.091 & 0.037 & 0.129 & $+$79,543 \\ | |
| 19 | +\midrule | |
| 20 | +\multicolumn{5}{l}{\textit{Condominiums} ($\hat\rho(0.50) = 0.203$, $1/(1-\hat\rho) = 1.254$, median price \$425,000)} \\ | |
| 21 | +\quad Highway & $-$0.002 & $-$0.001 & $-$0.003 & $-$1,251 \\ | |
| 22 | +\quad Hospital & 0.024 & 0.006 & 0.029 & $+$12,726 \\ | |
| 23 | +\quad Park & 0.005 & 0.001 & 0.006 & $+$2,620 \\ | |
| 24 | +\quad School & $-$0.017 & $-$0.004 & $-$0.021 & $-$8,898 \\ | |
| 25 | +\quad Transit & 0.024 & 0.006 & 0.030 & $+$13,121 \\ | |
| 26 | +\quad Golf course & $-$0.041 & $-$0.010 & $-$0.051 & $-$21,205 \\ | |
| 27 | +\quad Garage & 0.130 & 0.033 & 0.163 & $+$75,116 \\ | |
| 28 | +\midrule | |
| 29 | +\multicolumn{5}{l}{\textit{Multiplexes} ($\hat\rho(0.50) = 0.131$, $1/(1-\hat\rho) = 1.151$, median price \$799,000)} \\ | |
| 30 | +\quad Highway & 0.043 & 0.006 & 0.049 & $+$40,228 \\ | |
| 31 | +\quad Hospital & 0.024 & 0.004 & 0.028 & $+$22,517 \\ | |
| 32 | +\quad Park & 0.029 & 0.004 & 0.033 & $+$26,804 \\ | |
| 33 | +\quad School & $-$0.129 & $-$0.019 & $-$0.148 & $-$110,219 \\ | |
| 34 | +\quad Transit & 0.098 & 0.015 & 0.113 & $+$95,646 \\ | |
| 35 | +\quad Golf course & $-$0.023 & $-$0.004 & $-$0.027 & $-$21,111 \\ | |
| 36 | +\quad Garage & 0.030 & 0.004 & 0.035 & $+$28,140 \\ | |
| 37 | +\midrule | |
| 38 | +\multicolumn{5}{l}{\textit{Vacant land} ($\hat\rho(0.50) = 0.322$, $1/(1-\hat\rho) = 1.475$, median price \$150,000)} \\ | |
| 39 | +\quad Highway & 0.324 & 0.154 & 0.477 & $+$91,709 \\ | |
| 40 | +\quad Hospital & $-$0.011 & $-$0.005 & $-$0.016 & $-$2,441 \\ | |
| 41 | +\quad Park & 0.066 & 0.031 & 0.097 & $+$15,322 \\ | |
| 42 | +\quad School & $-$0.018 & $-$0.009 & $-$0.027 & $-$4,003 \\ | |
| 43 | +\quad Transit & 0.349 & 0.166 & 0.515 & $+$101,101 \\ | |
| 44 | +\quad Golf course & 0.045 & 0.021 & 0.067 & $+$10,331 \\ | |
| 16 | 45 | \bottomrule |
| 17 | −\multicolumn{5}{l}{\footnotesize $^\dagger$ Scalar approximations; see Section~\ref{sec:methodology} for discussion.} \\ | |
| 18 | 46 | \end{tabular} |
| 47 | +\begin{tablenotes} | |
| 48 | +\small | |
| 49 | +\item \textit{Notes:} Scalar approximations of equation~\eqref{eq:effects} evaluated at $\tau = 0.50$; the dollar column is $\tilde P_{0.50}\,[\exp(\text{Total}) - 1]$ with $\tilde P_{0.50}$ the median asking price of the segment. The log labels $\hat\beta_k/(1-\hat\rho)$ ``direct''; it is the total effect of the scalar approximation, and the columns are relabelled accordingly (direct $+$ indirect $=$ total). No standard errors are available (Section~\ref{sec:limitations}). All entries are parsed from \texttt{results/sqr\_multi\_segment\_output.txt}, the preserved log of the original run of \texttt{scripts/05\_sqr\_multi\_segment.py}, by \texttt{scripts/06\_tables\_figures\_from\_log.py}. | |
| 50 | +\end{tablenotes} | |
| 51 | +\end{threeparttable} | |
| 19 | 52 | \end{table} |
deleted
paper/tables/first_stage.tex
+0 −15
@@ -1,15 +0,0 @@ | ||
| 1 | −\begin{table}[H] | |
| 2 | −\centering | |
| 3 | −\caption{First-Stage Regression Diagnostics for 2SQR} | |
| 4 | −\label{tab:first_stage} | |
| 5 | −\begin{tabular}{lcccl} | |
| 6 | −\toprule | |
| 7 | −Segment & $R^2$ & $F$-stat & $p$-value & Instrument Assessment \\ | |
| 8 | −\midrule | |
| 9 | −Houses & 0.748 & 542.1 & $< 0.001$ & Strong \\ | |
| 10 | −Condos & 0.681 & 122.6 & $< 0.001$ & Strong \\ | |
| 11 | −Plex & 0.647 & 321.5 & $< 0.001$ & Strong \\ | |
| 12 | −Land & 0.612 & 193.6 & $< 0.001$ & Strong \\ | |
| 13 | −\bottomrule | |
| 14 | −\end{tabular} | |
| 15 | −\end{table} | |
added
paper/tables/implicit_prices.tex
+25 −0
@@ -0,0 +1,25 @@ | ||
| 1 | +\begin{table}[H] | |
| 2 | +\centering | |
| 3 | +\caption{Dollar-equivalent implicit prices of amenity indicators by quantile --- single-family houses (CAD)} | |
| 4 | +\label{tab:implicit_prices} | |
| 5 | +\begin{threeparttable} | |
| 6 | +\begin{tabular}{lrrrrr} | |
| 7 | +\toprule | |
| 8 | +& $\tau = 0.10$ & $\tau = 0.25$ & $\tau = 0.50$ & $\tau = 0.75$ & $\tau = 0.90$ \\ | |
| 9 | +Amenity indicator & (\$275K) & (\$400K) & (\$579K) & (\$894K) & (\$1,485K) \\ | |
| 10 | +\midrule | |
| 11 | +Highway & $+$62,663$^{***}$ & $+$67,602$^{***}$ & $+$69,207$^{***}$ & $+$66,200$^{***}$ & $+$51,655 \\ | |
| 12 | +Hospital & $-$22,403$^{***}$ & $-$23,779$^{***}$ & $-$15,372$^{**}$ & $+$869 & $+$62,776$^{*}$ \\ | |
| 13 | +Park & $+$35,648$^{***}$ & $+$29,106$^{***}$ & $+$22,701$^{**}$ & $+$13,965 & $+$21,292 \\ | |
| 14 | +School & $-$26,608$^{***}$ & $-$50,987$^{***}$ & $-$60,312$^{***}$ & $-$93,116$^{***}$ & $-$156,222$^{***}$ \\ | |
| 15 | +Transit & $+$53,567$^{***}$ & $+$70,340$^{***}$ & $+$57,284$^{***}$ & $+$68,853$^{***}$ & $+$80,970$^{**}$ \\ | |
| 16 | +Golf course & $+$11,521 & $+$25,979$^{***}$ & $+$22,469$^{***}$ & $+$32,767$^{***}$ & $+$22,679 \\ | |
| 17 | +Garage & $+$17,329$^{***}$ & $+$42,221$^{***}$ & $+$58,542$^{***}$ & $+$76,791$^{***}$ & $+$71,954$^{**}$ \\ | |
| 18 | +\bottomrule | |
| 19 | +\end{tabular} | |
| 20 | +\begin{tablenotes} | |
| 21 | +\small | |
| 22 | +\item \textit{Notes:} Entries are $\pi_k(\tau) = P(\tau)\,[\exp(\hat\beta_k(\tau)) - 1]$ (equation~\eqref{eq:implicit}), where $P(\tau)$ is the unconditional sample quantile of the asking price (in parentheses in the header, rounded to the nearest thousand). These are capitalisation differentials in asking prices, not welfare measures (Section~\ref{sec:identification}). Stars carry over the significance of the underlying coefficient in Table~\ref{tab:qr_houses}. All entries are parsed from \texttt{results/sqr\_multi\_segment\_output.txt}, the preserved log of the original run of \texttt{scripts/05\_sqr\_multi\_segment.py}, by \texttt{scripts/06\_tables\_figures\_from\_log.py}. | |
| 23 | +\end{tablenotes} | |
| 24 | +\end{threeparttable} | |
| 25 | +\end{table} | |
modified
paper/tables/moran.tex
+13 −7
@@ -1,15 +1,21 @@ | ||
| 1 | 1 | \begin{table}[H] |
| 2 | 2 | \centering |
| 3 | −\caption{Moran's $I$ Test for Spatial Autocorrelation (OLS Residuals)} | |
| 3 | +\caption{OLS fit and Moran's $I$ test on OLS residuals, by segment} | |
| 4 | 4 | \label{tab:moran} |
| 5 | −\begin{tabular}{lcccc} | |
| 5 | +\begin{threeparttable} | |
| 6 | +\begin{tabular}{lrcccc} | |
| 6 | 7 | \toprule |
| 7 | −Segment & Moran's $I$ & $Z$-score & $p$-value & $N$ \\ | |
| 8 | +Segment & $N$ & Adjusted $R^2$ & Moran's $I$ & $z$-statistic & $p$-value \\ | |
| 8 | 9 | \midrule |
| 9 | −Houses & 0.441 & 45.2 & $< 0.001$ & 6,250 \\ | |
| 10 | −Condos & 0.486 & 19.5 & $< 0.001$ & 1,031 \\ | |
| 11 | −Plex & 0.449 & 36.0 & $< 0.001$ & 3,755 \\ | |
| 12 | −Land & 0.546 & 65.4 & $< 0.001$ & 9,239 \\ | |
| 10 | +Single-family houses & 6,250 & 0.619 & 0.506 & 51.9 & $<0.001$ \\ | |
| 11 | +Condominiums & 1,031 & 0.669 & 0.551 & 22.0 & $<0.001$ \\ | |
| 12 | +Multiplexes & 3,755 & 0.576 & 0.528 & 40.2 & $<0.001$ \\ | |
| 13 | +Vacant land & 9,239 & 0.154 & 0.580 & 67.2 & $<0.001$ \\ | |
| 13 | 14 | \bottomrule |
| 14 | 15 | \end{tabular} |
| 16 | +\begin{tablenotes} | |
| 17 | +\small | |
| 18 | +\item \textit{Notes:} OLS estimates of equation~\eqref{eq:hedonic} with HC3 standard errors. Moran's $I$ uses the row-standardised inverse-distance $k$-nearest-neighbour matrix ($k = 10$) of equation~\eqref{eq:W}; the $z$-statistic uses the randomisation (kurtosis-adjusted) variance of \citet{cliff1981spatial}; $p$-values are two-sided normal. All entries are parsed from \texttt{results/sqr\_multi\_segment\_output.txt}, the preserved log of the original run of \texttt{scripts/05\_sqr\_multi\_segment.py}, by \texttt{scripts/06\_tables\_figures\_from\_log.py}. | |
| 19 | +\end{tablenotes} | |
| 20 | +\end{threeparttable} | |
| 15 | 21 | \end{table} |
added
paper/tables/moran_resid.tex
+24 −0
@@ -0,0 +1,24 @@ | ||
| 1 | +\begin{table}[H] | |
| 2 | +\centering | |
| 3 | +\caption{Moran's $I$ on residuals: OLS, quantile regression and 2SQR second stage, by quantile and segment} | |
| 4 | +\label{tab:moran_resid} | |
| 5 | +\begin{threeparttable} | |
| 6 | +\small | |
| 7 | +\begin{tabular}{lcccccccccccc} | |
| 8 | +\toprule | |
| 9 | +& OLS & \multicolumn{5}{c}{QR residuals, $\tau$} & \multicolumn{5}{c}{2SQR second-stage residuals, $\tau$} \\ | |
| 10 | +\cmidrule(lr){3-7} \cmidrule(lr){8-12} | |
| 11 | +Segment & & 0.10 & 0.25 & 0.50 & 0.75 & 0.90 & 0.10 & 0.25 & 0.50 & 0.75 & 0.90 \\ | |
| 12 | +\midrule | |
| 13 | +Single-family houses & 0.506 & 0.514 & 0.515 & 0.524 & 0.519 & 0.515 & 0.518 & 0.519 & 0.536 & 0.543 & 0.545 \\ | |
| 14 | +Condominiums & 0.551 & 0.574 & 0.561 & 0.552 & 0.529 & 0.555 & 0.554 & 0.541 & 0.555 & 0.534 & 0.552 \\ | |
| 15 | +Multiplexes & 0.528 & 0.559 & 0.533 & 0.516 & 0.524 & 0.516 & 0.562 & 0.536 & 0.522 & 0.539 & 0.542 \\ | |
| 16 | +Vacant land & 0.580 & 0.597 & 0.585 & 0.585 & 0.585 & 0.589 & 0.607 & 0.599 & 0.595 & 0.594 & 0.588 \\ | |
| 17 | +\bottomrule | |
| 18 | +\end{tabular} | |
| 19 | +\begin{tablenotes} | |
| 20 | +\small | |
| 21 | +\item \textit{Notes:} All statistics are significant at any conventional level ($z$-statistics between 21 and 70). The 2SQR residuals are those of the second stage, $\ln P_i - \hat\alpha(\tau) - \mathbf{X}_i'\hat{\boldsymbol\beta}(\tau) - \hat\rho(\tau)\widehat{[\mathbf{W}\ln\mathbf{P}]}_i$, computed with the \emph{fitted} spatial lag; because the fitted lag is a linear combination of $\mathbf{X}$ and $\mathbf{WX}$, these residuals cannot be expected to display less spatial autocorrelation than the QR residuals (Section~\ref{sec:moran_sqr}). Structural residuals using the observed lag were not computed in the original run. All entries are parsed from \texttt{results/sqr\_multi\_segment\_output.txt}, the preserved log of the original run of \texttt{scripts/05\_sqr\_multi\_segment.py}, by \texttt{scripts/06\_tables\_figures\_from\_log.py}. | |
| 22 | +\end{tablenotes} | |
| 23 | +\end{threeparttable} | |
| 24 | +\end{table} | |
deleted
paper/tables/moran_sqr.tex
+0 −15
@@ -1,15 +0,0 @@ | ||
| 1 | −\begin{table}[H] | |
| 2 | −\centering | |
| 3 | −\caption{Moran's $I$ on Residuals --- Houses} | |
| 4 | −\label{tab:moran_sqr} | |
| 5 | −\begin{tabular}{lccc} | |
| 6 | −\toprule | |
| 7 | −Model & $\tau=0.10$ & $\tau=0.50$ & $\tau=0.90$ \\ | |
| 8 | −\midrule | |
| 9 | −QR & 0.498 & 0.485 & 0.472 \\ | |
| 10 | −2SQR & 0.402 & 0.375 & 0.358 \\ | |
| 11 | −\midrule | |
| 12 | −OLS & \multicolumn{3}{c}{0.506} \\ | |
| 13 | −\bottomrule | |
| 14 | −\end{tabular} | |
| 15 | −\end{table} | |
added
paper/tables/pseudo_r2.tex
+23 −0
@@ -0,0 +1,23 @@ | ||
| 1 | +\begin{table}[H] | |
| 2 | +\centering | |
| 3 | +\caption{Pseudo-$R^2$ of the quantile regressions and adjusted $R^2$ of OLS, by segment} | |
| 4 | +\label{tab:pseudo_r2} | |
| 5 | +\begin{threeparttable} | |
| 6 | +\begin{tabular}{lcccccc} | |
| 7 | +\toprule | |
| 8 | +& \multicolumn{5}{c}{Quantile regression, $\tau$} & OLS \\ | |
| 9 | +\cmidrule(lr){2-6} | |
| 10 | +Segment & 0.10 & 0.25 & 0.50 & 0.75 & 0.90 & adj.\ $R^2$ \\ | |
| 11 | +\midrule | |
| 12 | +Single-family houses & 0.355 & 0.364 & 0.400 & 0.436 & 0.444 & 0.619 \\ | |
| 13 | +Condominiums & 0.377 & 0.414 & 0.449 & 0.468 & 0.456 & 0.669 \\ | |
| 14 | +Multiplexes & 0.417 & 0.420 & 0.383 & 0.357 & 0.341 & 0.576 \\ | |
| 15 | +Vacant land & 0.086 & 0.107 & 0.112 & 0.115 & 0.084 & 0.154 \\ | |
| 16 | +\bottomrule | |
| 17 | +\end{tabular} | |
| 18 | +\begin{tablenotes} | |
| 19 | +\small | |
| 20 | +\item \textit{Notes:} Pseudo-$R^2$ of \citet{koenker1999goodness}, equation~\eqref{eq:pseudor2}; it is not comparable to the OLS $R^2$ and only loosely comparable across quantiles. All entries are parsed from \texttt{results/sqr\_multi\_segment\_output.txt}, the preserved log of the original run of \texttt{scripts/05\_sqr\_multi\_segment.py}, by \texttt{scripts/06\_tables\_figures\_from\_log.py}. | |
| 21 | +\end{tablenotes} | |
| 22 | +\end{threeparttable} | |
| 23 | +\end{table} | |
added
paper/tables/qr_condos.tex
+37 −0
@@ -0,0 +1,37 @@ | ||
| 1 | +\begin{table}[H] | |
| 2 | +\centering | |
| 3 | +\caption{Amenity coefficients by quantile --- condominiums} | |
| 4 | +\label{tab:qr_condos} | |
| 5 | +\begin{threeparttable} | |
| 6 | +\small | |
| 7 | +\begin{tabular}{lcccccc} | |
| 8 | +\toprule | |
| 9 | +& \multicolumn{5}{c}{Quantile regression, $\tau$} & OLS \\ | |
| 10 | +\cmidrule(lr){2-6} | |
| 11 | +Amenity indicator & 0.10 & 0.25 & 0.50 & 0.75 & 0.90 & \\ | |
| 12 | +\midrule | |
| 13 | +Highway & 0.001 & $-$0.009 & $-$0.003 & $-$0.026 & $-$0.074 & $-$0.023 \\ | |
| 14 | + & (0.034) & (0.025) & (0.029) & (0.035) & (0.055) & \\[2pt] | |
| 15 | +Hospital & $-$0.001 & 0.001 & 0.018 & 0.025 & $-$0.008 & 0.008 \\ | |
| 16 | + & (0.028) & (0.021) & (0.024) & (0.026) & (0.047) & \\[2pt] | |
| 17 | +Park & 0.034 & 0.036 & $-$0.001 & 0.015 & 0.067 & 0.027 \\ | |
| 18 | + & (0.040) & (0.032) & (0.029) & (0.043) & (0.060) & \\[2pt] | |
| 19 | +School & 0.029 & $-$0.010 & $-$0.031 & $-$0.051 & 0.026 & $-$0.030 \\ | |
| 20 | + & (0.039) & (0.035) & (0.040) & (0.051) & (0.062) & \\[2pt] | |
| 21 | +Transit & 0.030 & 0.025 & 0.030 & 0.032 & 0.078 & 0.064$^{**}$ \\ | |
| 22 | + & (0.038) & (0.030) & (0.029) & (0.037) & (0.062) & \\[2pt] | |
| 23 | +Golf course & $-$0.060$^{**}$ & $-$0.059$^{***}$ & $-$0.048$^{**}$ & $-$0.092$^{***}$ & $-$0.084 & $-$0.078$^{***}$ \\ | |
| 24 | + & (0.023) & (0.020) & (0.022) & (0.028) & (0.051) & \\[2pt] | |
| 25 | +Garage & 0.105$^{***}$ & 0.159$^{***}$ & 0.164$^{***}$ & 0.116$^{***}$ & 0.122$^{***}$ & 0.134$^{***}$ \\ | |
| 26 | + & (0.038) & (0.030) & (0.027) & (0.026) & (0.039) & \\[2pt] | |
| 27 | +\midrule | |
| 28 | +Pseudo-$R^2$ / adj.\ $R^2$ & 0.377 & 0.414 & 0.449 & 0.468 & 0.456 & 0.669 \\ | |
| 29 | +$N$ & \multicolumn{6}{c}{1,031} \\ | |
| 30 | +\bottomrule | |
| 31 | +\end{tabular} | |
| 32 | +\begin{tablenotes} | |
| 33 | +\small | |
| 34 | +\item \textit{Notes:} Dependent variable: log asking price. Each column is a separate estimate of equation~\eqref{eq:qr} (quantile regression) or equation~\eqref{eq:hedonic} (OLS) including all structural, locational and regional controls listed in Table~\ref{tab:specification}. Bootstrap standard errors in parentheses. $^{***}$, $^{**}$ and $^{*}$ denote significance at the 1, 5 and 10 percent levels (two-sided normal test using bootstrap standard errors, $B = 200$ paired resamples). OLS stars use HC3 standard errors and are reported as printed in the log (the log applies the thresholds 0.001, 0.01 and 0.05 to the OLS column, so OLS stars are conservative relative to the quantile columns). The pseudo-$R^2$ is that of \citet{koenker1999goodness}. All entries are parsed from \texttt{results/sqr\_multi\_segment\_output.txt}, the preserved log of the original run of \texttt{scripts/05\_sqr\_multi\_segment.py}, by \texttt{scripts/06\_tables\_figures\_from\_log.py}. | |
| 35 | +\end{tablenotes} | |
| 36 | +\end{threeparttable} | |
| 37 | +\end{table} | |
modified
paper/tables/qr_houses.tex
+23 −13
@@ -1,27 +1,37 @@ | ||
| 1 | 1 | \begin{table}[H] |
| 2 | 2 | \centering |
| 3 | −\caption{Amenity Coefficients by Quantile --- Single-Family Houses ($N = 6{,}250$)} | |
| 3 | +\caption{Amenity coefficients by quantile --- single-family houses} | |
| 4 | 4 | \label{tab:qr_houses} |
| 5 | 5 | \begin{threeparttable} |
| 6 | −\begin{tabular}{lcccccl} | |
| 6 | +\small | |
| 7 | +\begin{tabular}{lcccccc} | |
| 7 | 8 | \toprule |
| 8 | −Variable & $\tau=0.10$ & $\tau=0.25$ & $\tau=0.50$ & $\tau=0.75$ & $\tau=0.90$ & OLS \\ | |
| 9 | +& \multicolumn{5}{c}{Quantile regression, $\tau$} & OLS \\ | |
| 10 | +\cmidrule(lr){2-6} | |
| 11 | +Amenity indicator & 0.10 & 0.25 & 0.50 & 0.75 & 0.90 & \\ | |
| 9 | 12 | \midrule |
| 10 | −Highway & 0.040 & 0.053$^{***}$ & 0.043$^{***}$ & 0.017 & $-$0.010 & 0.053$^{***}$ \\ | |
| 11 | −Hospital & $-$0.082$^{***}$ & $-$0.026 & $-$0.005 & $-$0.004 & 0.013 & $-$0.032$^{**}$ \\ | |
| 12 | −Park & 0.087$^{***}$ & 0.039$^{*}$ & 0.010 & $-$0.015 & $-$0.044 & 0.005 \\ | |
| 13 | −School & $-$0.066$^{**}$ & $-$0.083$^{***}$ & $-$0.074$^{***}$ & $-$0.088$^{***}$ & $-$0.082$^{**}$ & $-$0.090$^{***}$ \\ | |
| 14 | −Transit & 0.074$^{**}$ & 0.062$^{***}$ & 0.050$^{***}$ & 0.023 & $-$0.008 & 0.035$^{**}$ \\ | |
| 15 | −Golf & 0.060$^{***}$ & 0.053$^{***}$ & 0.041$^{***}$ & 0.058$^{***}$ & 0.059$^{**}$ & 0.068$^{***}$ \\ | |
| 16 | −Garage & 0.113$^{***}$ & 0.109$^{***}$ & 0.096$^{***}$ & 0.094$^{***}$ & 0.072$^{**}$ & 0.108$^{***}$ \\ | |
| 13 | +Highway & 0.205$^{***}$ & 0.156$^{***}$ & 0.113$^{***}$ & 0.071$^{***}$ & 0.034 & 0.133$^{***}$ \\ | |
| 14 | + & (0.033) & (0.018) & (0.015) & (0.014) & (0.025) & \\[2pt] | |
| 15 | +Hospital & $-$0.085$^{***}$ & $-$0.061$^{***}$ & $-$0.027$^{**}$ & 0.001 & 0.041$^{*}$ & $-$0.049$^{***}$ \\ | |
| 16 | + & (0.028) & (0.015) & (0.013) & (0.015) & (0.024) & \\[2pt] | |
| 17 | +Park & 0.122$^{***}$ & 0.070$^{***}$ & 0.038$^{**}$ & 0.015 & 0.014 & 0.042$^{**}$ \\ | |
| 18 | + & (0.034) & (0.019) & (0.019) & (0.021) & (0.025) & \\[2pt] | |
| 19 | +School & $-$0.102$^{***}$ & $-$0.136$^{***}$ & $-$0.110$^{***}$ & $-$0.110$^{***}$ & $-$0.111$^{***}$ & $-$0.122$^{***}$ \\ | |
| 20 | + & (0.033) & (0.022) & (0.021) & (0.019) & (0.024) & \\[2pt] | |
| 21 | +Transit & 0.178$^{***}$ & 0.162$^{***}$ & 0.094$^{***}$ & 0.074$^{***}$ & 0.053$^{**}$ & 0.113$^{***}$ \\ | |
| 22 | + & (0.027) & (0.020) & (0.017) & (0.016) & (0.025) & \\[2pt] | |
| 23 | +Golf course & 0.041 & 0.063$^{***}$ & 0.038$^{***}$ & 0.036$^{***}$ & 0.015 & 0.052$^{***}$ \\ | |
| 24 | + & (0.026) & (0.016) & (0.013) & (0.012) & (0.020) & \\[2pt] | |
| 25 | +Garage & 0.061$^{***}$ & 0.100$^{***}$ & 0.096$^{***}$ & 0.082$^{***}$ & 0.047$^{**}$ & 0.100$^{***}$ \\ | |
| 26 | + & (0.020) & (0.015) & (0.012) & (0.014) & (0.022) & \\[2pt] | |
| 17 | 27 | \midrule |
| 18 | −Pseudo-$R^2$ & 0.440 & 0.437 & 0.459 & 0.481 & 0.483 & 0.685$^\dagger$ \\ | |
| 28 | +Pseudo-$R^2$ / adj.\ $R^2$ & 0.355 & 0.364 & 0.400 & 0.436 & 0.444 & 0.619 \\ | |
| 29 | +$N$ & \multicolumn{6}{c}{6,250} \\ | |
| 19 | 30 | \bottomrule |
| 20 | 31 | \end{tabular} |
| 21 | 32 | \begin{tablenotes} |
| 22 | 33 | \small |
| 23 | −\item $^{***}p<0.001$, $^{**}p<0.01$, $^{*}p<0.05$. Bootstrap standard errors ($B=200$). | |
| 24 | −\item $^\dagger$ Adjusted $R^2$ for OLS. | |
| 34 | +\item \textit{Notes:} Dependent variable: log asking price. Each column is a separate estimate of equation~\eqref{eq:qr} (quantile regression) or equation~\eqref{eq:hedonic} (OLS) including all structural, locational and regional controls listed in Table~\ref{tab:specification}. Bootstrap standard errors in parentheses. $^{***}$, $^{**}$ and $^{*}$ denote significance at the 1, 5 and 10 percent levels (two-sided normal test using bootstrap standard errors, $B = 200$ paired resamples). OLS stars use HC3 standard errors and are reported as printed in the log (the log applies the thresholds 0.001, 0.01 and 0.05 to the OLS column, so OLS stars are conservative relative to the quantile columns). The pseudo-$R^2$ is that of \citet{koenker1999goodness}. All entries are parsed from \texttt{results/sqr\_multi\_segment\_output.txt}, the preserved log of the original run of \texttt{scripts/05\_sqr\_multi\_segment.py}, by \texttt{scripts/06\_tables\_figures\_from\_log.py}. | |
| 25 | 35 | \end{tablenotes} |
| 26 | 36 | \end{threeparttable} |
| 27 | 37 | \end{table} |
added
paper/tables/qr_houses_structural.tex
+42 −0
@@ -0,0 +1,42 @@ | ||
| 1 | +\begin{table}[H] | |
| 2 | +\centering | |
| 3 | +\caption{Structural, locational and regional coefficients by quantile --- single-family houses} | |
| 4 | +\label{tab:qr_houses_structural} | |
| 5 | +\begin{threeparttable} | |
| 6 | +\small | |
| 7 | +\begin{tabular}{lccccc} | |
| 8 | +\toprule | |
| 9 | +& \multicolumn{5}{c}{Quantile regression, $\tau$} \\ | |
| 10 | +\cmidrule(lr){2-6} | |
| 11 | +Variable & 0.10 & 0.25 & 0.50 & 0.75 & 0.90 \\ | |
| 12 | +\midrule | |
| 13 | +Constant & 12.652$^{***}$ & 12.896$^{***}$ & 13.160$^{***}$ & 13.365$^{***}$ & 13.579$^{***}$ \\ | |
| 14 | + & (0.041) & (0.029) & (0.022) & (0.023) & (0.037) \\[2pt] | |
| 15 | +Bedrooms & $-$0.066$^{***}$ & $-$0.051$^{***}$ & $-$0.036$^{***}$ & $-$0.037$^{***}$ & $-$0.051$^{***}$ \\ | |
| 16 | + & (0.010) & (0.008) & (0.008) & (0.007) & (0.012) \\[2pt] | |
| 17 | +Bathrooms & 0.235$^{***}$ & 0.240$^{***}$ & 0.243$^{***}$ & 0.249$^{***}$ & 0.244$^{***}$ \\ | |
| 18 | + & (0.015) & (0.012) & (0.011) & (0.011) & (0.018) \\[2pt] | |
| 19 | +Stories & $-$0.044$^{**}$ & $-$0.043$^{***}$ & $-$0.043$^{***}$ & $-$0.026$^{**}$ & 0.000 \\ | |
| 20 | + & (0.022) & (0.014) & (0.015) & (0.012) & (0.022) \\[2pt] | |
| 21 | +Parking spaces & 0.002 & 0.003$^{*}$ & 0.006$^{***}$ & 0.011$^{***}$ & 0.015$^{***}$ \\ | |
| 22 | + & (0.003) & (0.002) & (0.002) & (0.002) & (0.002) \\[2pt] | |
| 23 | +$\ln$(floor area) & 0.511$^{***}$ & 0.509$^{***}$ & 0.555$^{***}$ & 0.608$^{***}$ & 0.688$^{***}$ \\ | |
| 24 | + & (0.035) & (0.021) & (0.021) & (0.024) & (0.032) \\[2pt] | |
| 25 | +$\ln$(land area) & 0.048$^{***}$ & 0.042$^{***}$ & 0.031$^{***}$ & 0.023$^{***}$ & 0.023$^{***}$ \\ | |
| 26 | + & (0.011) & (0.006) & (0.006) & (0.006) & (0.006) \\[2pt] | |
| 27 | +$\ln$(distance to Montreal) & 2.453$^{***}$ & 1.554$^{***}$ & 2.409$^{***}$ & 1.965$^{***}$ & 1.955$^{**}$ \\ | |
| 28 | + & (0.552) & (0.402) & (0.480) & (0.459) & (0.830) \\[2pt] | |
| 29 | +Montreal & 0.279$^{***}$ & 0.293$^{***}$ & 0.294$^{***}$ & 0.362$^{***}$ & 0.441$^{***}$ \\ | |
| 30 | + & (0.030) & (0.018) & (0.021) & (0.019) & (0.039) \\[2pt] | |
| 31 | +Qu\'ebec City & 0.113$^{*}$ & 0.160$^{***}$ & 0.179$^{***}$ & 0.203$^{***}$ & 0.253$^{***}$ \\ | |
| 32 | + & (0.061) & (0.033) & (0.025) & (0.038) & (0.050) \\[2pt] | |
| 33 | +Other regions & $-$0.126$^{***}$ & $-$0.044$^{*}$ & 0.025 & 0.095$^{***}$ & 0.163$^{***}$ \\ | |
| 34 | + & (0.035) & (0.023) & (0.021) & (0.019) & (0.033) \\[2pt] | |
| 35 | +\bottomrule | |
| 36 | +\end{tabular} | |
| 37 | +\begin{tablenotes} | |
| 38 | +\small | |
| 39 | +\item \textit{Notes:} Same regressions as Table~\ref{tab:qr_houses} ($N = 6,250$). Continuous variables are centred at their sample means, so the constant is the conditional quantile of log price for a mean-characteristic house in the Gatineau reference region without any amenity indicator. Regional dummies are relative to Gatineau. Bootstrap standard errors in parentheses. $^{***}$, $^{**}$ and $^{*}$ denote significance at the 1, 5 and 10 percent levels (two-sided normal test using bootstrap standard errors, $B = 200$ paired resamples). All entries are parsed from \texttt{results/sqr\_multi\_segment\_output.txt}, the preserved log of the original run of \texttt{scripts/05\_sqr\_multi\_segment.py}, by \texttt{scripts/06\_tables\_figures\_from\_log.py}. | |
| 40 | +\end{tablenotes} | |
| 41 | +\end{threeparttable} | |
| 42 | +\end{table} | |
added
paper/tables/qr_land.tex
+35 −0
@@ -0,0 +1,35 @@ | ||
| 1 | +\begin{table}[H] | |
| 2 | +\centering | |
| 3 | +\caption{Amenity coefficients by quantile --- vacant land} | |
| 4 | +\label{tab:qr_land} | |
| 5 | +\begin{threeparttable} | |
| 6 | +\small | |
| 7 | +\begin{tabular}{lcccccc} | |
| 8 | +\toprule | |
| 9 | +& \multicolumn{5}{c}{Quantile regression, $\tau$} & OLS \\ | |
| 10 | +\cmidrule(lr){2-6} | |
| 11 | +Amenity indicator & 0.10 & 0.25 & 0.50 & 0.75 & 0.90 & \\ | |
| 12 | +\midrule | |
| 13 | +Highway & 0.426$^{***}$ & 0.448$^{***}$ & 0.453$^{***}$ & 0.509$^{***}$ & 0.572$^{***}$ & 0.475$^{***}$ \\ | |
| 14 | + & (0.037) & (0.033) & (0.035) & (0.045) & (0.073) & \\[2pt] | |
| 15 | +Hospital & $-$0.030 & $-$0.022 & $-$0.062 & $-$0.040 & 0.071 & $-$0.036 \\ | |
| 16 | + & (0.039) & (0.039) & (0.041) & (0.046) & (0.094) & \\[2pt] | |
| 17 | +Park & 0.011 & 0.035 & 0.067$^{*}$ & 0.026 & $-$0.137 & $-$0.005 \\ | |
| 18 | + & (0.030) & (0.032) & (0.039) & (0.050) & (0.084) & \\[2pt] | |
| 19 | +School & 0.030 & $-$0.083$^{***}$ & $-$0.049 & $-$0.145$^{***}$ & $-$0.249$^{***}$ & $-$0.113$^{***}$ \\ | |
| 20 | + & (0.035) & (0.028) & (0.040) & (0.043) & (0.086) & \\[2pt] | |
| 21 | +Transit & 0.364$^{***}$ & 0.570$^{***}$ & 0.485$^{***}$ & 0.466$^{***}$ & 0.421$^{***}$ & 0.426$^{***}$ \\ | |
| 22 | + & (0.106) & (0.073) & (0.050) & (0.057) & (0.100) & \\[2pt] | |
| 23 | +Golf course & 0.132$^{***}$ & 0.212$^{***}$ & 0.075$^{**}$ & 0.071$^{*}$ & $-$0.173$^{**}$ & 0.086$^{**}$ \\ | |
| 24 | + & (0.033) & (0.030) & (0.032) & (0.040) & (0.078) & \\[2pt] | |
| 25 | +\midrule | |
| 26 | +Pseudo-$R^2$ / adj.\ $R^2$ & 0.086 & 0.107 & 0.112 & 0.115 & 0.084 & 0.154 \\ | |
| 27 | +$N$ & \multicolumn{6}{c}{9,239} \\ | |
| 28 | +\bottomrule | |
| 29 | +\end{tabular} | |
| 30 | +\begin{tablenotes} | |
| 31 | +\small | |
| 32 | +\item \textit{Notes:} Dependent variable: log asking price. Each column is a separate estimate of equation~\eqref{eq:qr} (quantile regression) or equation~\eqref{eq:hedonic} (OLS) including all structural, locational and regional controls listed in Table~\ref{tab:specification}. Bootstrap standard errors in parentheses. $^{***}$, $^{**}$ and $^{*}$ denote significance at the 1, 5 and 10 percent levels (two-sided normal test using bootstrap standard errors, $B = 200$ paired resamples). OLS stars use HC3 standard errors and are reported as printed in the log (the log applies the thresholds 0.001, 0.01 and 0.05 to the OLS column, so OLS stars are conservative relative to the quantile columns). The pseudo-$R^2$ is that of \citet{koenker1999goodness}. All entries are parsed from \texttt{results/sqr\_multi\_segment\_output.txt}, the preserved log of the original run of \texttt{scripts/05\_sqr\_multi\_segment.py}, by \texttt{scripts/06\_tables\_figures\_from\_log.py}. | |
| 33 | +\end{tablenotes} | |
| 34 | +\end{threeparttable} | |
| 35 | +\end{table} | |
added
paper/tables/qr_plex.tex
+37 −0
@@ -0,0 +1,37 @@ | ||
| 1 | +\begin{table}[H] | |
| 2 | +\centering | |
| 3 | +\caption{Amenity coefficients by quantile --- multiplexes} | |
| 4 | +\label{tab:qr_plex} | |
| 5 | +\begin{threeparttable} | |
| 6 | +\small | |
| 7 | +\begin{tabular}{lcccccc} | |
| 8 | +\toprule | |
| 9 | +& \multicolumn{5}{c}{Quantile regression, $\tau$} & OLS \\ | |
| 10 | +\cmidrule(lr){2-6} | |
| 11 | +Amenity indicator & 0.10 & 0.25 & 0.50 & 0.75 & 0.90 & \\ | |
| 12 | +\midrule | |
| 13 | +Highway & 0.037 & 0.051$^{***}$ & 0.049$^{**}$ & $-$0.010 & $-$0.084$^{***}$ & 0.040$^{*}$ \\ | |
| 14 | + & (0.023) & (0.017) & (0.022) & (0.021) & (0.027) & \\[2pt] | |
| 15 | +Hospital & 0.054$^{***}$ & 0.004 & 0.025 & 0.029 & $-$0.042 & 0.004 \\ | |
| 16 | + & (0.021) & (0.019) & (0.016) & (0.018) & (0.030) & \\[2pt] | |
| 17 | +Park & 0.025 & 0.027 & 0.021 & 0.011 & $-$0.002 & 0.012 \\ | |
| 18 | + & (0.029) & (0.024) & (0.026) & (0.027) & (0.030) & \\[2pt] | |
| 19 | +School & $-$0.069$^{**}$ & $-$0.075$^{***}$ & $-$0.131$^{***}$ & $-$0.106$^{***}$ & $-$0.038 & $-$0.094$^{***}$ \\ | |
| 20 | + & (0.031) & (0.028) & (0.034) & (0.027) & (0.041) & \\[2pt] | |
| 21 | +Transit & 0.131$^{***}$ & 0.097$^{***}$ & 0.108$^{***}$ & 0.108$^{***}$ & 0.144$^{***}$ & 0.129$^{***}$ \\ | |
| 22 | + & (0.035) & (0.025) & (0.028) & (0.021) & (0.030) & \\[2pt] | |
| 23 | +Golf course & $-$0.029 & $-$0.007 & $-$0.024 & $-$0.001 & 0.012 & 0.012 \\ | |
| 24 | + & (0.021) & (0.017) & (0.019) & (0.020) & (0.021) & \\[2pt] | |
| 25 | +Garage & 0.104$^{***}$ & 0.086$^{***}$ & 0.039$^{***}$ & 0.004 & 0.037 & 0.062$^{***}$ \\ | |
| 26 | + & (0.020) & (0.018) & (0.015) & (0.018) & (0.025) & \\[2pt] | |
| 27 | +\midrule | |
| 28 | +Pseudo-$R^2$ / adj.\ $R^2$ & 0.417 & 0.420 & 0.383 & 0.357 & 0.341 & 0.576 \\ | |
| 29 | +$N$ & \multicolumn{6}{c}{3,755} \\ | |
| 30 | +\bottomrule | |
| 31 | +\end{tabular} | |
| 32 | +\begin{tablenotes} | |
| 33 | +\small | |
| 34 | +\item \textit{Notes:} Dependent variable: log asking price. Each column is a separate estimate of equation~\eqref{eq:qr} (quantile regression) or equation~\eqref{eq:hedonic} (OLS) including all structural, locational and regional controls listed in Table~\ref{tab:specification}. Bootstrap standard errors in parentheses. $^{***}$, $^{**}$ and $^{*}$ denote significance at the 1, 5 and 10 percent levels (two-sided normal test using bootstrap standard errors, $B = 200$ paired resamples). OLS stars use HC3 standard errors and are reported as printed in the log (the log applies the thresholds 0.001, 0.01 and 0.05 to the OLS column, so OLS stars are conservative relative to the quantile columns). The pseudo-$R^2$ is that of \citet{koenker1999goodness}. All entries are parsed from \texttt{results/sqr\_multi\_segment\_output.txt}, the preserved log of the original run of \texttt{scripts/05\_sqr\_multi\_segment.py}, by \texttt{scripts/06\_tables\_figures\_from\_log.py}. | |
| 35 | +\end{tablenotes} | |
| 36 | +\end{threeparttable} | |
| 37 | +\end{table} | |
modified
paper/tables/sample.tex
+9 −11
@@ -1,27 +1,25 @@ | ||
| 1 | 1 | \begin{table}[H] |
| 2 | 2 | \centering |
| 3 | −\caption{Sample Construction by Market Segment} | |
| 3 | +\caption{Sample construction by market segment} | |
| 4 | 4 | \label{tab:sample} |
| 5 | 5 | \begin{threeparttable} |
| 6 | 6 | \begin{tabular}{lrrrr} |
| 7 | 7 | \toprule |
| 8 | −& Houses & Condos & Plex & Land \\ | |
| 8 | +& Houses & Condominiums & Multiplexes & Vacant land \\ | |
| 9 | 9 | \midrule |
| 10 | 10 | Raw listings & 18,920 & 9,347 & 4,619 & 9,595 \\ |
| 11 | −After coordinate validation & 18,650 & 9,200 & 4,580 & 9,500 \\ | |
| 12 | −After structural variable filter & 7,200 & 1,150 & 4,100 & 9,450 \\ | |
| 13 | −After outlier trimming (0.5\%/99.5\%) & 6,250 & 1,031 & 3,755 & 9,239 \\ | |
| 11 | +Estimation sample & 6,250 & 1,031 & 3,755 & 9,239 \\ | |
| 12 | +Retention rate (\%) & 33.0 & 11.0 & 81.3 & 96.3 \\ | |
| 13 | +Number of regressors & 17 & 17 & 17 & 11 \\ | |
| 14 | 14 | \midrule |
| 15 | −Retention rate & 33.0\% & 11.0\% & 81.3\% & 96.3\% \\ | |
| 16 | −\midrule | |
| 17 | −Median price (\$) & 579,000 & 425,000 & 799,000 & 150,000 \\ | |
| 18 | −Mean price (\$) & 774,646 & 491,000 & 935,000 & 243,000 \\ | |
| 19 | −Price range (\$) & 99K--5.3M & 89K--2.8M & 215K--9.5M & 12K--3.1M \\ | |
| 15 | +Minimum asking price (\$) & 99,000 & 177,700 & 130,000 & 16,000 \\ | |
| 16 | +Median asking price (\$) & 579,000 & 425,000 & 799,000 & 150,000 \\ | |
| 17 | +Maximum asking price (\$) & 5,295,000 & 2,932,760 & 4,699,999 & 8,900,000 \\ | |
| 20 | 18 | \bottomrule |
| 21 | 19 | \end{tabular} |
| 22 | 20 | \begin{tablenotes} |
| 23 | 21 | \small |
| 24 | −\item \textit{Note:} The low retention rate for condos reflects the high proportion of listings missing interior floor area. The structural variable filter requires non-missing values for bedrooms, bathrooms, floor area (houses and condos), and land area. | |
| 22 | +\item \textit{Notes:} Centris active listings, Quebec, snapshot of May 2026. The estimation sample retains listings with a positive asking price, valid coordinates, non-missing structural variables required by the segment specification (Table~\ref{tab:specification}), floor area above 100 sq.\,ft.\ where applicable, land area above zero (above 10 sq.\,ft.\ for land), land area winsorised at its 99th percentile, and asking price, floor area and land area trimmed at the 0.5th and 99.5th percentiles of their logarithms. The number of regressors excludes the constant. Minimum and maximum prices are those of the estimation sample. All entries are parsed from \texttt{results/sqr\_multi\_segment\_output.txt}, the preserved log of the original run of \texttt{scripts/05\_sqr\_multi\_segment.py}, by \texttt{scripts/06\_tables\_figures\_from\_log.py}. | |
| 25 | 23 | \end{tablenotes} |
| 26 | 24 | \end{threeparttable} |
| 27 | 25 | \end{table} |
deleted
paper/tables/sensitivity_k.tex
+0 −15
@@ -1,15 +0,0 @@ | ||
| 1 | −\begin{table}[H] | |
| 2 | −\centering | |
| 3 | −\caption{Sensitivity of $\rho$ to KNN Specification --- Houses, $\tau = 0.50$} | |
| 4 | −\label{tab:sensitivity_k} | |
| 5 | −\begin{tabular}{lcccc} | |
| 6 | −\toprule | |
| 7 | −& $K = 5$ & $K = 10$ & $K = 15$ & $K = 20$ \\ | |
| 8 | −\midrule | |
| 9 | −$\rho$ & 0.312 & 0.291 & 0.278 & 0.263 \\ | |
| 10 | −Highway & 0.062 & 0.057 & 0.054 & 0.051 \\ | |
| 11 | −Hospital & $-$0.010 & $-$0.006 & $-$0.004 & $-$0.002 \\ | |
| 12 | −Transit & 0.076 & 0.071 & 0.068 & 0.065 \\ | |
| 13 | −\bottomrule | |
| 14 | −\end{tabular} | |
| 15 | −\end{table} | |
modified
paper/tables/specification.tex
+12 −4
@@ -1,23 +1,31 @@ | ||
| 1 | 1 | \begin{table}[H] |
| 2 | 2 | \centering |
| 3 | −\caption{Model Specification by Market Segment} | |
| 3 | +\caption{Regressors included in each segment specification} | |
| 4 | 4 | \label{tab:specification} |
| 5 | +\begin{threeparttable} | |
| 5 | 6 | \begin{tabular}{lcccc} |
| 6 | 7 | \toprule |
| 7 | −Variable & Houses & Condos & Plex & Land \\ | |
| 8 | +Variable & Houses & Condominiums & Multiplexes & Vacant land \\ | |
| 8 | 9 | \midrule |
| 9 | 10 | Bedrooms & \checkmark & \checkmark & \checkmark & --- \\ |
| 10 | 11 | Bathrooms & \checkmark & \checkmark & \checkmark & --- \\ |
| 11 | 12 | Stories & \checkmark & \checkmark & \checkmark & --- \\ |
| 12 | 13 | $\ln$(Floor area) & \checkmark & \checkmark & --- & --- \\ |
| 13 | −$\ln$(Land area) & \checkmark & --- & \checkmark & \checkmark \\ | |
| 14 | +$\ln$(Land area) & \checkmark & \checkmark & \checkmark & \checkmark \\ | |
| 14 | 15 | Parking spaces & \checkmark & \checkmark & \checkmark & --- \\ |
| 15 | 16 | Garage & \checkmark & \checkmark & \checkmark & --- \\ |
| 16 | 17 | Unit count & --- & --- & \checkmark & --- \\ |
| 17 | 18 | $\ln$(Dist.\ Montreal) & \checkmark & \checkmark & \checkmark & \checkmark \\ |
| 18 | 19 | Regional dummies & \checkmark & \checkmark & \checkmark & \checkmark \\ |
| 19 | 20 | Amenity indicators (6) & \checkmark & \checkmark & \checkmark & \checkmark \\ |
| 20 | −Spatial lag ($\hat{\mathbf{W}}\ln\mathbf{P}$) & \checkmark & \checkmark & \checkmark & \checkmark \\ | |
| 21 | +Spatial lag $\widehat{\mathbf{W}\ln\mathbf{P}}$ (2SQR only) & \checkmark & \checkmark & \checkmark & \checkmark \\ | |
| 22 | +\midrule | |
| 23 | +Number of regressors (excl.\ constant) & 17 & 17 & 17 & 11 \\ | |
| 21 | 24 | \bottomrule |
| 22 | 25 | \end{tabular} |
| 26 | +\begin{tablenotes} | |
| 27 | +\small | |
| 28 | +\item \textit{Notes:} Floor area is unavailable for most multiplex listings and is excluded from that segment; lot area is available for condominiums (lot share of the building) and is retained. Gatineau is the omitted regional category in every segment. The amenity indicators are highway, hospital, park, school, transit and golf course; the garage indicator is counted with the structural variables and is undefined for land. | |
| 29 | +\end{tablenotes} | |
| 30 | +\end{threeparttable} | |
| 23 | 31 | \end{table} |
added
paper/tables/sqr.tex
+64 −0
@@ -0,0 +1,64 @@ | ||
| 1 | +\begin{table}[H] | |
| 2 | +\centering | |
| 3 | +\caption{Two-stage spatial quantile regression at the median: first-stage fit, spatial lag and amenity coefficients} | |
| 4 | +\label{tab:sqr} | |
| 5 | +\begin{threeparttable} | |
| 6 | +\small | |
| 7 | +\begin{tabular}{lccc} | |
| 8 | +\toprule | |
| 9 | +& OLS & QR, $\tau = 0.50$ & 2SQR, $\tau = 0.50$ \\ | |
| 10 | +\midrule | |
| 11 | +\multicolumn{4}{l}{\textit{Single-family houses} ($N = 6,250$)} \\ | |
| 12 | +\quad Highway & 0.133 & 0.113 & 0.057 \\ | |
| 13 | +\quad Hospital & $-$0.049 & $-$0.027 & $-$0.006 \\ | |
| 14 | +\quad Park & 0.042 & 0.038 & 0.042 \\ | |
| 15 | +\quad School & $-$0.122 & $-$0.110 & $-$0.072 \\ | |
| 16 | +\quad Transit & 0.113 & 0.094 & 0.071 \\ | |
| 17 | +\quad Golf course & 0.052 & 0.038 & 0.023 \\ | |
| 18 | +\quad Garage & 0.100 & 0.096 & 0.091 \\ | |
| 19 | +\quad First-stage $R^2$ & --- & --- & 0.672 \\ | |
| 20 | +\quad Implied overall first-stage $F(34,\,6,215)$ & --- & --- & 374 \\ | |
| 21 | +\quad Spatial lag $\hat\rho(0.50)$ & --- & --- & 0.291 \\ | |
| 22 | +\midrule | |
| 23 | +\multicolumn{4}{l}{\textit{Condominiums} ($N = 1,031$)} \\ | |
| 24 | +\quad Highway & $-$0.023 & $-$0.003 & $-$0.002 \\ | |
| 25 | +\quad Hospital & 0.008 & 0.018 & 0.024 \\ | |
| 26 | +\quad Park & 0.027 & $-$0.001 & 0.005 \\ | |
| 27 | +\quad School & $-$0.030 & $-$0.031 & $-$0.017 \\ | |
| 28 | +\quad Transit & 0.064 & 0.030 & 0.024 \\ | |
| 29 | +\quad Golf course & $-$0.078 & $-$0.048 & $-$0.041 \\ | |
| 30 | +\quad Garage & 0.134 & 0.164 & 0.130 \\ | |
| 31 | +\quad First-stage $R^2$ & --- & --- & 0.719 \\ | |
| 32 | +\quad Implied overall first-stage $F(34,\,996)$ & --- & --- & 75 \\ | |
| 33 | +\quad Spatial lag $\hat\rho(0.50)$ & --- & --- & 0.203 \\ | |
| 34 | +\midrule | |
| 35 | +\multicolumn{4}{l}{\textit{Multiplexes} ($N = 3,755$)} \\ | |
| 36 | +\quad Highway & 0.040 & 0.049 & 0.043 \\ | |
| 37 | +\quad Hospital & 0.004 & 0.025 & 0.024 \\ | |
| 38 | +\quad Park & 0.012 & 0.021 & 0.029 \\ | |
| 39 | +\quad School & $-$0.094 & $-$0.131 & $-$0.129 \\ | |
| 40 | +\quad Transit & 0.129 & 0.108 & 0.098 \\ | |
| 41 | +\quad Golf course & 0.012 & $-$0.024 & $-$0.023 \\ | |
| 42 | +\quad Garage & 0.062 & 0.039 & 0.030 \\ | |
| 43 | +\quad First-stage $R^2$ & --- & --- & 0.650 \\ | |
| 44 | +\quad Implied overall first-stage $F(34,\,3,720)$ & --- & --- & 203 \\ | |
| 45 | +\quad Spatial lag $\hat\rho(0.50)$ & --- & --- & 0.131 \\ | |
| 46 | +\midrule | |
| 47 | +\multicolumn{4}{l}{\textit{Vacant land} ($N = 9,239$)} \\ | |
| 48 | +\quad Highway & 0.475 & 0.453 & 0.324 \\ | |
| 49 | +\quad Hospital & $-$0.036 & $-$0.062 & $-$0.011 \\ | |
| 50 | +\quad Park & $-$0.005 & 0.067 & 0.066 \\ | |
| 51 | +\quad School & $-$0.113 & $-$0.049 & $-$0.018 \\ | |
| 52 | +\quad Transit & 0.426 & 0.485 & 0.349 \\ | |
| 53 | +\quad Golf course & 0.086 & 0.075 & 0.045 \\ | |
| 54 | +\quad First-stage $R^2$ & --- & --- & 0.204 \\ | |
| 55 | +\quad Implied overall first-stage $F(22,\,9,216)$ & --- & --- & 107 \\ | |
| 56 | +\quad Spatial lag $\hat\rho(0.50)$ & --- & --- & 0.322 \\ | |
| 57 | +\bottomrule | |
| 58 | +\end{tabular} | |
| 59 | +\begin{tablenotes} | |
| 60 | +\small | |
| 61 | +\item \textit{Notes:} The first stage regresses $\mathbf{W}\ln\mathbf{P}$ on the constant, $\mathbf{X}$ and $\mathbf{WX}$ (equation~\eqref{eq:firststage}). The log records only the first-stage $R^2$; the overall $F$-statistic is implied by $F = [R^2/q]/[(1-R^2)/(N-q-1)]$ with $q$ the number of first-stage regressors, and is \emph{not} the partial $F$ on the excluded instruments $\mathbf{WX}$ required for a weak-instrument diagnostic (Section~\ref{sec:limitations}). $\hat\rho(0.50)$ is the coefficient on the fitted spatial lag in the median second stage (equation~\eqref{eq:2sqr}); the original run did not bootstrap the second stage, so no standard error is available for $\hat\rho$ or for the 2SQR coefficients. The 2SQR column reports the amenity coefficients of the same median second stage. All entries are parsed from \texttt{results/sqr\_multi\_segment\_output.txt}, the preserved log of the original run of \texttt{scripts/05\_sqr\_multi\_segment.py}, by \texttt{scripts/06\_tables\_figures\_from\_log.py}. | |
| 62 | +\end{tablenotes} | |
| 63 | +\end{threeparttable} | |
| 64 | +\end{table} | |
deleted
paper/tables/sqr_rho.tex
+0 −15
@@ -1,15 +0,0 @@ | ||
| 1 | −\begin{table}[H] | |
| 2 | −\centering | |
| 3 | −\caption{Spatial Lag Parameter ($\rho$) by Quantile and Segment} | |
| 4 | −\label{tab:2sqr} | |
| 5 | −\begin{tabular}{lccccc} | |
| 6 | −\toprule | |
| 7 | −Segment & $\tau=0.10$ & $\tau=0.25$ & $\tau=0.50$ & $\tau=0.75$ & $\tau=0.90$ \\ | |
| 8 | −\midrule | |
| 9 | −Houses & 0.259$^{***}$ & 0.228$^{***}$ & 0.227$^{***}$ & 0.218$^{***}$ & 0.276$^{***}$ \\ | |
| 10 | −Condos & 0.149$^{**}$ & 0.084$^{*}$ & 0.051 & $-$0.021 & $-$0.106 \\ | |
| 11 | −Plex & 0.036 & 0.079$^{**}$ & 0.084$^{***}$ & 0.128$^{***}$ & 0.091$^{*}$ \\ | |
| 12 | −Land & 0.045$^{*}$ & 0.064$^{***}$ & 0.043$^{**}$ & 0.054$^{***}$ & 0.001 \\ | |
| 13 | −\bottomrule | |
| 14 | −\end{tabular} | |
| 15 | −\end{table} | |
modified
paper/tables/variables.tex
+17 −15
@@ -1,14 +1,15 @@ | ||
| 1 | 1 | \begin{table}[H] |
| 2 | 2 | \centering |
| 3 | −\caption{Variable Definitions and Expected Signs} | |
| 3 | +\caption{Variable definitions} | |
| 4 | 4 | \label{tab:variables} |
| 5 | 5 | \begin{threeparttable} |
| 6 | −\begin{tabular}{llll} | |
| 6 | +\small | |
| 7 | +\begin{tabular}{llp{6.2cm}c} | |
| 7 | 8 | \toprule |
| 8 | −Variable & Type & Definition & Expected Sign \\ | |
| 9 | +Variable & Type & Definition & Prior sign \\ | |
| 9 | 10 | \midrule |
| 10 | 11 | \multicolumn{4}{l}{\textit{Dependent variable}} \\ |
| 11 | −$\ln P$ & Continuous & Natural log of listing price (CAD) & --- \\ | |
| 12 | +$\ln P$ & Continuous & Natural log of asking price (CAD) & --- \\ | |
| 12 | 13 | \midrule |
| 13 | 14 | \multicolumn{4}{l}{\textit{Structural characteristics}} \\ |
| 14 | 15 | Bedrooms & Count & Number of bedrooms & $+$ \\ |
@@ -17,30 +18,31 @@ Stories & Count & Number of stories & $+/-$ \\ | ||
| 17 | 18 | $\ln$(Floor area) & Continuous & Log of interior area (sq.ft.) & $+$ \\ |
| 18 | 19 | $\ln$(Land area) & Continuous & Log of lot size (sq.ft.) & $+$ \\ |
| 19 | 20 | Parking & Count & Number of parking spaces & $+$ \\ |
| 20 | −Garage & Binary & $=1$ if garage present & $+$ \\ | |
| 21 | +Garage & Binary & $=1$ if ``Garage'' in parking-type field & $+$ \\ | |
| 21 | 22 | Unit count & Count & Number of units (plex only) & $+$ \\ |
| 22 | 23 | \midrule |
| 23 | 24 | \multicolumn{4}{l}{\textit{Locational variables}} \\ |
| 24 | −$\ln$(Dist.\ MTL) & Continuous & Log distance to Montreal CBD (km) & $-$ \\ | |
| 25 | +$\ln$(Dist.\ MTL) & Continuous & Log straight-line distance to downtown Montreal (km, floored at 0.5) & $-$ \\ | |
| 25 | 26 | Montreal & Binary & $=1$ if Montreal metro area & $+$ \\ |
| 26 | 27 | Qu\'ebec City & Binary & $=1$ if Qu\'ebec City metro area & $+/-$ \\ |
| 27 | −Regions & Binary & $=1$ if other regions (reference) & --- \\ | |
| 28 | +Regions & Binary & $=1$ if outside the three metropolitan areas & $-$ \\ | |
| 29 | +Gatineau & Binary & omitted reference category & --- \\ | |
| 28 | 30 | \midrule |
| 29 | 31 | \multicolumn{4}{l}{\textit{Amenity indicators}} \\ |
| 30 | −Highway & Binary & $=1$ if near highway & $+/-$ \\ | |
| 31 | −Hospital & Binary & $=1$ if near hospital & $+/-$ \\ | |
| 32 | −Park & Binary & $=1$ if near park & $+$ \\ | |
| 33 | −School & Binary & $=1$ if near school & $+/-$ \\ | |
| 34 | −Transit & Binary & $=1$ if near public transit & $+$ \\ | |
| 35 | −Golf & Binary & $=1$ if near golf course & $+$ \\ | |
| 32 | +Highway & Binary & $=1$ if ``Highway'' in amenities-nearby field & $+/-$ \\ | |
| 33 | +Hospital & Binary & $=1$ if ``Hospital'' in amenities-nearby field & $+/-$ \\ | |
| 34 | +Park & Binary & $=1$ if ``Park'' in amenities-nearby field & $+$ \\ | |
| 35 | +School & Binary & $=1$ if ``School'' in amenities-nearby field & $+/-$ \\ | |
| 36 | +Transit & Binary & $=1$ if ``Transit'' in amenities-nearby field & $+$ \\ | |
| 37 | +Golf & Binary & $=1$ if ``Golf'' in amenities-nearby field & $+$ \\ | |
| 36 | 38 | \midrule |
| 37 | 39 | \multicolumn{4}{l}{\textit{Spatial variable (2SQR)}} \\ |
| 38 | −$\mathbf{W}\ln\mathbf{P}$ & Continuous & Spatially lagged log-price & $+$ \\ | |
| 40 | +$\mathbf{W}\ln\mathbf{P}$ & Continuous & Inverse-distance weighted mean of the ten nearest log asking prices & $+$ \\ | |
| 39 | 41 | \bottomrule |
| 40 | 42 | \end{tabular} |
| 41 | 43 | \begin{tablenotes} |
| 42 | 44 | \small |
| 43 | −\item \textit{Note:} Continuous variables are centered at sample means. Amenity indicators are derived from the Centris ``Amenities Nearby'' field. Expected signs are based on the prior literature; $+/-$ indicates theoretically ambiguous effects. | |
| 45 | +\item \textit{Notes:} Continuous variables are centred at segment means. Amenity indicators are keyword matches in the broker-completed Centris ``amenities nearby'' field and carry no distance or quality information. Prior signs summarise the literature of Section~\ref{sec:literature}; $+/-$ denotes an ambiguous prior. | |
| 44 | 46 | \end{tablenotes} |
| 45 | 47 | \end{threeparttable} |
| 46 | 48 | \end{table} |
modified
paper/tables/wald.tex
+11 −11
@@ -1,26 +1,26 @@ | ||
| 1 | 1 | \begin{table}[H] |
| 2 | 2 | \centering |
| 3 | −\caption{Wald Tests for Inter-Quantile Heterogeneity ($\tau=0.10$ vs.\ $\tau=0.90$)} | |
| 3 | +\caption{Wald tests of equal amenity coefficients at $\tau = 0.10$ and $\tau = 0.90$, by segment} | |
| 4 | 4 | \label{tab:wald} |
| 5 | 5 | \begin{threeparttable} |
| 6 | 6 | \begin{tabular}{lcccc} |
| 7 | 7 | \toprule |
| 8 | −Amenity & Houses & Condos & Plex & Land \\ | |
| 8 | +Amenity indicator & Houses & Condominiums & Multiplexes & Vacant land \\ | |
| 9 | 9 | \midrule |
| 10 | −Highway & 2.5 & 0.0 & 9.3$^{**}$ & 4.5$^{*}$ \\ | |
| 11 | −Hospital & 12.3$^{***}$ & 0.3 & 7.9$^{**}$ & 3.8 \\ | |
| 12 | −Park & 14.1$^{***}$ & 0.9 & 0.2 & 4.3$^{*}$ \\ | |
| 13 | −School & 0.2 & 1.2 & 0.8 & 13.2$^{***}$ \\ | |
| 14 | −Transit & 4.4$^{*}$ & 0.1 & 0.2 & 0.2 \\ | |
| 15 | −Golf & 0.0 & 0.3 & 2.3 & 8.0$^{**}$ \\ | |
| 10 | +Highway & 17.12$^{***}$ & 1.34 & 11.58$^{***}$ & 3.18$^{*}$ \\ | |
| 11 | +Hospital & 12.11$^{***}$ & 0.02 & 7.09$^{***}$ & 0.98 \\ | |
| 12 | +Park & 6.66$^{***}$ & 0.22 & 0.43 & 2.79$^{*}$ \\ | |
| 13 | +School & 0.05 & 0.00 & 0.35 & 9.00$^{***}$ \\ | |
| 14 | +Transit & 11.64$^{***}$ & 0.44 & 0.08 & 0.15 \\ | |
| 15 | +Golf course & 0.63 & 0.18 & 1.88 & 13.11$^{***}$ \\ | |
| 16 | +Garage & 0.22 & 0.10 & 4.44$^{**}$ & --- \\ | |
| 16 | 17 | \midrule |
| 17 | −Omnibus $\chi^2$ & 35.74$^{***}$ & 4.3 & 22.9$^{**}$ & 41.4$^{***}$ \\ | |
| 18 | +Rejections at 5\% & 4/7 & 0/7 & 3/7 & 2/6 \\ | |
| 18 | 19 | \bottomrule |
| 19 | 20 | \end{tabular} |
| 20 | 21 | \begin{tablenotes} |
| 21 | 22 | \small |
| 22 | −\item $^{***}p<0.001$, $^{**}p<0.01$, $^{*}p<0.05$. Bootstrap standard errors. | |
| 23 | −\item Omnibus test: joint test of all coefficient equality between $\tau=0.10$ and $\tau=0.90$. | |
| 23 | +\item \textit{Notes:} Entries are the statistic of equation~\eqref{eq:wald}, $W = [\hat\beta_k(0.10) - \hat\beta_k(0.90)]^2 / [\widehat{\mathrm{Var}}(\hat\beta_k(0.10)) + \widehat{\mathrm{Var}}(\hat\beta_k(0.90))]$, with bootstrap variances, referred to a $\chi^2(1)$ distribution. The denominator omits the (typically positive) covariance between the two quantile estimators, which makes the test conservative. $^{***}$, $^{**}$ and $^{*}$ denote rejection at the 1, 5 and 10 percent levels. All entries are parsed from \texttt{results/sqr\_multi\_segment\_output.txt}, the preserved log of the original run of \texttt{scripts/05\_sqr\_multi\_segment.py}, by \texttt{scripts/06\_tables\_figures\_from\_log.py}. | |
| 24 | 24 | \end{tablenotes} |
| 25 | 25 | \end{threeparttable} |
| 26 | 26 | \end{table} |
added
paper/tables/wald_houses.tex
+24 −0
@@ -0,0 +1,24 @@ | ||
| 1 | +\begin{table}[H] | |
| 2 | +\centering | |
| 3 | +\caption{Wald tests of inter-quantile equality for three quantile pairs --- single-family houses} | |
| 4 | +\label{tab:wald_houses} | |
| 5 | +\begin{threeparttable} | |
| 6 | +\begin{tabular}{lccc} | |
| 7 | +\toprule | |
| 8 | +Amenity indicator & $\tau = 0.10$ vs.\ $0.90$ & $\tau = 0.25$ vs.\ $0.75$ & $\tau = 0.10$ vs.\ $0.50$ \\ | |
| 9 | +\midrule | |
| 10 | +Highway & 17.12$^{***}$ & 13.78$^{***}$ & 6.42$^{**}$ \\ | |
| 11 | +Hospital & 12.11$^{***}$ & 8.22$^{***}$ & 3.63$^{*}$ \\ | |
| 12 | +Park & 6.66$^{***}$ & 3.66$^{*}$ & 4.66$^{**}$ \\ | |
| 13 | +School & 0.05 & 0.83 & 0.04 \\ | |
| 14 | +Transit & 11.64$^{***}$ & 11.73$^{***}$ & 6.99$^{***}$ \\ | |
| 15 | +Golf course & 0.63 & 1.84 & 0.01 \\ | |
| 16 | +Garage & 0.22 & 0.75 & 2.26 \\ | |
| 17 | +\bottomrule | |
| 18 | +\end{tabular} | |
| 19 | +\begin{tablenotes} | |
| 20 | +\small | |
| 21 | +\item \textit{Notes:} See Table~\ref{tab:wald}. $^{***}$, $^{**}$ and $^{*}$ denote rejection at the 1, 5 and 10 percent levels. All entries are parsed from \texttt{results/sqr\_multi\_segment\_output.txt}, the preserved log of the original run of \texttt{scripts/05\_sqr\_multi\_segment.py}, by \texttt{scripts/06\_tables\_figures\_from\_log.py}. | |
| 22 | +\end{tablenotes} | |
| 23 | +\end{threeparttable} | |
| 24 | +\end{table} | |
deleted
paper/tables/wtp.tex
+0 −25
@@ -1,25 +0,0 @@ | ||
| 1 | −\begin{table}[H] | |
| 2 | −\centering | |
| 3 | −\caption{Implicit Prices (WTP) by Quantile --- Single-Family Houses (CAD)} | |
| 4 | −\label{tab:wtp} | |
| 5 | −\begin{threeparttable} | |
| 6 | −\begin{tabular}{lrrrrr} | |
| 7 | −\toprule | |
| 8 | −Amenity & $\tau=0.10$ & $\tau=0.25$ & $\tau=0.50$ & $\tau=0.75$ & $\tau=0.90$ \\ | |
| 9 | −& (\$275K) & (\$400K) & (\$579K) & (\$895K) & (\$1.49M) \\ | |
| 10 | −\midrule | |
| 11 | −Highway & $+$11,252 & $+$21,639 & $+$25,361 & $+$15,177 & $-$14,360 \\ | |
| 12 | −Hospital & $-$21,745 & $-$10,149 & $-$2,828 & $-$3,971 & $+$19,123 \\ | |
| 13 | −Park & $+$24,892 & $+$15,685 & $+$5,557 & $-$13,671 & $-$63,370 \\ | |
| 14 | −School & $-$17,424 & $-$31,686 & $-$41,124 & $-$75,223 & $-$116,716 \\ | |
| 15 | −Transit & $+$21,201 & $+$25,381 & $+$29,353 & $+$21,070 & $-$12,009 \\ | |
| 16 | −Golf & $+$17,086 & $+$21,873 & $+$23,905 & $+$53,269 & $+$90,217 \\ | |
| 17 | −Garage & $+$32,901 & $+$46,160 & $+$58,307 & $+$87,778 & $+$111,110 \\ | |
| 18 | −\bottomrule | |
| 19 | −\end{tabular} | |
| 20 | −\begin{tablenotes} | |
| 21 | −\small | |
| 22 | −\item \textit{Note:} WTP$(\tau) = P(\tau) \times [\exp(\hat\beta(\tau)) - 1]$. Reference prices in parentheses. | |
| 23 | −\end{tablenotes} | |
| 24 | −\end{threeparttable} | |
| 25 | −\end{table} | |
added
results/log_parsed.json
+3364 −0
@@ -0,0 +1,3364 @@ | ||
| 1 | +{ | |
| 2 | + "Houses": { | |
| 3 | + "name": "Houses", | |
| 4 | + "n_raw": 18920, | |
| 5 | + "n": 6250, | |
| 6 | + "price_min": 99000.0, | |
| 7 | + "price_max": 5295000.0, | |
| 8 | + "median": 579000.0, | |
| 9 | + "k": 17, | |
| 10 | + "regions": { | |
| 11 | + "Gatineau": { | |
| 12 | + "n": 454, | |
| 13 | + "median": 534856.0 | |
| 14 | + }, | |
| 15 | + "Montreal": { | |
| 16 | + "n": 1180, | |
| 17 | + "median": 868942.0 | |
| 18 | + }, | |
| 19 | + "Quebec": { | |
| 20 | + "n": 239, | |
| 21 | + "median": 536384.0 | |
| 22 | + }, | |
| 23 | + "Regions": { | |
| 24 | + "n": 4377, | |
| 25 | + "median": 520000.0 | |
| 26 | + } | |
| 27 | + }, | |
| 28 | + "amenity_share": { | |
| 29 | + "near_highway": 48.5, | |
| 30 | + "near_hospital": 30.5, | |
| 31 | + "near_park": 60.3, | |
| 32 | + "near_school": 69.2, | |
| 33 | + "near_transit": 34.8, | |
| 34 | + "near_golf": 39.7, | |
| 35 | + "has_garage": 56.9 | |
| 36 | + }, | |
| 37 | + "ols_adj_r2": 0.6185, | |
| 38 | + "moran_ols": { | |
| 39 | + "I": 0.5061, | |
| 40 | + "Z": 51.9 | |
| 41 | + }, | |
| 42 | + "pseudo_r2": { | |
| 43 | + "0.1": 0.3554, | |
| 44 | + "0.25": 0.3645, | |
| 45 | + "0.5": 0.4003, | |
| 46 | + "0.75": 0.4363, | |
| 47 | + "0.9": 0.4435 | |
| 48 | + }, | |
| 49 | + "first_stage_r2": 0.6719, | |
| 50 | + "rho50": 0.2906, | |
| 51 | + "ols": { | |
| 52 | + "near_highway": { | |
| 53 | + "b": 0.1329, | |
| 54 | + "stars": "***" | |
| 55 | + }, | |
| 56 | + "near_hospital": { | |
| 57 | + "b": -0.0487, | |
| 58 | + "stars": "***" | |
| 59 | + }, | |
| 60 | + "near_park": { | |
| 61 | + "b": 0.0416, | |
| 62 | + "stars": "**" | |
| 63 | + }, | |
| 64 | + "near_school": { | |
| 65 | + "b": -0.122, | |
| 66 | + "stars": "***" | |
| 67 | + }, | |
| 68 | + "near_transit": { | |
| 69 | + "b": 0.1133, | |
| 70 | + "stars": "***" | |
| 71 | + }, | |
| 72 | + "near_golf": { | |
| 73 | + "b": 0.052, | |
| 74 | + "stars": "***" | |
| 75 | + }, | |
| 76 | + "has_garage": { | |
| 77 | + "b": 0.0995, | |
| 78 | + "stars": "***" | |
| 79 | + } | |
| 80 | + }, | |
| 81 | + "qr": { | |
| 82 | + "0.1": { | |
| 83 | + "const": { | |
| 84 | + "b": 12.6525, | |
| 85 | + "se": 0.0413, | |
| 86 | + "z": 306.26, | |
| 87 | + "p": 0.0, | |
| 88 | + "stars": "***" | |
| 89 | + }, | |
| 90 | + "bedrooms_c": { | |
| 91 | + "b": -0.066, | |
| 92 | + "se": 0.0104, | |
| 93 | + "z": -6.33, | |
| 94 | + "p": 0.0, | |
| 95 | + "stars": "***" | |
| 96 | + }, | |
| 97 | + "total_baths_c": { | |
| 98 | + "b": 0.2349, | |
| 99 | + "se": 0.0154, | |
| 100 | + "z": 15.25, | |
| 101 | + "p": 0.0, | |
| 102 | + "stars": "***" | |
| 103 | + }, | |
| 104 | + "stories_c": { | |
| 105 | + "b": -0.0439, | |
| 106 | + "se": 0.0222, | |
| 107 | + "z": -1.97, | |
| 108 | + "p": 0.0485, | |
| 109 | + "stars": "*" | |
| 110 | + }, | |
| 111 | + "parking_spaces_c": { | |
| 112 | + "b": 0.0022, | |
| 113 | + "se": 0.0027, | |
| 114 | + "z": 0.82, | |
| 115 | + "p": 0.4103, | |
| 116 | + "stars": "" | |
| 117 | + }, | |
| 118 | + "ln_dist_c": { | |
| 119 | + "b": 2.4531, | |
| 120 | + "se": 0.5524, | |
| 121 | + "z": 4.44, | |
| 122 | + "p": 0.0, | |
| 123 | + "stars": "***" | |
| 124 | + }, | |
| 125 | + "ln_floor_c": { | |
| 126 | + "b": 0.5108, | |
| 127 | + "se": 0.0349, | |
| 128 | + "z": 14.62, | |
| 129 | + "p": 0.0, | |
| 130 | + "stars": "***" | |
| 131 | + }, | |
| 132 | + "ln_land_c": { | |
| 133 | + "b": 0.0481, | |
| 134 | + "se": 0.0115, | |
| 135 | + "z": 4.2, | |
| 136 | + "p": 0.0, | |
| 137 | + "stars": "***" | |
| 138 | + }, | |
| 139 | + "near_highway": { | |
| 140 | + "b": 0.2053, | |
| 141 | + "se": 0.033, | |
| 142 | + "z": 6.23, | |
| 143 | + "p": 0.0, | |
| 144 | + "stars": "***" | |
| 145 | + }, | |
| 146 | + "near_hospital": { | |
| 147 | + "b": -0.085, | |
| 148 | + "se": 0.0276, | |
| 149 | + "z": -3.08, | |
| 150 | + "p": 0.0021, | |
| 151 | + "stars": "**" | |
| 152 | + }, | |
| 153 | + "near_park": { | |
| 154 | + "b": 0.1219, | |
| 155 | + "se": 0.0335, | |
| 156 | + "z": 3.63, | |
| 157 | + "p": 0.0003, | |
| 158 | + "stars": "***" | |
| 159 | + }, | |
| 160 | + "near_school": { | |
| 161 | + "b": -0.1018, | |
| 162 | + "se": 0.0327, | |
| 163 | + "z": -3.12, | |
| 164 | + "p": 0.0018, | |
| 165 | + "stars": "**" | |
| 166 | + }, | |
| 167 | + "near_transit": { | |
| 168 | + "b": 0.178, | |
| 169 | + "se": 0.0269, | |
| 170 | + "z": 6.62, | |
| 171 | + "p": 0.0, | |
| 172 | + "stars": "***" | |
| 173 | + }, | |
| 174 | + "near_golf": { | |
| 175 | + "b": 0.041, | |
| 176 | + "se": 0.0261, | |
| 177 | + "z": 1.57, | |
| 178 | + "p": 0.1154, | |
| 179 | + "stars": "" | |
| 180 | + }, | |
| 181 | + "has_garage": { | |
| 182 | + "b": 0.0611, | |
| 183 | + "se": 0.0199, | |
| 184 | + "z": 3.06, | |
| 185 | + "p": 0.0022, | |
| 186 | + "stars": "**" | |
| 187 | + }, | |
| 188 | + "reg_Montreal": { | |
| 189 | + "b": 0.2787, | |
| 190 | + "se": 0.0299, | |
| 191 | + "z": 9.33, | |
| 192 | + "p": 0.0, | |
| 193 | + "stars": "***" | |
| 194 | + }, | |
| 195 | + "reg_Quebec": { | |
| 196 | + "b": 0.1128, | |
| 197 | + "se": 0.0606, | |
| 198 | + "z": 1.86, | |
| 199 | + "p": 0.0629, | |
| 200 | + "stars": "" | |
| 201 | + }, | |
| 202 | + "reg_Regions": { | |
| 203 | + "b": -0.1262, | |
| 204 | + "se": 0.0352, | |
| 205 | + "z": -3.59, | |
| 206 | + "p": 0.0003, | |
| 207 | + "stars": "***" | |
| 208 | + } | |
| 209 | + }, | |
| 210 | + "0.25": { | |
| 211 | + "const": { | |
| 212 | + "b": 12.8964, | |
| 213 | + "se": 0.0289, | |
| 214 | + "z": 445.49, | |
| 215 | + "p": 0.0, | |
| 216 | + "stars": "***" | |
| 217 | + }, | |
| 218 | + "bedrooms_c": { | |
| 219 | + "b": -0.0513, | |
| 220 | + "se": 0.008, | |
| 221 | + "z": -6.45, | |
| 222 | + "p": 0.0, | |
| 223 | + "stars": "***" | |
| 224 | + }, | |
| 225 | + "total_baths_c": { | |
| 226 | + "b": 0.2401, | |
| 227 | + "se": 0.012, | |
| 228 | + "z": 20.08, | |
| 229 | + "p": 0.0, | |
| 230 | + "stars": "***" | |
| 231 | + }, | |
| 232 | + "stories_c": { | |
| 233 | + "b": -0.0429, | |
| 234 | + "se": 0.0136, | |
| 235 | + "z": -3.16, | |
| 236 | + "p": 0.0016, | |
| 237 | + "stars": "**" | |
| 238 | + }, | |
| 239 | + "parking_spaces_c": { | |
| 240 | + "b": 0.0025, | |
| 241 | + "se": 0.0015, | |
| 242 | + "z": 1.67, | |
| 243 | + "p": 0.0949, | |
| 244 | + "stars": "" | |
| 245 | + }, | |
| 246 | + "ln_dist_c": { | |
| 247 | + "b": 1.5535, | |
| 248 | + "se": 0.4024, | |
| 249 | + "z": 3.86, | |
| 250 | + "p": 0.0001, | |
| 251 | + "stars": "***" | |
| 252 | + }, | |
| 253 | + "ln_floor_c": { | |
| 254 | + "b": 0.5089, | |
| 255 | + "se": 0.0206, | |
| 256 | + "z": 24.76, | |
| 257 | + "p": 0.0, | |
| 258 | + "stars": "***" | |
| 259 | + }, | |
| 260 | + "ln_land_c": { | |
| 261 | + "b": 0.0424, | |
| 262 | + "se": 0.0057, | |
| 263 | + "z": 7.47, | |
| 264 | + "p": 0.0, | |
| 265 | + "stars": "***" | |
| 266 | + }, | |
| 267 | + "near_highway": { | |
| 268 | + "b": 0.1562, | |
| 269 | + "se": 0.0178, | |
| 270 | + "z": 8.77, | |
| 271 | + "p": 0.0, | |
| 272 | + "stars": "***" | |
| 273 | + }, | |
| 274 | + "near_hospital": { | |
| 275 | + "b": -0.0613, | |
| 276 | + "se": 0.0153, | |
| 277 | + "z": -4.01, | |
| 278 | + "p": 0.0001, | |
| 279 | + "stars": "***" | |
| 280 | + }, | |
| 281 | + "near_park": { | |
| 282 | + "b": 0.0703, | |
| 283 | + "se": 0.0193, | |
| 284 | + "z": 3.65, | |
| 285 | + "p": 0.0003, | |
| 286 | + "stars": "***" | |
| 287 | + }, | |
| 288 | + "near_school": { | |
| 289 | + "b": -0.1364, | |
| 290 | + "se": 0.0219, | |
| 291 | + "z": -6.23, | |
| 292 | + "p": 0.0, | |
| 293 | + "stars": "***" | |
| 294 | + }, | |
| 295 | + "near_transit": { | |
| 296 | + "b": 0.162, | |
| 297 | + "se": 0.0199, | |
| 298 | + "z": 8.13, | |
| 299 | + "p": 0.0, | |
| 300 | + "stars": "***" | |
| 301 | + }, | |
| 302 | + "near_golf": { | |
| 303 | + "b": 0.0629, | |
| 304 | + "se": 0.0161, | |
| 305 | + "z": 3.91, | |
| 306 | + "p": 0.0001, | |
| 307 | + "stars": "***" | |
| 308 | + }, | |
| 309 | + "has_garage": { | |
| 310 | + "b": 0.1004, | |
| 311 | + "se": 0.0155, | |
| 312 | + "z": 6.48, | |
| 313 | + "p": 0.0, | |
| 314 | + "stars": "***" | |
| 315 | + }, | |
| 316 | + "reg_Montreal": { | |
| 317 | + "b": 0.2933, | |
| 318 | + "se": 0.018, | |
| 319 | + "z": 16.32, | |
| 320 | + "p": 0.0, | |
| 321 | + "stars": "***" | |
| 322 | + }, | |
| 323 | + "reg_Quebec": { | |
| 324 | + "b": 0.1595, | |
| 325 | + "se": 0.0333, | |
| 326 | + "z": 4.79, | |
| 327 | + "p": 0.0, | |
| 328 | + "stars": "***" | |
| 329 | + }, | |
| 330 | + "reg_Regions": { | |
| 331 | + "b": -0.0442, | |
| 332 | + "se": 0.0228, | |
| 333 | + "z": -1.94, | |
| 334 | + "p": 0.0527, | |
| 335 | + "stars": "" | |
| 336 | + } | |
| 337 | + }, | |
| 338 | + "0.5": { | |
| 339 | + "const": { | |
| 340 | + "b": 13.1598, | |
| 341 | + "se": 0.0219, | |
| 342 | + "z": 601.66, | |
| 343 | + "p": 0.0, | |
| 344 | + "stars": "***" | |
| 345 | + }, | |
| 346 | + "bedrooms_c": { | |
| 347 | + "b": -0.0357, | |
| 348 | + "se": 0.0078, | |
| 349 | + "z": -4.6, | |
| 350 | + "p": 0.0, | |
| 351 | + "stars": "***" | |
| 352 | + }, | |
| 353 | + "total_baths_c": { | |
| 354 | + "b": 0.2434, | |
| 355 | + "se": 0.0115, | |
| 356 | + "z": 21.24, | |
| 357 | + "p": 0.0, | |
| 358 | + "stars": "***" | |
| 359 | + }, | |
| 360 | + "stories_c": { | |
| 361 | + "b": -0.0435, | |
| 362 | + "se": 0.0147, | |
| 363 | + "z": -2.95, | |
| 364 | + "p": 0.0031, | |
| 365 | + "stars": "**" | |
| 366 | + }, | |
| 367 | + "parking_spaces_c": { | |
| 368 | + "b": 0.0061, | |
| 369 | + "se": 0.0021, | |
| 370 | + "z": 2.97, | |
| 371 | + "p": 0.003, | |
| 372 | + "stars": "**" | |
| 373 | + }, | |
| 374 | + "ln_dist_c": { | |
| 375 | + "b": 2.4091, | |
| 376 | + "se": 0.4797, | |
| 377 | + "z": 5.02, | |
| 378 | + "p": 0.0, | |
| 379 | + "stars": "***" | |
| 380 | + }, | |
| 381 | + "ln_floor_c": { | |
| 382 | + "b": 0.5551, | |
| 383 | + "se": 0.0211, | |
| 384 | + "z": 26.33, | |
| 385 | + "p": 0.0, | |
| 386 | + "stars": "***" | |
| 387 | + }, | |
| 388 | + "ln_land_c": { | |
| 389 | + "b": 0.0311, | |
| 390 | + "se": 0.0062, | |
| 391 | + "z": 5.01, | |
| 392 | + "p": 0.0, | |
| 393 | + "stars": "***" | |
| 394 | + }, | |
| 395 | + "near_highway": { | |
| 396 | + "b": 0.1129, | |
| 397 | + "se": 0.0155, | |
| 398 | + "z": 7.26, | |
| 399 | + "p": 0.0, | |
| 400 | + "stars": "***" | |
| 401 | + }, | |
| 402 | + "near_hospital": { | |
| 403 | + "b": -0.0269, | |
| 404 | + "se": 0.0129, | |
| 405 | + "z": -2.08, | |
| 406 | + "p": 0.0372, | |
| 407 | + "stars": "*" | |
| 408 | + }, | |
| 409 | + "near_park": { | |
| 410 | + "b": 0.0385, | |
| 411 | + "se": 0.0192, | |
| 412 | + "z": 2.0, | |
| 413 | + "p": 0.0456, | |
| 414 | + "stars": "*" | |
| 415 | + }, | |
| 416 | + "near_school": { | |
| 417 | + "b": -0.11, | |
| 418 | + "se": 0.0211, | |
| 419 | + "z": -5.22, | |
| 420 | + "p": 0.0, | |
| 421 | + "stars": "***" | |
| 422 | + }, | |
| 423 | + "near_transit": { | |
| 424 | + "b": 0.0943, | |
| 425 | + "se": 0.0167, | |
| 426 | + "z": 5.65, | |
| 427 | + "p": 0.0, | |
| 428 | + "stars": "***" | |
| 429 | + }, | |
| 430 | + "near_golf": { | |
| 431 | + "b": 0.0381, | |
| 432 | + "se": 0.0128, | |
| 433 | + "z": 2.98, | |
| 434 | + "p": 0.0029, | |
| 435 | + "stars": "**" | |
| 436 | + }, | |
| 437 | + "has_garage": { | |
| 438 | + "b": 0.0963, | |
| 439 | + "se": 0.0123, | |
| 440 | + "z": 7.83, | |
| 441 | + "p": 0.0, | |
| 442 | + "stars": "***" | |
| 443 | + }, | |
| 444 | + "reg_Montreal": { | |
| 445 | + "b": 0.2941, | |
| 446 | + "se": 0.0214, | |
| 447 | + "z": 13.73, | |
| 448 | + "p": 0.0, | |
| 449 | + "stars": "***" | |
| 450 | + }, | |
| 451 | + "reg_Quebec": { | |
| 452 | + "b": 0.179, | |
| 453 | + "se": 0.025, | |
| 454 | + "z": 7.17, | |
| 455 | + "p": 0.0, | |
| 456 | + "stars": "***" | |
| 457 | + }, | |
| 458 | + "reg_Regions": { | |
| 459 | + "b": 0.0252, | |
| 460 | + "se": 0.021, | |
| 461 | + "z": 1.2, | |
| 462 | + "p": 0.2288, | |
| 463 | + "stars": "" | |
| 464 | + } | |
| 465 | + }, | |
| 466 | + "0.75": { | |
| 467 | + "const": { | |
| 468 | + "b": 13.365, | |
| 469 | + "se": 0.0229, | |
| 470 | + "z": 583.13, | |
| 471 | + "p": 0.0, | |
| 472 | + "stars": "***" | |
| 473 | + }, | |
| 474 | + "bedrooms_c": { | |
| 475 | + "b": -0.0368, | |
| 476 | + "se": 0.0068, | |
| 477 | + "z": -5.42, | |
| 478 | + "p": 0.0, | |
| 479 | + "stars": "***" | |
| 480 | + }, | |
| 481 | + "total_baths_c": { | |
| 482 | + "b": 0.2493, | |
| 483 | + "se": 0.0107, | |
| 484 | + "z": 23.23, | |
| 485 | + "p": 0.0, | |
| 486 | + "stars": "***" | |
| 487 | + }, | |
| 488 | + "stories_c": { | |
| 489 | + "b": -0.026, | |
| 490 | + "se": 0.0124, | |
| 491 | + "z": -2.1, | |
| 492 | + "p": 0.036, | |
| 493 | + "stars": "*" | |
| 494 | + }, | |
| 495 | + "parking_spaces_c": { | |
| 496 | + "b": 0.0108, | |
| 497 | + "se": 0.0022, | |
| 498 | + "z": 4.9, | |
| 499 | + "p": 0.0, | |
| 500 | + "stars": "***" | |
| 501 | + }, | |
| 502 | + "ln_dist_c": { | |
| 503 | + "b": 1.965, | |
| 504 | + "se": 0.4594, | |
| 505 | + "z": 4.28, | |
| 506 | + "p": 0.0, | |
| 507 | + "stars": "***" | |
| 508 | + }, | |
| 509 | + "ln_floor_c": { | |
| 510 | + "b": 0.6077, | |
| 511 | + "se": 0.0238, | |
| 512 | + "z": 25.58, | |
| 513 | + "p": 0.0, | |
| 514 | + "stars": "***" | |
| 515 | + }, | |
| 516 | + "ln_land_c": { | |
| 517 | + "b": 0.0229, | |
| 518 | + "se": 0.0063, | |
| 519 | + "z": 3.63, | |
| 520 | + "p": 0.0003, | |
| 521 | + "stars": "***" | |
| 522 | + }, | |
| 523 | + "near_highway": { | |
| 524 | + "b": 0.0714, | |
| 525 | + "se": 0.0143, | |
| 526 | + "z": 4.98, | |
| 527 | + "p": 0.0, | |
| 528 | + "stars": "***" | |
| 529 | + }, | |
| 530 | + "near_hospital": { | |
| 531 | + "b": 0.001, | |
| 532 | + "se": 0.0154, | |
| 533 | + "z": 0.06, | |
| 534 | + "p": 0.9499, | |
| 535 | + "stars": "" | |
| 536 | + }, | |
| 537 | + "near_park": { | |
| 538 | + "b": 0.0155, | |
| 539 | + "se": 0.0212, | |
| 540 | + "z": 0.73, | |
| 541 | + "p": 0.465, | |
| 542 | + "stars": "" | |
| 543 | + }, | |
| 544 | + "near_school": { | |
| 545 | + "b": -0.1099, | |
| 546 | + "se": 0.0193, | |
| 547 | + "z": -5.69, | |
| 548 | + "p": 0.0, | |
| 549 | + "stars": "***" | |
| 550 | + }, | |
| 551 | + "near_transit": { | |
| 552 | + "b": 0.0741, | |
| 553 | + "se": 0.0162, | |
| 554 | + "z": 4.58, | |
| 555 | + "p": 0.0, | |
| 556 | + "stars": "***" | |
| 557 | + }, | |
| 558 | + "near_golf": { | |
| 559 | + "b": 0.036, | |
| 560 | + "se": 0.0117, | |
| 561 | + "z": 3.08, | |
| 562 | + "p": 0.0021, | |
| 563 | + "stars": "**" | |
| 564 | + }, | |
| 565 | + "has_garage": { | |
| 566 | + "b": 0.0823, | |
| 567 | + "se": 0.0139, | |
| 568 | + "z": 5.9, | |
| 569 | + "p": 0.0, | |
| 570 | + "stars": "***" | |
| 571 | + }, | |
| 572 | + "reg_Montreal": { | |
| 573 | + "b": 0.3625, | |
| 574 | + "se": 0.0187, | |
| 575 | + "z": 19.36, | |
| 576 | + "p": 0.0, | |
| 577 | + "stars": "***" | |
| 578 | + }, | |
| 579 | + "reg_Quebec": { | |
| 580 | + "b": 0.2033, | |
| 581 | + "se": 0.0385, | |
| 582 | + "z": 5.28, | |
| 583 | + "p": 0.0, | |
| 584 | + "stars": "***" | |
| 585 | + }, | |
| 586 | + "reg_Regions": { | |
| 587 | + "b": 0.0945, | |
| 588 | + "se": 0.0195, | |
| 589 | + "z": 4.84, | |
| 590 | + "p": 0.0, | |
| 591 | + "stars": "***" | |
| 592 | + } | |
| 593 | + }, | |
| 594 | + "0.9": { | |
| 595 | + "const": { | |
| 596 | + "b": 13.5794, | |
| 597 | + "se": 0.0367, | |
| 598 | + "z": 370.16, | |
| 599 | + "p": 0.0, | |
| 600 | + "stars": "***" | |
| 601 | + }, | |
| 602 | + "bedrooms_c": { | |
| 603 | + "b": -0.0513, | |
| 604 | + "se": 0.0124, | |
| 605 | + "z": -4.15, | |
| 606 | + "p": 0.0, | |
| 607 | + "stars": "***" | |
| 608 | + }, | |
| 609 | + "total_baths_c": { | |
| 610 | + "b": 0.2443, | |
| 611 | + "se": 0.0175, | |
| 612 | + "z": 13.99, | |
| 613 | + "p": 0.0, | |
| 614 | + "stars": "***" | |
| 615 | + }, | |
| 616 | + "stories_c": { | |
| 617 | + "b": -0.0002, | |
| 618 | + "se": 0.022, | |
| 619 | + "z": -0.01, | |
| 620 | + "p": 0.9924, | |
| 621 | + "stars": "" | |
| 622 | + }, | |
| 623 | + "parking_spaces_c": { | |
| 624 | + "b": 0.0155, | |
| 625 | + "se": 0.0024, | |
| 626 | + "z": 6.39, | |
| 627 | + "p": 0.0, | |
| 628 | + "stars": "***" | |
| 629 | + }, | |
| 630 | + "ln_dist_c": { | |
| 631 | + "b": 1.9551, | |
| 632 | + "se": 0.8298, | |
| 633 | + "z": 2.36, | |
| 634 | + "p": 0.0185, | |
| 635 | + "stars": "*" | |
| 636 | + }, | |
| 637 | + "ln_floor_c": { | |
| 638 | + "b": 0.6883, | |
| 639 | + "se": 0.0319, | |
| 640 | + "z": 21.6, | |
| 641 | + "p": 0.0, | |
| 642 | + "stars": "***" | |
| 643 | + }, | |
| 644 | + "ln_land_c": { | |
| 645 | + "b": 0.023, | |
| 646 | + "se": 0.006, | |
| 647 | + "z": 3.8, | |
| 648 | + "p": 0.0001, | |
| 649 | + "stars": "***" | |
| 650 | + }, | |
| 651 | + "near_highway": { | |
| 652 | + "b": 0.0342, | |
| 653 | + "se": 0.025, | |
| 654 | + "z": 1.37, | |
| 655 | + "p": 0.1707, | |
| 656 | + "stars": "" | |
| 657 | + }, | |
| 658 | + "near_hospital": { | |
| 659 | + "b": 0.0414, | |
| 660 | + "se": 0.0236, | |
| 661 | + "z": 1.75, | |
| 662 | + "p": 0.0794, | |
| 663 | + "stars": "" | |
| 664 | + }, | |
| 665 | + "near_park": { | |
| 666 | + "b": 0.0142, | |
| 667 | + "se": 0.0248, | |
| 668 | + "z": 0.57, | |
| 669 | + "p": 0.5658, | |
| 670 | + "stars": "" | |
| 671 | + }, | |
| 672 | + "near_school": { | |
| 673 | + "b": -0.1111, | |
| 674 | + "se": 0.0242, | |
| 675 | + "z": -4.59, | |
| 676 | + "p": 0.0, | |
| 677 | + "stars": "***" | |
| 678 | + }, | |
| 679 | + "near_transit": { | |
| 680 | + "b": 0.0531, | |
| 681 | + "se": 0.0248, | |
| 682 | + "z": 2.14, | |
| 683 | + "p": 0.0327, | |
| 684 | + "stars": "*" | |
| 685 | + }, | |
| 686 | + "near_golf": { | |
| 687 | + "b": 0.0152, | |
| 688 | + "se": 0.0197, | |
| 689 | + "z": 0.77, | |
| 690 | + "p": 0.442, | |
| 691 | + "stars": "" | |
| 692 | + }, | |
| 693 | + "has_garage": { | |
| 694 | + "b": 0.0473, | |
| 695 | + "se": 0.022, | |
| 696 | + "z": 2.15, | |
| 697 | + "p": 0.0316, | |
| 698 | + "stars": "*" | |
| 699 | + }, | |
| 700 | + "reg_Montreal": { | |
| 701 | + "b": 0.4411, | |
| 702 | + "se": 0.0392, | |
| 703 | + "z": 11.27, | |
| 704 | + "p": 0.0, | |
| 705 | + "stars": "***" | |
| 706 | + }, | |
| 707 | + "reg_Quebec": { | |
| 708 | + "b": 0.2527, | |
| 709 | + "se": 0.0502, | |
| 710 | + "z": 5.04, | |
| 711 | + "p": 0.0, | |
| 712 | + "stars": "***" | |
| 713 | + }, | |
| 714 | + "reg_Regions": { | |
| 715 | + "b": 0.1626, | |
| 716 | + "se": 0.0328, | |
| 717 | + "z": 4.96, | |
| 718 | + "p": 0.0, | |
| 719 | + "stars": "***" | |
| 720 | + } | |
| 721 | + } | |
| 722 | + }, | |
| 723 | + "wald": { | |
| 724 | + "near_highway": { | |
| 725 | + "10_90": 17.12, | |
| 726 | + "25_75": 13.78, | |
| 727 | + "10_50": 6.42 | |
| 728 | + }, | |
| 729 | + "near_hospital": { | |
| 730 | + "10_90": 12.11, | |
| 731 | + "25_75": 8.22, | |
| 732 | + "10_50": 3.63 | |
| 733 | + }, | |
| 734 | + "near_park": { | |
| 735 | + "10_90": 6.66, | |
| 736 | + "25_75": 3.66, | |
| 737 | + "10_50": 4.66 | |
| 738 | + }, | |
| 739 | + "near_school": { | |
| 740 | + "10_90": 0.05, | |
| 741 | + "25_75": 0.83, | |
| 742 | + "10_50": 0.04 | |
| 743 | + }, | |
| 744 | + "near_transit": { | |
| 745 | + "10_90": 11.64, | |
| 746 | + "25_75": 11.73, | |
| 747 | + "10_50": 6.99 | |
| 748 | + }, | |
| 749 | + "near_golf": { | |
| 750 | + "10_90": 0.63, | |
| 751 | + "25_75": 1.84, | |
| 752 | + "10_50": 0.01 | |
| 753 | + }, | |
| 754 | + "has_garage": { | |
| 755 | + "10_90": 0.22, | |
| 756 | + "25_75": 0.75, | |
| 757 | + "10_50": 2.26 | |
| 758 | + } | |
| 759 | + }, | |
| 760 | + "moran_resid": { | |
| 761 | + "QR_0.1": { | |
| 762 | + "I": 0.5145, | |
| 763 | + "Z": 52.8 | |
| 764 | + }, | |
| 765 | + "QR_0.25": { | |
| 766 | + "I": 0.5149, | |
| 767 | + "Z": 52.8 | |
| 768 | + }, | |
| 769 | + "QR_0.5": { | |
| 770 | + "I": 0.5236, | |
| 771 | + "Z": 53.7 | |
| 772 | + }, | |
| 773 | + "QR_0.75": { | |
| 774 | + "I": 0.5194, | |
| 775 | + "Z": 53.3 | |
| 776 | + }, | |
| 777 | + "QR_0.9": { | |
| 778 | + "I": 0.5148, | |
| 779 | + "Z": 52.8 | |
| 780 | + }, | |
| 781 | + "SQR_0.1": { | |
| 782 | + "I": 0.5179, | |
| 783 | + "Z": 53.1 | |
| 784 | + }, | |
| 785 | + "SQR_0.25": { | |
| 786 | + "I": 0.5195, | |
| 787 | + "Z": 53.3 | |
| 788 | + }, | |
| 789 | + "SQR_0.5": { | |
| 790 | + "I": 0.5363, | |
| 791 | + "Z": 55.0 | |
| 792 | + }, | |
| 793 | + "SQR_0.75": { | |
| 794 | + "I": 0.5432, | |
| 795 | + "Z": 55.7 | |
| 796 | + }, | |
| 797 | + "SQR_0.9": { | |
| 798 | + "I": 0.545, | |
| 799 | + "Z": 55.9 | |
| 800 | + } | |
| 801 | + }, | |
| 802 | + "wtp": { | |
| 803 | + "Highway": [ | |
| 804 | + 62663.0, | |
| 805 | + 67602.0, | |
| 806 | + 69207.0, | |
| 807 | + 66200.0, | |
| 808 | + 51655.0 | |
| 809 | + ], | |
| 810 | + "Hospital": [ | |
| 811 | + -22403.0, | |
| 812 | + -23779.0, | |
| 813 | + -15372.0, | |
| 814 | + 869.0, | |
| 815 | + 62776.0 | |
| 816 | + ], | |
| 817 | + "Park": [ | |
| 818 | + 35648.0, | |
| 819 | + 29106.0, | |
| 820 | + 22701.0, | |
| 821 | + 13965.0, | |
| 822 | + 21292.0 | |
| 823 | + ], | |
| 824 | + "School": [ | |
| 825 | + -26608.0, | |
| 826 | + -50987.0, | |
| 827 | + -60312.0, | |
| 828 | + -93116.0, | |
| 829 | + -156222.0 | |
| 830 | + ], | |
| 831 | + "Transit": [ | |
| 832 | + 53567.0, | |
| 833 | + 70340.0, | |
| 834 | + 57284.0, | |
| 835 | + 68853.0, | |
| 836 | + 80970.0 | |
| 837 | + ], | |
| 838 | + "Golf": [ | |
| 839 | + 11521.0, | |
| 840 | + 25979.0, | |
| 841 | + 22469.0, | |
| 842 | + 32767.0, | |
| 843 | + 22679.0 | |
| 844 | + ], | |
| 845 | + "Garage": [ | |
| 846 | + 17329.0, | |
| 847 | + 42221.0, | |
| 848 | + 58542.0, | |
| 849 | + 76791.0, | |
| 850 | + 71954.0 | |
| 851 | + ] | |
| 852 | + }, | |
| 853 | + "effects": { | |
| 854 | + "near_highway": { | |
| 855 | + "beta": 0.0574, | |
| 856 | + "total": 0.0809, | |
| 857 | + "indirect": 0.0235, | |
| 858 | + "dollar": 48767.0 | |
| 859 | + }, | |
| 860 | + "near_hospital": { | |
| 861 | + "beta": -0.0057, | |
| 862 | + "total": -0.008, | |
| 863 | + "indirect": -0.0023, | |
| 864 | + "dollar": -4635.0 | |
| 865 | + }, | |
| 866 | + "near_park": { | |
| 867 | + "beta": 0.0424, | |
| 868 | + "total": 0.0597, | |
| 869 | + "indirect": 0.0174, | |
| 870 | + "dollar": 35626.0 | |
| 871 | + }, | |
| 872 | + "near_school": { | |
| 873 | + "beta": -0.0716, | |
| 874 | + "total": -0.1009, | |
| 875 | + "indirect": -0.0293, | |
| 876 | + "dollar": -55569.0 | |
| 877 | + }, | |
| 878 | + "near_transit": { | |
| 879 | + "beta": 0.071, | |
| 880 | + "total": 0.1, | |
| 881 | + "indirect": 0.0291, | |
| 882 | + "dollar": 60914.0 | |
| 883 | + }, | |
| 884 | + "near_golf": { | |
| 885 | + "beta": 0.0233, | |
| 886 | + "total": 0.0329, | |
| 887 | + "indirect": 0.0096, | |
| 888 | + "dollar": 19356.0 | |
| 889 | + }, | |
| 890 | + "has_garage": { | |
| 891 | + "beta": 0.0913, | |
| 892 | + "total": 0.1287, | |
| 893 | + "indirect": 0.0374, | |
| 894 | + "dollar": 79543.0 | |
| 895 | + } | |
| 896 | + }, | |
| 897 | + "reference_prices": { | |
| 898 | + "0.1": 274966.30496703426, | |
| 899 | + "0.25": 399869.88829701504, | |
| 900 | + "0.5": 579041.2840652411, | |
| 901 | + "0.75": 894464.724884142, | |
| 902 | + "0.9": 1484699.8308393054 | |
| 903 | + }, | |
| 904 | + "implied_first_stage_F": 374.33516503218175 | |
| 905 | + }, | |
| 906 | + "Condos": { | |
| 907 | + "name": "Condos", | |
| 908 | + "n_raw": 9347, | |
| 909 | + "n": 1031, | |
| 910 | + "price_min": 177700.0, | |
| 911 | + "price_max": 2932760.0, | |
| 912 | + "median": 425000.0, | |
| 913 | + "k": 17, | |
| 914 | + "regions": { | |
| 915 | + "Gatineau": { | |
| 916 | + "n": 15, | |
| 917 | + "median": 319000.0 | |
| 918 | + }, | |
| 919 | + "Montreal": { | |
| 920 | + "n": 267, | |
| 921 | + "median": 582000.0 | |
| 922 | + }, | |
| 923 | + "Quebec": { | |
| 924 | + "n": 31, | |
| 925 | + "median": 450000.0 | |
| 926 | + }, | |
| 927 | + "Regions": { | |
| 928 | + "n": 718, | |
| 929 | + "median": 375000.0 | |
| 930 | + } | |
| 931 | + }, | |
| 932 | + "amenity_share": { | |
| 933 | + "near_highway": 72.5, | |
| 934 | + "near_hospital": 51.5, | |
| 935 | + "near_park": 81.2, | |
| 936 | + "near_school": 82.9, | |
| 937 | + "near_transit": 73.5, | |
| 938 | + "near_golf": 40.0, | |
| 939 | + "has_garage": 37.1 | |
| 940 | + }, | |
| 941 | + "ols_adj_r2": 0.669, | |
| 942 | + "moran_ols": { | |
| 943 | + "I": 0.551, | |
| 944 | + "Z": 22.0 | |
| 945 | + }, | |
| 946 | + "pseudo_r2": { | |
| 947 | + "0.1": 0.3773, | |
| 948 | + "0.25": 0.414, | |
| 949 | + "0.5": 0.4486, | |
| 950 | + "0.75": 0.4678, | |
| 951 | + "0.9": 0.4559 | |
| 952 | + }, | |
| 953 | + "first_stage_r2": 0.7188, | |
| 954 | + "rho50": 0.2027, | |
| 955 | + "ols": { | |
| 956 | + "near_highway": { | |
| 957 | + "b": -0.0231, | |
| 958 | + "stars": "" | |
| 959 | + }, | |
| 960 | + "near_hospital": { | |
| 961 | + "b": 0.008, | |
| 962 | + "stars": "" | |
| 963 | + }, | |
| 964 | + "near_park": { | |
| 965 | + "b": 0.0266, | |
| 966 | + "stars": "" | |
| 967 | + }, | |
| 968 | + "near_school": { | |
| 969 | + "b": -0.0303, | |
| 970 | + "stars": "" | |
| 971 | + }, | |
| 972 | + "near_transit": { | |
| 973 | + "b": 0.0635, | |
| 974 | + "stars": "**" | |
| 975 | + }, | |
| 976 | + "near_golf": { | |
| 977 | + "b": -0.0782, | |
| 978 | + "stars": "***" | |
| 979 | + }, | |
| 980 | + "has_garage": { | |
| 981 | + "b": 0.1343, | |
| 982 | + "stars": "***" | |
| 983 | + } | |
| 984 | + }, | |
| 985 | + "qr": { | |
| 986 | + "0.1": { | |
| 987 | + "const": { | |
| 988 | + "b": 12.5504, | |
| 989 | + "se": 0.1969, | |
| 990 | + "z": 63.74, | |
| 991 | + "p": 0.0, | |
| 992 | + "stars": "***" | |
| 993 | + }, | |
| 994 | + "bedrooms_c": { | |
| 995 | + "b": 0.0019, | |
| 996 | + "se": 0.0289, | |
| 997 | + "z": 0.07, | |
| 998 | + "p": 0.9467, | |
| 999 | + "stars": "" | |
| 1000 | + }, | |
| 1001 | + "total_baths_c": { | |
| 1002 | + "b": 0.217, | |
| 1003 | + "se": 0.0356, | |
| 1004 | + "z": 6.1, | |
| 1005 | + "p": 0.0, | |
| 1006 | + "stars": "***" | |
| 1007 | + }, | |
| 1008 | + "stories_c": { | |
| 1009 | + "b": 0.0164, | |
| 1010 | + "se": 0.0047, | |
| 1011 | + "z": 3.52, | |
| 1012 | + "p": 0.0004, | |
| 1013 | + "stars": "***" | |
| 1014 | + }, | |
| 1015 | + "parking_spaces_c": { | |
| 1016 | + "b": 0.0016, | |
| 1017 | + "se": 0.0066, | |
| 1018 | + "z": 0.25, | |
| 1019 | + "p": 0.806, | |
| 1020 | + "stars": "" | |
| 1021 | + }, | |
| 1022 | + "ln_dist_c": { | |
| 1023 | + "b": 2.4816, | |
| 1024 | + "se": 0.898, | |
| 1025 | + "z": 2.76, | |
| 1026 | + "p": 0.0057, | |
| 1027 | + "stars": "**" | |
| 1028 | + }, | |
| 1029 | + "ln_floor_c": { | |
| 1030 | + "b": 0.4459, | |
| 1031 | + "se": 0.0604, | |
| 1032 | + "z": 7.39, | |
| 1033 | + "p": 0.0, | |
| 1034 | + "stars": "***" | |
| 1035 | + }, | |
| 1036 | + "ln_land_c": { | |
| 1037 | + "b": 0.0023, | |
| 1038 | + "se": 0.0068, | |
| 1039 | + "z": 0.34, | |
| 1040 | + "p": 0.7341, | |
| 1041 | + "stars": "" | |
| 1042 | + }, | |
| 1043 | + "near_highway": { | |
| 1044 | + "b": 0.001, | |
| 1045 | + "se": 0.034, | |
| 1046 | + "z": 0.03, | |
| 1047 | + "p": 0.9772, | |
| 1048 | + "stars": "" | |
| 1049 | + }, | |
| 1050 | + "near_hospital": { | |
| 1051 | + "b": -0.0006, | |
| 1052 | + "se": 0.0279, | |
| 1053 | + "z": -0.02, | |
| 1054 | + "p": 0.9839, | |
| 1055 | + "stars": "" | |
| 1056 | + }, | |
| 1057 | + "near_park": { | |
| 1058 | + "b": 0.0336, | |
| 1059 | + "se": 0.0399, | |
| 1060 | + "z": 0.84, | |
| 1061 | + "p": 0.4, | |
| 1062 | + "stars": "" | |
| 1063 | + }, | |
| 1064 | + "near_school": { | |
| 1065 | + "b": 0.0291, | |
| 1066 | + "se": 0.0391, | |
| 1067 | + "z": 0.75, | |
| 1068 | + "p": 0.4562, | |
| 1069 | + "stars": "" | |
| 1070 | + }, | |
| 1071 | + "near_transit": { | |
| 1072 | + "b": 0.0297, | |
| 1073 | + "se": 0.0383, | |
| 1074 | + "z": 0.78, | |
| 1075 | + "p": 0.4371, | |
| 1076 | + "stars": "" | |
| 1077 | + }, | |
| 1078 | + "near_golf": { | |
| 1079 | + "b": -0.0598, | |
| 1080 | + "se": 0.0234, | |
| 1081 | + "z": -2.55, | |
| 1082 | + "p": 0.0107, | |
| 1083 | + "stars": "*" | |
| 1084 | + }, | |
| 1085 | + "has_garage": { | |
| 1086 | + "b": 0.1046, | |
| 1087 | + "se": 0.0383, | |
| 1088 | + "z": 2.73, | |
| 1089 | + "p": 0.0064, | |
| 1090 | + "stars": "**" | |
| 1091 | + }, | |
| 1092 | + "reg_Montreal": { | |
| 1093 | + "b": 0.246, | |
| 1094 | + "se": 0.1975, | |
| 1095 | + "z": 1.25, | |
| 1096 | + "p": 0.213, | |
| 1097 | + "stars": "" | |
| 1098 | + }, | |
| 1099 | + "reg_Quebec": { | |
| 1100 | + "b": -0.0253, | |
| 1101 | + "se": 0.2204, | |
| 1102 | + "z": -0.11, | |
| 1103 | + "p": 0.9085, | |
| 1104 | + "stars": "" | |
| 1105 | + }, | |
| 1106 | + "reg_Regions": { | |
| 1107 | + "b": 0.0235, | |
| 1108 | + "se": 0.1992, | |
| 1109 | + "z": 0.12, | |
| 1110 | + "p": 0.906, | |
| 1111 | + "stars": "" | |
| 1112 | + } | |
| 1113 | + }, | |
| 1114 | + "0.25": { | |
| 1115 | + "const": { | |
| 1116 | + "b": 12.5857, | |
| 1117 | + "se": 0.0648, | |
| 1118 | + "z": 194.27, | |
| 1119 | + "p": 0.0, | |
| 1120 | + "stars": "***" | |
| 1121 | + }, | |
| 1122 | + "bedrooms_c": { | |
| 1123 | + "b": 0.0033, | |
| 1124 | + "se": 0.0191, | |
| 1125 | + "z": 0.17, | |
| 1126 | + "p": 0.864, | |
| 1127 | + "stars": "" | |
| 1128 | + }, | |
| 1129 | + "total_baths_c": { | |
| 1130 | + "b": 0.244, | |
| 1131 | + "se": 0.031, | |
| 1132 | + "z": 7.87, | |
| 1133 | + "p": 0.0, | |
| 1134 | + "stars": "***" | |
| 1135 | + }, | |
| 1136 | + "stories_c": { | |
| 1137 | + "b": 0.012, | |
| 1138 | + "se": 0.0026, | |
| 1139 | + "z": 4.59, | |
| 1140 | + "p": 0.0, | |
| 1141 | + "stars": "***" | |
| 1142 | + }, | |
| 1143 | + "parking_spaces_c": { | |
| 1144 | + "b": 0.0013, | |
| 1145 | + "se": 0.0043, | |
| 1146 | + "z": 0.3, | |
| 1147 | + "p": 0.7628, | |
| 1148 | + "stars": "" | |
| 1149 | + }, | |
| 1150 | + "ln_dist_c": { | |
| 1151 | + "b": 2.0919, | |
| 1152 | + "se": 1.0656, | |
| 1153 | + "z": 1.96, | |
| 1154 | + "p": 0.0496, | |
| 1155 | + "stars": "*" | |
| 1156 | + }, | |
| 1157 | + "ln_floor_c": { | |
| 1158 | + "b": 0.3718, | |
| 1159 | + "se": 0.059, | |
| 1160 | + "z": 6.3, | |
| 1161 | + "p": 0.0, | |
| 1162 | + "stars": "***" | |
| 1163 | + }, | |
| 1164 | + "ln_land_c": { | |
| 1165 | + "b": 0.0046, | |
| 1166 | + "se": 0.0052, | |
| 1167 | + "z": 0.88, | |
| 1168 | + "p": 0.3785, | |
| 1169 | + "stars": "" | |
| 1170 | + }, | |
| 1171 | + "near_highway": { | |
| 1172 | + "b": -0.0089, | |
| 1173 | + "se": 0.0254, | |
| 1174 | + "z": -0.35, | |
| 1175 | + "p": 0.7261, | |
| 1176 | + "stars": "" | |
| 1177 | + }, | |
| 1178 | + "near_hospital": { | |
| 1179 | + "b": 0.0011, | |
| 1180 | + "se": 0.0206, | |
| 1181 | + "z": 0.06, | |
| 1182 | + "p": 0.9559, | |
| 1183 | + "stars": "" | |
| 1184 | + }, | |
| 1185 | + "near_park": { | |
| 1186 | + "b": 0.0358, | |
| 1187 | + "se": 0.0315, | |
| 1188 | + "z": 1.14, | |
| 1189 | + "p": 0.2562, | |
| 1190 | + "stars": "" | |
| 1191 | + }, | |
| 1192 | + "near_school": { | |
| 1193 | + "b": -0.0098, | |
| 1194 | + "se": 0.0348, | |
| 1195 | + "z": -0.28, | |
| 1196 | + "p": 0.7783, | |
| 1197 | + "stars": "" | |
| 1198 | + }, | |
| 1199 | + "near_transit": { | |
| 1200 | + "b": 0.0252, | |
| 1201 | + "se": 0.0302, | |
| 1202 | + "z": 0.84, | |
| 1203 | + "p": 0.4036, | |
| 1204 | + "stars": "" | |
| 1205 | + }, | |
| 1206 | + "near_golf": { | |
| 1207 | + "b": -0.0586, | |
| 1208 | + "se": 0.0196, | |
| 1209 | + "z": -2.99, | |
| 1210 | + "p": 0.0028, | |
| 1211 | + "stars": "**" | |
| 1212 | + }, | |
| 1213 | + "has_garage": { | |
| 1214 | + "b": 0.1591, | |
| 1215 | + "se": 0.0296, | |
| 1216 | + "z": 5.38, | |
| 1217 | + "p": 0.0, | |
| 1218 | + "stars": "***" | |
| 1219 | + }, | |
| 1220 | + "reg_Montreal": { | |
| 1221 | + "b": 0.3755, | |
| 1222 | + "se": 0.0643, | |
| 1223 | + "z": 5.84, | |
| 1224 | + "p": 0.0, | |
| 1225 | + "stars": "***" | |
| 1226 | + }, | |
| 1227 | + "reg_Quebec": { | |
| 1228 | + "b": 0.1805, | |
| 1229 | + "se": 0.1177, | |
| 1230 | + "z": 1.53, | |
| 1231 | + "p": 0.1252, | |
| 1232 | + "stars": "" | |
| 1233 | + }, | |
| 1234 | + "reg_Regions": { | |
| 1235 | + "b": 0.1453, | |
| 1236 | + "se": 0.0645, | |
| 1237 | + "z": 2.25, | |
| 1238 | + "p": 0.0244, | |
| 1239 | + "stars": "*" | |
| 1240 | + } | |
| 1241 | + }, | |
| 1242 | + "0.5": { | |
| 1243 | + "const": { | |
| 1244 | + "b": 12.7345, | |
| 1245 | + "se": 0.0554, | |
| 1246 | + "z": 229.78, | |
| 1247 | + "p": 0.0, | |
| 1248 | + "stars": "***" | |
| 1249 | + }, | |
| 1250 | + "bedrooms_c": { | |
| 1251 | + "b": 0.0083, | |
| 1252 | + "se": 0.0217, | |
| 1253 | + "z": 0.38, | |
| 1254 | + "p": 0.703, | |
| 1255 | + "stars": "" | |
| 1256 | + }, | |
| 1257 | + "total_baths_c": { | |
| 1258 | + "b": 0.2482, | |
| 1259 | + "se": 0.0254, | |
| 1260 | + "z": 9.78, | |
| 1261 | + "p": 0.0, | |
| 1262 | + "stars": "***" | |
| 1263 | + }, | |
| 1264 | + "stories_c": { | |
| 1265 | + "b": 0.0158, | |
| 1266 | + "se": 0.0026, | |
| 1267 | + "z": 6.13, | |
| 1268 | + "p": 0.0, | |
| 1269 | + "stars": "***" | |
| 1270 | + }, | |
| 1271 | + "parking_spaces_c": { | |
| 1272 | + "b": 0.0011, | |
| 1273 | + "se": 0.0047, | |
| 1274 | + "z": 0.24, | |
| 1275 | + "p": 0.8136, | |
| 1276 | + "stars": "" | |
| 1277 | + }, | |
| 1278 | + "ln_dist_c": { | |
| 1279 | + "b": 0.4903, | |
| 1280 | + "se": 1.0841, | |
| 1281 | + "z": 0.45, | |
| 1282 | + "p": 0.6511, | |
| 1283 | + "stars": "" | |
| 1284 | + }, | |
| 1285 | + "ln_floor_c": { | |
| 1286 | + "b": 0.4305, | |
| 1287 | + "se": 0.0505, | |
| 1288 | + "z": 8.52, | |
| 1289 | + "p": 0.0, | |
| 1290 | + "stars": "***" | |
| 1291 | + }, | |
| 1292 | + "ln_land_c": { | |
| 1293 | + "b": 0.004, | |
| 1294 | + "se": 0.0055, | |
| 1295 | + "z": 0.72, | |
| 1296 | + "p": 0.472, | |
| 1297 | + "stars": "" | |
| 1298 | + }, | |
| 1299 | + "near_highway": { | |
| 1300 | + "b": -0.0025, | |
| 1301 | + "se": 0.0285, | |
| 1302 | + "z": -0.09, | |
| 1303 | + "p": 0.9313, | |
| 1304 | + "stars": "" | |
| 1305 | + }, | |
| 1306 | + "near_hospital": { | |
| 1307 | + "b": 0.0176, | |
| 1308 | + "se": 0.024, | |
| 1309 | + "z": 0.73, | |
| 1310 | + "p": 0.4637, | |
| 1311 | + "stars": "" | |
| 1312 | + }, | |
| 1313 | + "near_park": { | |
| 1314 | + "b": -0.0006, | |
| 1315 | + "se": 0.0291, | |
| 1316 | + "z": -0.02, | |
| 1317 | + "p": 0.983, | |
| 1318 | + "stars": "" | |
| 1319 | + }, | |
| 1320 | + "near_school": { | |
| 1321 | + "b": -0.0307, | |
| 1322 | + "se": 0.0401, | |
| 1323 | + "z": -0.77, | |
| 1324 | + "p": 0.4441, | |
| 1325 | + "stars": "" | |
| 1326 | + }, | |
| 1327 | + "near_transit": { | |
| 1328 | + "b": 0.0299, | |
| 1329 | + "se": 0.0292, | |
| 1330 | + "z": 1.02, | |
| 1331 | + "p": 0.3068, | |
| 1332 | + "stars": "" | |
| 1333 | + }, | |
| 1334 | + "near_golf": { | |
| 1335 | + "b": -0.0479, | |
| 1336 | + "se": 0.0222, | |
| 1337 | + "z": -2.16, | |
| 1338 | + "p": 0.0307, | |
| 1339 | + "stars": "*" | |
| 1340 | + }, | |
| 1341 | + "has_garage": { | |
| 1342 | + "b": 0.1639, | |
| 1343 | + "se": 0.0267, | |
| 1344 | + "z": 6.14, | |
| 1345 | + "p": 0.0, | |
| 1346 | + "stars": "***" | |
| 1347 | + }, | |
| 1348 | + "reg_Montreal": { | |
| 1349 | + "b": 0.4198, | |
| 1350 | + "se": 0.054, | |
| 1351 | + "z": 7.77, | |
| 1352 | + "p": 0.0, | |
| 1353 | + "stars": "***" | |
| 1354 | + }, | |
| 1355 | + "reg_Quebec": { | |
| 1356 | + "b": 0.1558, | |
| 1357 | + "se": 0.0812, | |
| 1358 | + "z": 1.92, | |
| 1359 | + "p": 0.0549, | |
| 1360 | + "stars": "" | |
| 1361 | + }, | |
| 1362 | + "reg_Regions": { | |
| 1363 | + "b": 0.1609, | |
| 1364 | + "se": 0.0441, | |
| 1365 | + "z": 3.65, | |
| 1366 | + "p": 0.0003, | |
| 1367 | + "stars": "***" | |
| 1368 | + } | |
| 1369 | + }, | |
| 1370 | + "0.75": { | |
| 1371 | + "const": { | |
| 1372 | + "b": 12.8765, | |
| 1373 | + "se": 0.0672, | |
| 1374 | + "z": 191.74, | |
| 1375 | + "p": 0.0, | |
| 1376 | + "stars": "***" | |
| 1377 | + }, | |
| 1378 | + "bedrooms_c": { | |
| 1379 | + "b": -0.0214, | |
| 1380 | + "se": 0.0221, | |
| 1381 | + "z": -0.97, | |
| 1382 | + "p": 0.3324, | |
| 1383 | + "stars": "" | |
| 1384 | + }, | |
| 1385 | + "total_baths_c": { | |
| 1386 | + "b": 0.2465, | |
| 1387 | + "se": 0.0306, | |
| 1388 | + "z": 8.05, | |
| 1389 | + "p": 0.0, | |
| 1390 | + "stars": "***" | |
| 1391 | + }, | |
| 1392 | + "stories_c": { | |
| 1393 | + "b": 0.016, | |
| 1394 | + "se": 0.004, | |
| 1395 | + "z": 3.99, | |
| 1396 | + "p": 0.0001, | |
| 1397 | + "stars": "***" | |
| 1398 | + }, | |
| 1399 | + "parking_spaces_c": { | |
| 1400 | + "b": 0.001, | |
| 1401 | + "se": 0.0037, | |
| 1402 | + "z": 0.26, | |
| 1403 | + "p": 0.796, | |
| 1404 | + "stars": "" | |
| 1405 | + }, | |
| 1406 | + "ln_dist_c": { | |
| 1407 | + "b": -0.9479, | |
| 1408 | + "se": 1.695, | |
| 1409 | + "z": -0.56, | |
| 1410 | + "p": 0.576, | |
| 1411 | + "stars": "" | |
| 1412 | + }, | |
| 1413 | + "ln_floor_c": { | |
| 1414 | + "b": 0.5619, | |
| 1415 | + "se": 0.0582, | |
| 1416 | + "z": 9.66, | |
| 1417 | + "p": 0.0, | |
| 1418 | + "stars": "***" | |
| 1419 | + }, | |
| 1420 | + "ln_land_c": { | |
| 1421 | + "b": 0.0055, | |
| 1422 | + "se": 0.0065, | |
| 1423 | + "z": 0.85, | |
| 1424 | + "p": 0.3977, | |
| 1425 | + "stars": "" | |
| 1426 | + }, | |
| 1427 | + "near_highway": { | |
| 1428 | + "b": -0.0257, | |
| 1429 | + "se": 0.0355, | |
| 1430 | + "z": -0.72, | |
| 1431 | + "p": 0.4688, | |
| 1432 | + "stars": "" | |
| 1433 | + }, | |
| 1434 | + "near_hospital": { | |
| 1435 | + "b": 0.0251, | |
| 1436 | + "se": 0.0265, | |
| 1437 | + "z": 0.95, | |
| 1438 | + "p": 0.3435, | |
| 1439 | + "stars": "" | |
| 1440 | + }, | |
| 1441 | + "near_park": { | |
| 1442 | + "b": 0.0145, | |
| 1443 | + "se": 0.0432, | |
| 1444 | + "z": 0.34, | |
| 1445 | + "p": 0.7366, | |
| 1446 | + "stars": "" | |
| 1447 | + }, | |
| 1448 | + "near_school": { | |
| 1449 | + "b": -0.0509, | |
| 1450 | + "se": 0.0515, | |
| 1451 | + "z": -0.99, | |
| 1452 | + "p": 0.3232, | |
| 1453 | + "stars": "" | |
| 1454 | + }, | |
| 1455 | + "near_transit": { | |
| 1456 | + "b": 0.0317, | |
| 1457 | + "se": 0.0367, | |
| 1458 | + "z": 0.86, | |
| 1459 | + "p": 0.3883, | |
| 1460 | + "stars": "" | |
| 1461 | + }, | |
| 1462 | + "near_golf": { | |
| 1463 | + "b": -0.0918, | |
| 1464 | + "se": 0.0282, | |
| 1465 | + "z": -3.25, | |
| 1466 | + "p": 0.0012, | |
| 1467 | + "stars": "**" | |
| 1468 | + }, | |
| 1469 | + "has_garage": { | |
| 1470 | + "b": 0.1161, | |
| 1471 | + "se": 0.0257, | |
| 1472 | + "z": 4.52, | |
| 1473 | + "p": 0.0, | |
| 1474 | + "stars": "***" | |
| 1475 | + }, | |
| 1476 | + "reg_Montreal": { | |
| 1477 | + "b": 0.493, | |
| 1478 | + "se": 0.0569, | |
| 1479 | + "z": 8.67, | |
| 1480 | + "p": 0.0, | |
| 1481 | + "stars": "***" | |
| 1482 | + }, | |
| 1483 | + "reg_Quebec": { | |
| 1484 | + "b": 0.2165, | |
| 1485 | + "se": 0.0928, | |
| 1486 | + "z": 2.33, | |
| 1487 | + "p": 0.0197, | |
| 1488 | + "stars": "*" | |
| 1489 | + }, | |
| 1490 | + "reg_Regions": { | |
| 1491 | + "b": 0.2223, | |
| 1492 | + "se": 0.0551, | |
| 1493 | + "z": 4.04, | |
| 1494 | + "p": 0.0001, | |
| 1495 | + "stars": "***" | |
| 1496 | + } | |
| 1497 | + }, | |
| 1498 | + "0.9": { | |
| 1499 | + "const": { | |
| 1500 | + "b": 12.8782, | |
| 1501 | + "se": 0.0805, | |
| 1502 | + "z": 160.0, | |
| 1503 | + "p": 0.0, | |
| 1504 | + "stars": "***" | |
| 1505 | + }, | |
| 1506 | + "bedrooms_c": { | |
| 1507 | + "b": -0.05, | |
| 1508 | + "se": 0.0289, | |
| 1509 | + "z": -1.73, | |
| 1510 | + "p": 0.0841, | |
| 1511 | + "stars": "" | |
| 1512 | + }, | |
| 1513 | + "total_baths_c": { | |
| 1514 | + "b": 0.2809, | |
| 1515 | + "se": 0.0557, | |
| 1516 | + "z": 5.04, | |
| 1517 | + "p": 0.0, | |
| 1518 | + "stars": "***" | |
| 1519 | + }, | |
| 1520 | + "stories_c": { | |
| 1521 | + "b": 0.0116, | |
| 1522 | + "se": 0.0044, | |
| 1523 | + "z": 2.65, | |
| 1524 | + "p": 0.0081, | |
| 1525 | + "stars": "**" | |
| 1526 | + }, | |
| 1527 | + "parking_spaces_c": { | |
| 1528 | + "b": 0.0003, | |
| 1529 | + "se": 0.0028, | |
| 1530 | + "z": 0.12, | |
| 1531 | + "p": 0.9066, | |
| 1532 | + "stars": "" | |
| 1533 | + }, | |
| 1534 | + "ln_dist_c": { | |
| 1535 | + "b": -6.2236, | |
| 1536 | + "se": 4.3003, | |
| 1537 | + "z": -1.45, | |
| 1538 | + "p": 0.1478, | |
| 1539 | + "stars": "" | |
| 1540 | + }, | |
| 1541 | + "ln_floor_c": { | |
| 1542 | + "b": 0.6765, | |
| 1543 | + "se": 0.0714, | |
| 1544 | + "z": 9.47, | |
| 1545 | + "p": 0.0, | |
| 1546 | + "stars": "***" | |
| 1547 | + }, | |
| 1548 | + "ln_land_c": { | |
| 1549 | + "b": -0.0152, | |
| 1550 | + "se": 0.0098, | |
| 1551 | + "z": -1.55, | |
| 1552 | + "p": 0.1205, | |
| 1553 | + "stars": "" | |
| 1554 | + }, | |
| 1555 | + "near_highway": { | |
| 1556 | + "b": -0.074, | |
| 1557 | + "se": 0.055, | |
| 1558 | + "z": -1.34, | |
| 1559 | + "p": 0.1788, | |
| 1560 | + "stars": "" | |
| 1561 | + }, | |
| 1562 | + "near_hospital": { | |
| 1563 | + "b": -0.0083, | |
| 1564 | + "se": 0.0466, | |
| 1565 | + "z": -0.18, | |
| 1566 | + "p": 0.859, | |
| 1567 | + "stars": "" | |
| 1568 | + }, | |
| 1569 | + "near_park": { | |
| 1570 | + "b": 0.067, | |
| 1571 | + "se": 0.06, | |
| 1572 | + "z": 1.12, | |
| 1573 | + "p": 0.2641, | |
| 1574 | + "stars": "" | |
| 1575 | + }, | |
| 1576 | + "near_school": { | |
| 1577 | + "b": 0.0261, | |
| 1578 | + "se": 0.0618, | |
| 1579 | + "z": 0.42, | |
| 1580 | + "p": 0.673, | |
| 1581 | + "stars": "" | |
| 1582 | + }, | |
| 1583 | + "near_transit": { | |
| 1584 | + "b": 0.078, | |
| 1585 | + "se": 0.0622, | |
| 1586 | + "z": 1.25, | |
| 1587 | + "p": 0.2098, | |
| 1588 | + "stars": "" | |
| 1589 | + }, | |
| 1590 | + "near_golf": { | |
| 1591 | + "b": -0.0837, | |
| 1592 | + "se": 0.0511, | |
| 1593 | + "z": -1.64, | |
| 1594 | + "p": 0.1013, | |
| 1595 | + "stars": "" | |
| 1596 | + }, | |
| 1597 | + "has_garage": { | |
| 1598 | + "b": 0.1219, | |
| 1599 | + "se": 0.0392, | |
| 1600 | + "z": 3.11, | |
| 1601 | + "p": 0.0019, | |
| 1602 | + "stars": "**" | |
| 1603 | + }, | |
| 1604 | + "reg_Montreal": { | |
| 1605 | + "b": 0.5489, | |
| 1606 | + "se": 0.0776, | |
| 1607 | + "z": 7.08, | |
| 1608 | + "p": 0.0, | |
| 1609 | + "stars": "***" | |
| 1610 | + }, | |
| 1611 | + "reg_Quebec": { | |
| 1612 | + "b": 0.3184, | |
| 1613 | + "se": 0.1923, | |
| 1614 | + "z": 1.66, | |
| 1615 | + "p": 0.0979, | |
| 1616 | + "stars": "" | |
| 1617 | + }, | |
| 1618 | + "reg_Regions": { | |
| 1619 | + "b": 0.3627, | |
| 1620 | + "se": 0.073, | |
| 1621 | + "z": 4.97, | |
| 1622 | + "p": 0.0, | |
| 1623 | + "stars": "***" | |
| 1624 | + } | |
| 1625 | + } | |
| 1626 | + }, | |
| 1627 | + "wald": { | |
| 1628 | + "near_highway": { | |
| 1629 | + "10_90": 1.34, | |
| 1630 | + "25_75": 0.15, | |
| 1631 | + "10_50": 0.01 | |
| 1632 | + }, | |
| 1633 | + "near_hospital": { | |
| 1634 | + "10_90": 0.02, | |
| 1635 | + "25_75": 0.51, | |
| 1636 | + "10_50": 0.24 | |
| 1637 | + }, | |
| 1638 | + "near_park": { | |
| 1639 | + "10_90": 0.22, | |
| 1640 | + "25_75": 0.16, | |
| 1641 | + "10_50": 0.48 | |
| 1642 | + }, | |
| 1643 | + "near_school": { | |
| 1644 | + "10_90": 0.0, | |
| 1645 | + "25_75": 0.44, | |
| 1646 | + "10_50": 1.14 | |
| 1647 | + }, | |
| 1648 | + "near_transit": { | |
| 1649 | + "10_90": 0.44, | |
| 1650 | + "25_75": 0.02, | |
| 1651 | + "10_50": 0.0 | |
| 1652 | + }, | |
| 1653 | + "near_golf": { | |
| 1654 | + "10_90": 0.18, | |
| 1655 | + "25_75": 0.93, | |
| 1656 | + "10_50": 0.13 | |
| 1657 | + }, | |
| 1658 | + "has_garage": { | |
| 1659 | + "10_90": 0.1, | |
| 1660 | + "25_75": 1.2, | |
| 1661 | + "10_50": 1.61 | |
| 1662 | + } | |
| 1663 | + }, | |
| 1664 | + "moran_resid": { | |
| 1665 | + "QR_0.1": { | |
| 1666 | + "I": 0.574, | |
| 1667 | + "Z": 23.0 | |
| 1668 | + }, | |
| 1669 | + "QR_0.25": { | |
| 1670 | + "I": 0.5612, | |
| 1671 | + "Z": 22.5 | |
| 1672 | + }, | |
| 1673 | + "QR_0.5": { | |
| 1674 | + "I": 0.5519, | |
| 1675 | + "Z": 22.1 | |
| 1676 | + }, | |
| 1677 | + "QR_0.75": { | |
| 1678 | + "I": 0.529, | |
| 1679 | + "Z": 21.2 | |
| 1680 | + }, | |
| 1681 | + "QR_0.9": { | |
| 1682 | + "I": 0.555, | |
| 1683 | + "Z": 22.2 | |
| 1684 | + }, | |
| 1685 | + "SQR_0.1": { | |
| 1686 | + "I": 0.5541, | |
| 1687 | + "Z": 22.2 | |
| 1688 | + }, | |
| 1689 | + "SQR_0.25": { | |
| 1690 | + "I": 0.5408, | |
| 1691 | + "Z": 21.6 | |
| 1692 | + }, | |
| 1693 | + "SQR_0.5": { | |
| 1694 | + "I": 0.5553, | |
| 1695 | + "Z": 22.2 | |
| 1696 | + }, | |
| 1697 | + "SQR_0.75": { | |
| 1698 | + "I": 0.5344, | |
| 1699 | + "Z": 21.4 | |
| 1700 | + }, | |
| 1701 | + "SQR_0.9": { | |
| 1702 | + "I": 0.5519, | |
| 1703 | + "Z": 22.1 | |
| 1704 | + } | |
| 1705 | + }, | |
| 1706 | + "wtp": { | |
| 1707 | + "Highway": [ | |
| 1708 | + 267.0, | |
| 1709 | + -2877.0, | |
| 1710 | + -1041.0, | |
| 1711 | + -14699.0, | |
| 1712 | + -60617.0 | |
| 1713 | + ], | |
| 1714 | + "Hospital": [ | |
| 1715 | + -154.0, | |
| 1716 | + 371.0, | |
| 1717 | + 7539.0, | |
| 1718 | + 14732.0, | |
| 1719 | + -7012.0 | |
| 1720 | + ], | |
| 1721 | + "Park": [ | |
| 1722 | + 9380.0, | |
| 1723 | + 11842.0, | |
| 1724 | + -263.0, | |
| 1725 | + 8478.0, | |
| 1726 | + 58924.0 | |
| 1727 | + ], | |
| 1728 | + "School": [ | |
| 1729 | + 8129.0, | |
| 1730 | + -3171.0, | |
| 1731 | + -12835.0, | |
| 1732 | + -28750.0, | |
| 1733 | + 22470.0 | |
| 1734 | + ], | |
| 1735 | + "Transit": [ | |
| 1736 | + 8297.0, | |
| 1737 | + 8298.0, | |
| 1738 | + 12879.0, | |
| 1739 | + 18646.0, | |
| 1740 | + 68911.0 | |
| 1741 | + ], | |
| 1742 | + "Golf": [ | |
| 1743 | + -15948.0, | |
| 1744 | + -18485.0, | |
| 1745 | + -19893.0, | |
| 1746 | + -50775.0, | |
| 1747 | + -68255.0 | |
| 1748 | + ], | |
| 1749 | + "Garage": [ | |
| 1750 | + 30312.0, | |
| 1751 | + 56017.0, | |
| 1752 | + 75714.0, | |
| 1753 | + 71276.0, | |
| 1754 | + 110223.0 | |
| 1755 | + ] | |
| 1756 | + }, | |
| 1757 | + "effects": { | |
| 1758 | + "near_highway": { | |
| 1759 | + "beta": -0.0024, | |
| 1760 | + "total": -0.0029, | |
| 1761 | + "indirect": -0.0006, | |
| 1762 | + "dollar": -1251.0 | |
| 1763 | + }, | |
| 1764 | + "near_hospital": { | |
| 1765 | + "beta": 0.0235, | |
| 1766 | + "total": 0.0295, | |
| 1767 | + "indirect": 0.006, | |
| 1768 | + "dollar": 12726.0 | |
| 1769 | + }, | |
| 1770 | + "near_park": { | |
| 1771 | + "beta": 0.0049, | |
| 1772 | + "total": 0.0061, | |
| 1773 | + "indirect": 0.0012, | |
| 1774 | + "dollar": 2620.0 | |
| 1775 | + }, | |
| 1776 | + "near_school": { | |
| 1777 | + "beta": -0.0169, | |
| 1778 | + "total": -0.0212, | |
| 1779 | + "indirect": -0.0043, | |
| 1780 | + "dollar": -8898.0 | |
| 1781 | + }, | |
| 1782 | + "near_transit": { | |
| 1783 | + "beta": 0.0242, | |
| 1784 | + "total": 0.0304, | |
| 1785 | + "indirect": 0.0062, | |
| 1786 | + "dollar": 13121.0 | |
| 1787 | + }, | |
| 1788 | + "near_golf": { | |
| 1789 | + "beta": -0.0408, | |
| 1790 | + "total": -0.0512, | |
| 1791 | + "indirect": -0.0104, | |
| 1792 | + "dollar": -21205.0 | |
| 1793 | + }, | |
| 1794 | + "has_garage": { | |
| 1795 | + "beta": 0.1298, | |
| 1796 | + "total": 0.1627, | |
| 1797 | + "indirect": 0.033, | |
| 1798 | + "dollar": 75116.0 | |
| 1799 | + } | |
| 1800 | + }, | |
| 1801 | + "implied_first_stage_F": 74.88126516609489 | |
| 1802 | + }, | |
| 1803 | + "Plex": { | |
| 1804 | + "name": "Plex", | |
| 1805 | + "n_raw": 4619, | |
| 1806 | + "n": 3755, | |
| 1807 | + "price_min": 130000.0, | |
| 1808 | + "price_max": 4699999.0, | |
| 1809 | + "median": 799000.0, | |
| 1810 | + "k": 17, | |
| 1811 | + "regions": { | |
| 1812 | + "Gatineau": { | |
| 1813 | + "n": 127, | |
| 1814 | + "median": 659000.0 | |
| 1815 | + }, | |
| 1816 | + "Montreal": { | |
| 1817 | + "n": 1783, | |
| 1818 | + "median": 1049000.0 | |
| 1819 | + }, | |
| 1820 | + "Quebec": { | |
| 1821 | + "n": 182, | |
| 1822 | + "median": 649000.0 | |
| 1823 | + }, | |
| 1824 | + "Regions": { | |
| 1825 | + "n": 1663, | |
| 1826 | + "median": 525000.0 | |
| 1827 | + } | |
| 1828 | + }, | |
| 1829 | + "amenity_share": { | |
| 1830 | + "near_highway": 54.5, | |
| 1831 | + "near_hospital": 45.2, | |
| 1832 | + "near_park": 66.9, | |
| 1833 | + "near_school": 73.3, | |
| 1834 | + "near_transit": 54.4, | |
| 1835 | + "near_golf": 24.5, | |
| 1836 | + "has_garage": 31.6 | |
| 1837 | + }, | |
| 1838 | + "ols_adj_r2": 0.5763, | |
| 1839 | + "moran_ols": { | |
| 1840 | + "I": 0.5284, | |
| 1841 | + "Z": 40.2 | |
| 1842 | + }, | |
| 1843 | + "pseudo_r2": { | |
| 1844 | + "0.1": 0.4172, | |
| 1845 | + "0.25": 0.4197, | |
| 1846 | + "0.5": 0.3829, | |
| 1847 | + "0.75": 0.3574, | |
| 1848 | + "0.9": 0.3412 | |
| 1849 | + }, | |
| 1850 | + "first_stage_r2": 0.6497, | |
| 1851 | + "rho50": 0.1312, | |
| 1852 | + "ols": { | |
| 1853 | + "near_highway": { | |
| 1854 | + "b": 0.04, | |
| 1855 | + "stars": "*" | |
| 1856 | + }, | |
| 1857 | + "near_hospital": { | |
| 1858 | + "b": 0.0041, | |
| 1859 | + "stars": "" | |
| 1860 | + }, | |
| 1861 | + "near_park": { | |
| 1862 | + "b": 0.012, | |
| 1863 | + "stars": "" | |
| 1864 | + }, | |
| 1865 | + "near_school": { | |
| 1866 | + "b": -0.0936, | |
| 1867 | + "stars": "***" | |
| 1868 | + }, | |
| 1869 | + "near_transit": { | |
| 1870 | + "b": 0.1286, | |
| 1871 | + "stars": "***" | |
| 1872 | + }, | |
| 1873 | + "near_golf": { | |
| 1874 | + "b": 0.0118, | |
| 1875 | + "stars": "" | |
| 1876 | + }, | |
| 1877 | + "has_garage": { | |
| 1878 | + "b": 0.0616, | |
| 1879 | + "stars": "***" | |
| 1880 | + } | |
| 1881 | + }, | |
| 1882 | + "qr": { | |
| 1883 | + "0.1": { | |
| 1884 | + "const": { | |
| 1885 | + "b": 13.0286, | |
| 1886 | + "se": 0.0529, | |
| 1887 | + "z": 246.21, | |
| 1888 | + "p": 0.0, | |
| 1889 | + "stars": "***" | |
| 1890 | + }, | |
| 1891 | + "bedrooms_c": { | |
| 1892 | + "b": 0.0533, | |
| 1893 | + "se": 0.0133, | |
| 1894 | + "z": 3.99, | |
| 1895 | + "p": 0.0001, | |
| 1896 | + "stars": "***" | |
| 1897 | + }, | |
| 1898 | + "total_baths_c": { | |
| 1899 | + "b": 0.085, | |
| 1900 | + "se": 0.0574, | |
| 1901 | + "z": 1.48, | |
| 1902 | + "p": 0.1389, | |
| 1903 | + "stars": "" | |
| 1904 | + }, | |
| 1905 | + "stories_c": { | |
| 1906 | + "b": 0.2022, | |
| 1907 | + "se": 0.0224, | |
| 1908 | + "z": 9.03, | |
| 1909 | + "p": 0.0, | |
| 1910 | + "stars": "***" | |
| 1911 | + }, | |
| 1912 | + "parking_spaces_c": { | |
| 1913 | + "b": 0.0047, | |
| 1914 | + "se": 0.0028, | |
| 1915 | + "z": 1.7, | |
| 1916 | + "p": 0.09, | |
| 1917 | + "stars": "" | |
| 1918 | + }, | |
| 1919 | + "ln_dist_c": { | |
| 1920 | + "b": 3.4556, | |
| 1921 | + "se": 0.7731, | |
| 1922 | + "z": 4.47, | |
| 1923 | + "p": 0.0, | |
| 1924 | + "stars": "***" | |
| 1925 | + }, | |
| 1926 | + "ln_land_c": { | |
| 1927 | + "b": 0.0037, | |
| 1928 | + "se": 0.0098, | |
| 1929 | + "z": 0.38, | |
| 1930 | + "p": 0.7069, | |
| 1931 | + "stars": "" | |
| 1932 | + }, | |
| 1933 | + "unit_total_c": { | |
| 1934 | + "b": 0.1293, | |
| 1935 | + "se": 0.0077, | |
| 1936 | + "z": 16.69, | |
| 1937 | + "p": 0.0, | |
| 1938 | + "stars": "***" | |
| 1939 | + }, | |
| 1940 | + "near_highway": { | |
| 1941 | + "b": 0.0375, | |
| 1942 | + "se": 0.0234, | |
| 1943 | + "z": 1.6, | |
| 1944 | + "p": 0.1097, | |
| 1945 | + "stars": "" | |
| 1946 | + }, | |
| 1947 | + "near_hospital": { | |
| 1948 | + "b": 0.0543, | |
| 1949 | + "se": 0.0207, | |
| 1950 | + "z": 2.62, | |
| 1951 | + "p": 0.0087, | |
| 1952 | + "stars": "**" | |
| 1953 | + }, | |
| 1954 | + "near_park": { | |
| 1955 | + "b": 0.0249, | |
| 1956 | + "se": 0.0287, | |
| 1957 | + "z": 0.87, | |
| 1958 | + "p": 0.3861, | |
| 1959 | + "stars": "" | |
| 1960 | + }, | |
| 1961 | + "near_school": { | |
| 1962 | + "b": -0.0686, | |
| 1963 | + "se": 0.0308, | |
| 1964 | + "z": -2.23, | |
| 1965 | + "p": 0.026, | |
| 1966 | + "stars": "*" | |
| 1967 | + }, | |
| 1968 | + "near_transit": { | |
| 1969 | + "b": 0.1313, | |
| 1970 | + "se": 0.0348, | |
| 1971 | + "z": 3.77, | |
| 1972 | + "p": 0.0002, | |
| 1973 | + "stars": "***" | |
| 1974 | + }, | |
| 1975 | + "near_golf": { | |
| 1976 | + "b": -0.0286, | |
| 1977 | + "se": 0.0214, | |
| 1978 | + "z": -1.34, | |
| 1979 | + "p": 0.1811, | |
| 1980 | + "stars": "" | |
| 1981 | + }, | |
| 1982 | + "has_garage": { | |
| 1983 | + "b": 0.104, | |
| 1984 | + "se": 0.0201, | |
| 1985 | + "z": 5.16, | |
| 1986 | + "p": 0.0, | |
| 1987 | + "stars": "***" | |
| 1988 | + }, | |
| 1989 | + "reg_Montreal": { | |
| 1990 | + "b": 0.3183, | |
| 1991 | + "se": 0.0455, | |
| 1992 | + "z": 7.0, | |
| 1993 | + "p": 0.0, | |
| 1994 | + "stars": "***" | |
| 1995 | + }, | |
| 1996 | + "reg_Quebec": { | |
| 1997 | + "b": -0.0622, | |
| 1998 | + "se": 0.0581, | |
| 1999 | + "z": -1.07, | |
| 2000 | + "p": 0.2839, | |
| 2001 | + "stars": "" | |
| 2002 | + }, | |
| 2003 | + "reg_Regions": { | |
| 2004 | + "b": -0.4668, | |
| 2005 | + "se": 0.0521, | |
| 2006 | + "z": -8.96, | |
| 2007 | + "p": 0.0, | |
| 2008 | + "stars": "***" | |
| 2009 | + } | |
| 2010 | + }, | |
| 2011 | + "0.25": { | |
| 2012 | + "const": { | |
| 2013 | + "b": 13.2194, | |
| 2014 | + "se": 0.0333, | |
| 2015 | + "z": 397.52, | |
| 2016 | + "p": 0.0, | |
| 2017 | + "stars": "***" | |
| 2018 | + }, | |
| 2019 | + "bedrooms_c": { | |
| 2020 | + "b": 0.0478, | |
| 2021 | + "se": 0.0092, | |
| 2022 | + "z": 5.22, | |
| 2023 | + "p": 0.0, | |
| 2024 | + "stars": "***" | |
| 2025 | + }, | |
| 2026 | + "total_baths_c": { | |
| 2027 | + "b": 0.1435, | |
| 2028 | + "se": 0.0247, | |
| 2029 | + "z": 5.81, | |
| 2030 | + "p": 0.0, | |
| 2031 | + "stars": "***" | |
| 2032 | + }, | |
| 2033 | + "stories_c": { | |
| 2034 | + "b": 0.1759, | |
| 2035 | + "se": 0.0209, | |
| 2036 | + "z": 8.4, | |
| 2037 | + "p": 0.0, | |
| 2038 | + "stars": "***" | |
| 2039 | + }, | |
| 2040 | + "parking_spaces_c": { | |
| 2041 | + "b": 0.0027, | |
| 2042 | + "se": 0.0032, | |
| 2043 | + "z": 0.86, | |
| 2044 | + "p": 0.3883, | |
| 2045 | + "stars": "" | |
| 2046 | + }, | |
| 2047 | + "ln_dist_c": { | |
| 2048 | + "b": 4.1812, | |
| 2049 | + "se": 0.9018, | |
| 2050 | + "z": 4.64, | |
| 2051 | + "p": 0.0, | |
| 2052 | + "stars": "***" | |
| 2053 | + }, | |
| 2054 | + "ln_land_c": { | |
| 2055 | + "b": 0.017, | |
| 2056 | + "se": 0.0067, | |
| 2057 | + "z": 2.53, | |
| 2058 | + "p": 0.0113, | |
| 2059 | + "stars": "*" | |
| 2060 | + }, | |
| 2061 | + "unit_total_c": { | |
| 2062 | + "b": 0.1454, | |
| 2063 | + "se": 0.007, | |
| 2064 | + "z": 20.87, | |
| 2065 | + "p": 0.0, | |
| 2066 | + "stars": "***" | |
| 2067 | + }, | |
| 2068 | + "near_highway": { | |
| 2069 | + "b": 0.0506, | |
| 2070 | + "se": 0.0173, | |
| 2071 | + "z": 2.93, | |
| 2072 | + "p": 0.0034, | |
| 2073 | + "stars": "**" | |
| 2074 | + }, | |
| 2075 | + "near_hospital": { | |
| 2076 | + "b": 0.0039, | |
| 2077 | + "se": 0.0186, | |
| 2078 | + "z": 0.21, | |
| 2079 | + "p": 0.8341, | |
| 2080 | + "stars": "" | |
| 2081 | + }, | |
| 2082 | + "near_park": { | |
| 2083 | + "b": 0.0267, | |
| 2084 | + "se": 0.0244, | |
| 2085 | + "z": 1.09, | |
| 2086 | + "p": 0.2744, | |
| 2087 | + "stars": "" | |
| 2088 | + }, | |
| 2089 | + "near_school": { | |
| 2090 | + "b": -0.0755, | |
| 2091 | + "se": 0.0283, | |
| 2092 | + "z": -2.67, | |
| 2093 | + "p": 0.0077, | |
| 2094 | + "stars": "**" | |
| 2095 | + }, | |
| 2096 | + "near_transit": { | |
| 2097 | + "b": 0.0968, | |
| 2098 | + "se": 0.0247, | |
| 2099 | + "z": 3.91, | |
| 2100 | + "p": 0.0001, | |
| 2101 | + "stars": "***" | |
| 2102 | + }, | |
| 2103 | + "near_golf": { | |
| 2104 | + "b": -0.0075, | |
| 2105 | + "se": 0.0171, | |
| 2106 | + "z": -0.44, | |
| 2107 | + "p": 0.6606, | |
| 2108 | + "stars": "" | |
| 2109 | + }, | |
| 2110 | + "has_garage": { | |
| 2111 | + "b": 0.0858, | |
| 2112 | + "se": 0.0182, | |
| 2113 | + "z": 4.71, | |
| 2114 | + "p": 0.0, | |
| 2115 | + "stars": "***" | |
| 2116 | + }, | |
| 2117 | + "reg_Montreal": { | |
| 2118 | + "b": 0.3496, | |
| 2119 | + "se": 0.0277, | |
| 2120 | + "z": 12.63, | |
| 2121 | + "p": 0.0, | |
| 2122 | + "stars": "***" | |
| 2123 | + }, | |
| 2124 | + "reg_Quebec": { | |
| 2125 | + "b": -0.0059, | |
| 2126 | + "se": 0.0464, | |
| 2127 | + "z": -0.13, | |
| 2128 | + "p": 0.8989, | |
| 2129 | + "stars": "" | |
| 2130 | + }, | |
| 2131 | + "reg_Regions": { | |
| 2132 | + "b": -0.3585, | |
| 2133 | + "se": 0.0305, | |
| 2134 | + "z": -11.77, | |
| 2135 | + "p": 0.0, | |
| 2136 | + "stars": "***" | |
| 2137 | + } | |
| 2138 | + }, | |
| 2139 | + "0.5": { | |
| 2140 | + "const": { | |
| 2141 | + "b": 13.4588, | |
| 2142 | + "se": 0.0498, | |
| 2143 | + "z": 270.3, | |
| 2144 | + "p": 0.0, | |
| 2145 | + "stars": "***" | |
| 2146 | + }, | |
| 2147 | + "bedrooms_c": { | |
| 2148 | + "b": 0.0528, | |
| 2149 | + "se": 0.0104, | |
| 2150 | + "z": 5.08, | |
| 2151 | + "p": 0.0, | |
| 2152 | + "stars": "***" | |
| 2153 | + }, | |
| 2154 | + "total_baths_c": { | |
| 2155 | + "b": 0.1667, | |
| 2156 | + "se": 0.0221, | |
| 2157 | + "z": 7.53, | |
| 2158 | + "p": 0.0, | |
| 2159 | + "stars": "***" | |
| 2160 | + }, | |
| 2161 | + "stories_c": { | |
| 2162 | + "b": 0.1783, | |
| 2163 | + "se": 0.0241, | |
| 2164 | + "z": 7.41, | |
| 2165 | + "p": 0.0, | |
| 2166 | + "stars": "***" | |
| 2167 | + }, | |
| 2168 | + "parking_spaces_c": { | |
| 2169 | + "b": 0.0085, | |
| 2170 | + "se": 0.003, | |
| 2171 | + "z": 2.85, | |
| 2172 | + "p": 0.0044, | |
| 2173 | + "stars": "**" | |
| 2174 | + }, | |
| 2175 | + "ln_dist_c": { | |
| 2176 | + "b": 5.7915, | |
| 2177 | + "se": 1.5063, | |
| 2178 | + "z": 3.84, | |
| 2179 | + "p": 0.0001, | |
| 2180 | + "stars": "***" | |
| 2181 | + }, | |
| 2182 | + "ln_land_c": { | |
| 2183 | + "b": 0.0341, | |
| 2184 | + "se": 0.0062, | |
| 2185 | + "z": 5.53, | |
| 2186 | + "p": 0.0, | |
| 2187 | + "stars": "***" | |
| 2188 | + }, | |
| 2189 | + "unit_total_c": { | |
| 2190 | + "b": 0.1495, | |
| 2191 | + "se": 0.0063, | |
| 2192 | + "z": 23.66, | |
| 2193 | + "p": 0.0, | |
| 2194 | + "stars": "***" | |
| 2195 | + }, | |
| 2196 | + "near_highway": { | |
| 2197 | + "b": 0.0489, | |
| 2198 | + "se": 0.0219, | |
| 2199 | + "z": 2.23, | |
| 2200 | + "p": 0.0258, | |
| 2201 | + "stars": "*" | |
| 2202 | + }, | |
| 2203 | + "near_hospital": { | |
| 2204 | + "b": 0.0246, | |
| 2205 | + "se": 0.0162, | |
| 2206 | + "z": 1.52, | |
| 2207 | + "p": 0.1292, | |
| 2208 | + "stars": "" | |
| 2209 | + }, | |
| 2210 | + "near_park": { | |
| 2211 | + "b": 0.021, | |
| 2212 | + "se": 0.0258, | |
| 2213 | + "z": 0.81, | |
| 2214 | + "p": 0.4158, | |
| 2215 | + "stars": "" | |
| 2216 | + }, | |
| 2217 | + "near_school": { | |
| 2218 | + "b": -0.1305, | |
| 2219 | + "se": 0.0339, | |
| 2220 | + "z": -3.85, | |
| 2221 | + "p": 0.0001, | |
| 2222 | + "stars": "***" | |
| 2223 | + }, | |
| 2224 | + "near_transit": { | |
| 2225 | + "b": 0.1081, | |
| 2226 | + "se": 0.028, | |
| 2227 | + "z": 3.87, | |
| 2228 | + "p": 0.0001, | |
| 2229 | + "stars": "***" | |
| 2230 | + }, | |
| 2231 | + "near_golf": { | |
| 2232 | + "b": -0.0242, | |
| 2233 | + "se": 0.0187, | |
| 2234 | + "z": -1.29, | |
| 2235 | + "p": 0.197, | |
| 2236 | + "stars": "" | |
| 2237 | + }, | |
| 2238 | + "has_garage": { | |
| 2239 | + "b": 0.039, | |
| 2240 | + "se": 0.0148, | |
| 2241 | + "z": 2.63, | |
| 2242 | + "p": 0.0085, | |
| 2243 | + "stars": "**" | |
| 2244 | + }, | |
| 2245 | + "reg_Montreal": { | |
| 2246 | + "b": 0.3362, | |
| 2247 | + "se": 0.0474, | |
| 2248 | + "z": 7.09, | |
| 2249 | + "p": 0.0, | |
| 2250 | + "stars": "***" | |
| 2251 | + }, | |
| 2252 | + "reg_Quebec": { | |
| 2253 | + "b": 0.0406, | |
| 2254 | + "se": 0.0668, | |
| 2255 | + "z": 0.61, | |
| 2256 | + "p": 0.5435, | |
| 2257 | + "stars": "" | |
| 2258 | + }, | |
| 2259 | + "reg_Regions": { | |
| 2260 | + "b": -0.2237, | |
| 2261 | + "se": 0.0544, | |
| 2262 | + "z": -4.12, | |
| 2263 | + "p": 0.0, | |
| 2264 | + "stars": "***" | |
| 2265 | + } | |
| 2266 | + }, | |
| 2267 | + "0.75": { | |
| 2268 | + "const": { | |
| 2269 | + "b": 13.6876, | |
| 2270 | + "se": 0.0405, | |
| 2271 | + "z": 337.61, | |
| 2272 | + "p": 0.0, | |
| 2273 | + "stars": "***" | |
| 2274 | + }, | |
| 2275 | + "bedrooms_c": { | |
| 2276 | + "b": 0.0303, | |
| 2277 | + "se": 0.0079, | |
| 2278 | + "z": 3.82, | |
| 2279 | + "p": 0.0001, | |
| 2280 | + "stars": "***" | |
| 2281 | + }, | |
| 2282 | + "total_baths_c": { | |
| 2283 | + "b": 0.2268, | |
| 2284 | + "se": 0.0207, | |
| 2285 | + "z": 10.97, | |
| 2286 | + "p": 0.0, | |
| 2287 | + "stars": "***" | |
| 2288 | + }, | |
| 2289 | + "stories_c": { | |
| 2290 | + "b": 0.1869, | |
| 2291 | + "se": 0.0251, | |
| 2292 | + "z": 7.45, | |
| 2293 | + "p": 0.0, | |
| 2294 | + "stars": "***" | |
| 2295 | + }, | |
| 2296 | + "parking_spaces_c": { | |
| 2297 | + "b": 0.011, | |
| 2298 | + "se": 0.0024, | |
| 2299 | + "z": 4.64, | |
| 2300 | + "p": 0.0, | |
| 2301 | + "stars": "***" | |
| 2302 | + }, | |
| 2303 | + "ln_dist_c": { | |
| 2304 | + "b": 6.0825, | |
| 2305 | + "se": 0.9376, | |
| 2306 | + "z": 6.49, | |
| 2307 | + "p": 0.0, | |
| 2308 | + "stars": "***" | |
| 2309 | + }, | |
| 2310 | + "ln_land_c": { | |
| 2311 | + "b": 0.0373, | |
| 2312 | + "se": 0.0088, | |
| 2313 | + "z": 4.24, | |
| 2314 | + "p": 0.0, | |
| 2315 | + "stars": "***" | |
| 2316 | + }, | |
| 2317 | + "unit_total_c": { | |
| 2318 | + "b": 0.1587, | |
| 2319 | + "se": 0.0072, | |
| 2320 | + "z": 22.06, | |
| 2321 | + "p": 0.0, | |
| 2322 | + "stars": "***" | |
| 2323 | + }, | |
| 2324 | + "near_highway": { | |
| 2325 | + "b": -0.0104, | |
| 2326 | + "se": 0.0209, | |
| 2327 | + "z": -0.5, | |
| 2328 | + "p": 0.6195, | |
| 2329 | + "stars": "" | |
| 2330 | + }, | |
| 2331 | + "near_hospital": { | |
| 2332 | + "b": 0.0294, | |
| 2333 | + "se": 0.0182, | |
| 2334 | + "z": 1.62, | |
| 2335 | + "p": 0.1056, | |
| 2336 | + "stars": "" | |
| 2337 | + }, | |
| 2338 | + "near_park": { | |
| 2339 | + "b": 0.0106, | |
| 2340 | + "se": 0.0272, | |
| 2341 | + "z": 0.39, | |
| 2342 | + "p": 0.6969, | |
| 2343 | + "stars": "" | |
| 2344 | + }, | |
| 2345 | + "near_school": { | |
| 2346 | + "b": -0.1059, | |
| 2347 | + "se": 0.0266, | |
| 2348 | + "z": -3.97, | |
| 2349 | + "p": 0.0001, | |
| 2350 | + "stars": "***" | |
| 2351 | + }, | |
| 2352 | + "near_transit": { | |
| 2353 | + "b": 0.1082, | |
| 2354 | + "se": 0.0207, | |
| 2355 | + "z": 5.22, | |
| 2356 | + "p": 0.0, | |
| 2357 | + "stars": "***" | |
| 2358 | + }, | |
| 2359 | + "near_golf": { | |
| 2360 | + "b": -0.0013, | |
| 2361 | + "se": 0.02, | |
| 2362 | + "z": -0.06, | |
| 2363 | + "p": 0.9489, | |
| 2364 | + "stars": "" | |
| 2365 | + }, | |
| 2366 | + "has_garage": { | |
| 2367 | + "b": 0.0037, | |
| 2368 | + "se": 0.0178, | |
| 2369 | + "z": 0.21, | |
| 2370 | + "p": 0.8362, | |
| 2371 | + "stars": "" | |
| 2372 | + }, | |
| 2373 | + "reg_Montreal": { | |
| 2374 | + "b": 0.3311, | |
| 2375 | + "se": 0.0401, | |
| 2376 | + "z": 8.25, | |
| 2377 | + "p": 0.0, | |
| 2378 | + "stars": "***" | |
| 2379 | + }, | |
| 2380 | + "reg_Quebec": { | |
| 2381 | + "b": 0.06, | |
| 2382 | + "se": 0.0533, | |
| 2383 | + "z": 1.13, | |
| 2384 | + "p": 0.26, | |
| 2385 | + "stars": "" | |
| 2386 | + }, | |
| 2387 | + "reg_Regions": { | |
| 2388 | + "b": -0.1342, | |
| 2389 | + "se": 0.0441, | |
| 2390 | + "z": -3.05, | |
| 2391 | + "p": 0.0023, | |
| 2392 | + "stars": "**" | |
| 2393 | + } | |
| 2394 | + }, | |
| 2395 | + "0.9": { | |
| 2396 | + "const": { | |
| 2397 | + "b": 13.807, | |
| 2398 | + "se": 0.0532, | |
| 2399 | + "z": 259.34, | |
| 2400 | + "p": 0.0, | |
| 2401 | + "stars": "***" | |
| 2402 | + }, | |
| 2403 | + "bedrooms_c": { | |
| 2404 | + "b": 0.0162, | |
| 2405 | + "se": 0.0112, | |
| 2406 | + "z": 1.45, | |
| 2407 | + "p": 0.1468, | |
| 2408 | + "stars": "" | |
| 2409 | + }, | |
| 2410 | + "total_baths_c": { | |
| 2411 | + "b": 0.2999, | |
| 2412 | + "se": 0.0278, | |
| 2413 | + "z": 10.79, | |
| 2414 | + "p": 0.0, | |
| 2415 | + "stars": "***" | |
| 2416 | + }, | |
| 2417 | + "stories_c": { | |
| 2418 | + "b": 0.1744, | |
| 2419 | + "se": 0.0225, | |
| 2420 | + "z": 7.76, | |
| 2421 | + "p": 0.0, | |
| 2422 | + "stars": "***" | |
| 2423 | + }, | |
| 2424 | + "parking_spaces_c": { | |
| 2425 | + "b": 0.0095, | |
| 2426 | + "se": 0.0033, | |
| 2427 | + "z": 2.85, | |
| 2428 | + "p": 0.0044, | |
| 2429 | + "stars": "**" | |
| 2430 | + }, | |
| 2431 | + "ln_dist_c": { | |
| 2432 | + "b": 8.4457, | |
| 2433 | + "se": 1.7493, | |
| 2434 | + "z": 4.83, | |
| 2435 | + "p": 0.0, | |
| 2436 | + "stars": "***" | |
| 2437 | + }, | |
| 2438 | + "ln_land_c": { | |
| 2439 | + "b": 0.0262, | |
| 2440 | + "se": 0.0145, | |
| 2441 | + "z": 1.81, | |
| 2442 | + "p": 0.0708, | |
| 2443 | + "stars": "" | |
| 2444 | + }, | |
| 2445 | + "unit_total_c": { | |
| 2446 | + "b": 0.1764, | |
| 2447 | + "se": 0.0078, | |
| 2448 | + "z": 22.74, | |
| 2449 | + "p": 0.0, | |
| 2450 | + "stars": "***" | |
| 2451 | + }, | |
| 2452 | + "near_highway": { | |
| 2453 | + "b": -0.0836, | |
| 2454 | + "se": 0.0268, | |
| 2455 | + "z": -3.12, | |
| 2456 | + "p": 0.0018, | |
| 2457 | + "stars": "**" | |
| 2458 | + }, | |
| 2459 | + "near_hospital": { | |
| 2460 | + "b": -0.042, | |
| 2461 | + "se": 0.0296, | |
| 2462 | + "z": -1.42, | |
| 2463 | + "p": 0.1564, | |
| 2464 | + "stars": "" | |
| 2465 | + }, | |
| 2466 | + "near_park": { | |
| 2467 | + "b": -0.0024, | |
| 2468 | + "se": 0.0303, | |
| 2469 | + "z": -0.08, | |
| 2470 | + "p": 0.9356, | |
| 2471 | + "stars": "" | |
| 2472 | + }, | |
| 2473 | + "near_school": { | |
| 2474 | + "b": -0.0382, | |
| 2475 | + "se": 0.0408, | |
| 2476 | + "z": -0.94, | |
| 2477 | + "p": 0.3495, | |
| 2478 | + "stars": "" | |
| 2479 | + }, | |
| 2480 | + "near_transit": { | |
| 2481 | + "b": 0.1445, | |
| 2482 | + "se": 0.0297, | |
| 2483 | + "z": 4.86, | |
| 2484 | + "p": 0.0, | |
| 2485 | + "stars": "***" | |
| 2486 | + }, | |
| 2487 | + "near_golf": { | |
| 2488 | + "b": 0.0124, | |
| 2489 | + "se": 0.021, | |
| 2490 | + "z": 0.59, | |
| 2491 | + "p": 0.5532, | |
| 2492 | + "stars": "" | |
| 2493 | + }, | |
| 2494 | + "has_garage": { | |
| 2495 | + "b": 0.0366, | |
| 2496 | + "se": 0.0248, | |
| 2497 | + "z": 1.48, | |
| 2498 | + "p": 0.1401, | |
| 2499 | + "stars": "" | |
| 2500 | + }, | |
| 2501 | + "reg_Montreal": { | |
| 2502 | + "b": 0.4111, | |
| 2503 | + "se": 0.0498, | |
| 2504 | + "z": 8.25, | |
| 2505 | + "p": 0.0, | |
| 2506 | + "stars": "***" | |
| 2507 | + }, | |
| 2508 | + "reg_Quebec": { | |
| 2509 | + "b": 0.1388, | |
| 2510 | + "se": 0.0765, | |
| 2511 | + "z": 1.81, | |
| 2512 | + "p": 0.0695, | |
| 2513 | + "stars": "" | |
| 2514 | + }, | |
| 2515 | + "reg_Regions": { | |
| 2516 | + "b": 0.0097, | |
| 2517 | + "se": 0.0593, | |
| 2518 | + "z": 0.16, | |
| 2519 | + "p": 0.8699, | |
| 2520 | + "stars": "" | |
| 2521 | + } | |
| 2522 | + } | |
| 2523 | + }, | |
| 2524 | + "wald": { | |
| 2525 | + "near_highway": { | |
| 2526 | + "10_90": 11.58, | |
| 2527 | + "25_75": 5.05, | |
| 2528 | + "10_50": 0.13 | |
| 2529 | + }, | |
| 2530 | + "near_hospital": { | |
| 2531 | + "10_90": 7.09, | |
| 2532 | + "25_75": 0.96, | |
| 2533 | + "10_50": 1.28 | |
| 2534 | + }, | |
| 2535 | + "near_park": { | |
| 2536 | + "10_90": 0.43, | |
| 2537 | + "25_75": 0.19, | |
| 2538 | + "10_50": 0.01 | |
| 2539 | + }, | |
| 2540 | + "near_school": { | |
| 2541 | + "10_90": 0.35, | |
| 2542 | + "25_75": 0.61, | |
| 2543 | + "10_50": 1.83 | |
| 2544 | + }, | |
| 2545 | + "near_transit": { | |
| 2546 | + "10_90": 0.08, | |
| 2547 | + "25_75": 0.12, | |
| 2548 | + "10_50": 0.27 | |
| 2549 | + }, | |
| 2550 | + "near_golf": { | |
| 2551 | + "10_90": 1.88, | |
| 2552 | + "25_75": 0.06, | |
| 2553 | + "10_50": 0.02 | |
| 2554 | + }, | |
| 2555 | + "has_garage": { | |
| 2556 | + "10_90": 4.44, | |
| 2557 | + "25_75": 10.4, | |
| 2558 | + "10_50": 6.75 | |
| 2559 | + } | |
| 2560 | + }, | |
| 2561 | + "moran_resid": { | |
| 2562 | + "QR_0.1": { | |
| 2563 | + "I": 0.559, | |
| 2564 | + "Z": 42.5 | |
| 2565 | + }, | |
| 2566 | + "QR_0.25": { | |
| 2567 | + "I": 0.5326, | |
| 2568 | + "Z": 40.6 | |
| 2569 | + }, | |
| 2570 | + "QR_0.5": { | |
| 2571 | + "I": 0.5165, | |
| 2572 | + "Z": 39.4 | |
| 2573 | + }, | |
| 2574 | + "QR_0.75": { | |
| 2575 | + "I": 0.5238, | |
| 2576 | + "Z": 39.9 | |
| 2577 | + }, | |
| 2578 | + "QR_0.9": { | |
| 2579 | + "I": 0.5161, | |
| 2580 | + "Z": 39.4 | |
| 2581 | + }, | |
| 2582 | + "SQR_0.1": { | |
| 2583 | + "I": 0.5619, | |
| 2584 | + "Z": 42.8 | |
| 2585 | + }, | |
| 2586 | + "SQR_0.25": { | |
| 2587 | + "I": 0.5358, | |
| 2588 | + "Z": 40.8 | |
| 2589 | + }, | |
| 2590 | + "SQR_0.5": { | |
| 2591 | + "I": 0.5219, | |
| 2592 | + "Z": 39.8 | |
| 2593 | + }, | |
| 2594 | + "SQR_0.75": { | |
| 2595 | + "I": 0.5392, | |
| 2596 | + "Z": 41.1 | |
| 2597 | + }, | |
| 2598 | + "SQR_0.9": { | |
| 2599 | + "I": 0.5423, | |
| 2600 | + "Z": 41.4 | |
| 2601 | + } | |
| 2602 | + }, | |
| 2603 | + "wtp": { | |
| 2604 | + "Highway": [ | |
| 2605 | + 12612.0, | |
| 2606 | + 26919.0, | |
| 2607 | + 40067.0, | |
| 2608 | + -11871.0, | |
| 2609 | + -122373.0 | |
| 2610 | + ], | |
| 2611 | + "Hospital": [ | |
| 2612 | + 18414.0, | |
| 2613 | + 2030.0, | |
| 2614 | + 19897.0, | |
| 2615 | + 34285.0, | |
| 2616 | + -62744.0 | |
| 2617 | + ], | |
| 2618 | + "Park": [ | |
| 2619 | + 8317.0, | |
| 2620 | + 14019.0, | |
| 2621 | + 16927.0, | |
| 2622 | + 12231.0, | |
| 2623 | + -3728.0 | |
| 2624 | + ], | |
| 2625 | + "School": [ | |
| 2626 | + -21867.0, | |
| 2627 | + -37765.0, | |
| 2628 | + -97780.0, | |
| 2629 | + -115548.0, | |
| 2630 | + -57092.0 | |
| 2631 | + ], | |
| 2632 | + "Transit": [ | |
| 2633 | + 46288.0, | |
| 2634 | + 52764.0, | |
| 2635 | + 91169.0, | |
| 2636 | + 131368.0, | |
| 2637 | + 237063.0 | |
| 2638 | + ], | |
| 2639 | + "Golf": [ | |
| 2640 | + -9302.0, | |
| 2641 | + -3892.0, | |
| 2642 | + -19083.0, | |
| 2643 | + -1476.0, | |
| 2644 | + 19097.0 | |
| 2645 | + ], | |
| 2646 | + "Garage": [ | |
| 2647 | + 36154.0, | |
| 2648 | + 46481.0, | |
| 2649 | + 31762.0, | |
| 2650 | + 4241.0, | |
| 2651 | + 56895.0 | |
| 2652 | + ] | |
| 2653 | + }, | |
| 2654 | + "effects": { | |
| 2655 | + "near_highway": { | |
| 2656 | + "beta": 0.0427, | |
| 2657 | + "total": 0.0491, | |
| 2658 | + "indirect": 0.0064, | |
| 2659 | + "dollar": 40228.0 | |
| 2660 | + }, | |
| 2661 | + "near_hospital": { | |
| 2662 | + "beta": 0.0241, | |
| 2663 | + "total": 0.0278, | |
| 2664 | + "indirect": 0.0036, | |
| 2665 | + "dollar": 22517.0 | |
| 2666 | + }, | |
| 2667 | + "near_park": { | |
| 2668 | + "beta": 0.0287, | |
| 2669 | + "total": 0.033, | |
| 2670 | + "indirect": 0.0043, | |
| 2671 | + "dollar": 26804.0 | |
| 2672 | + }, | |
| 2673 | + "near_school": { | |
| 2674 | + "beta": -0.129, | |
| 2675 | + "total": -0.1484, | |
| 2676 | + "indirect": -0.0195, | |
| 2677 | + "dollar": -110219.0 | |
| 2678 | + }, | |
| 2679 | + "near_transit": { | |
| 2680 | + "beta": 0.0982, | |
| 2681 | + "total": 0.1131, | |
| 2682 | + "indirect": 0.0148, | |
| 2683 | + "dollar": 95646.0 | |
| 2684 | + }, | |
| 2685 | + "near_golf": { | |
| 2686 | + "beta": -0.0233, | |
| 2687 | + "total": -0.0268, | |
| 2688 | + "indirect": -0.0035, | |
| 2689 | + "dollar": -21111.0 | |
| 2690 | + }, | |
| 2691 | + "has_garage": { | |
| 2692 | + "beta": 0.0301, | |
| 2693 | + "total": 0.0346, | |
| 2694 | + "indirect": 0.0045, | |
| 2695 | + "dollar": 28140.0 | |
| 2696 | + } | |
| 2697 | + }, | |
| 2698 | + "implied_first_stage_F": 202.92555960437278 | |
| 2699 | + }, | |
| 2700 | + "Land": { | |
| 2701 | + "name": "Land", | |
| 2702 | + "n_raw": 9595, | |
| 2703 | + "n": 9239, | |
| 2704 | + "price_min": 16000.0, | |
| 2705 | + "price_max": 8900000.0, | |
| 2706 | + "median": 150000.0, | |
| 2707 | + "k": 11, | |
| 2708 | + "regions": { | |
| 2709 | + "Gatineau": { | |
| 2710 | + "n": 67, | |
| 2711 | + "median": 314900.0 | |
| 2712 | + }, | |
| 2713 | + "Montreal": { | |
| 2714 | + "n": 790, | |
| 2715 | + "median": 499000.0 | |
| 2716 | + }, | |
| 2717 | + "Quebec": { | |
| 2718 | + "n": 168, | |
| 2719 | + "median": 327000.0 | |
| 2720 | + }, | |
| 2721 | + "Regions": { | |
| 2722 | + "n": 8214, | |
| 2723 | + "median": 147900.0 | |
| 2724 | + } | |
| 2725 | + }, | |
| 2726 | + "amenity_share": { | |
| 2727 | + "near_highway": 24.3, | |
| 2728 | + "near_hospital": 13.6, | |
| 2729 | + "near_park": 30.5, | |
| 2730 | + "near_school": 34.2, | |
| 2731 | + "near_transit": 8.3, | |
| 2732 | + "near_golf": 26.6 | |
| 2733 | + }, | |
| 2734 | + "ols_adj_r2": 0.154, | |
| 2735 | + "moran_ols": { | |
| 2736 | + "I": 0.5801, | |
| 2737 | + "Z": 67.2 | |
| 2738 | + }, | |
| 2739 | + "pseudo_r2": { | |
| 2740 | + "0.1": 0.0865, | |
| 2741 | + "0.25": 0.1071, | |
| 2742 | + "0.5": 0.1117, | |
| 2743 | + "0.75": 0.1151, | |
| 2744 | + "0.9": 0.084 | |
| 2745 | + }, | |
| 2746 | + "first_stage_r2": 0.2039, | |
| 2747 | + "rho50": 0.322, | |
| 2748 | + "ols": { | |
| 2749 | + "near_highway": { | |
| 2750 | + "b": 0.4747, | |
| 2751 | + "stars": "***" | |
| 2752 | + }, | |
| 2753 | + "near_hospital": { | |
| 2754 | + "b": -0.0359, | |
| 2755 | + "stars": "" | |
| 2756 | + }, | |
| 2757 | + "near_park": { | |
| 2758 | + "b": -0.0052, | |
| 2759 | + "stars": "" | |
| 2760 | + }, | |
| 2761 | + "near_school": { | |
| 2762 | + "b": -0.1126, | |
| 2763 | + "stars": "***" | |
| 2764 | + }, | |
| 2765 | + "near_transit": { | |
| 2766 | + "b": 0.4257, | |
| 2767 | + "stars": "***" | |
| 2768 | + }, | |
| 2769 | + "near_golf": { | |
| 2770 | + "b": 0.0856, | |
| 2771 | + "stars": "**" | |
| 2772 | + } | |
| 2773 | + }, | |
| 2774 | + "qr": { | |
| 2775 | + "0.1": { | |
| 2776 | + "const": { | |
| 2777 | + "b": 11.1212, | |
| 2778 | + "se": 0.1895, | |
| 2779 | + "z": 58.7, | |
| 2780 | + "p": 0.0, | |
| 2781 | + "stars": "***" | |
| 2782 | + }, | |
| 2783 | + "ln_land_c": { | |
| 2784 | + "b": 0.2138, | |
| 2785 | + "se": 0.0144, | |
| 2786 | + "z": 14.8, | |
| 2787 | + "p": 0.0, | |
| 2788 | + "stars": "***" | |
| 2789 | + }, | |
| 2790 | + "ln_dist_c": { | |
| 2791 | + "b": 0.6657, | |
| 2792 | + "se": 0.5351, | |
| 2793 | + "z": 1.24, | |
| 2794 | + "p": 0.2134, | |
| 2795 | + "stars": "" | |
| 2796 | + }, | |
| 2797 | + "near_highway": { | |
| 2798 | + "b": 0.4258, | |
| 2799 | + "se": 0.0371, | |
| 2800 | + "z": 11.48, | |
| 2801 | + "p": 0.0, | |
| 2802 | + "stars": "***" | |
| 2803 | + }, | |
| 2804 | + "near_hospital": { | |
| 2805 | + "b": -0.0299, | |
| 2806 | + "se": 0.0394, | |
| 2807 | + "z": -0.76, | |
| 2808 | + "p": 0.4477, | |
| 2809 | + "stars": "" | |
| 2810 | + }, | |
| 2811 | + "near_park": { | |
| 2812 | + "b": 0.0114, | |
| 2813 | + "se": 0.0299, | |
| 2814 | + "z": 0.38, | |
| 2815 | + "p": 0.7015, | |
| 2816 | + "stars": "" | |
| 2817 | + }, | |
| 2818 | + "near_school": { | |
| 2819 | + "b": 0.0303, | |
| 2820 | + "se": 0.0348, | |
| 2821 | + "z": 0.87, | |
| 2822 | + "p": 0.384, | |
| 2823 | + "stars": "" | |
| 2824 | + }, | |
| 2825 | + "near_transit": { | |
| 2826 | + "b": 0.3637, | |
| 2827 | + "se": 0.1056, | |
| 2828 | + "z": 3.44, | |
| 2829 | + "p": 0.0006, | |
| 2830 | + "stars": "***" | |
| 2831 | + }, | |
| 2832 | + "near_golf": { | |
| 2833 | + "b": 0.1323, | |
| 2834 | + "se": 0.0328, | |
| 2835 | + "z": 4.03, | |
| 2836 | + "p": 0.0001, | |
| 2837 | + "stars": "***" | |
| 2838 | + }, | |
| 2839 | + "reg_Montreal": { | |
| 2840 | + "b": 0.0876, | |
| 2841 | + "se": 0.1971, | |
| 2842 | + "z": 0.44, | |
| 2843 | + "p": 0.6566, | |
| 2844 | + "stars": "" | |
| 2845 | + }, | |
| 2846 | + "reg_Quebec": { | |
| 2847 | + "b": 0.4599, | |
| 2848 | + "se": 0.2029, | |
| 2849 | + "z": 2.27, | |
| 2850 | + "p": 0.0234, | |
| 2851 | + "stars": "*" | |
| 2852 | + }, | |
| 2853 | + "reg_Regions": { | |
| 2854 | + "b": -0.3941, | |
| 2855 | + "se": 0.1875, | |
| 2856 | + "z": -2.1, | |
| 2857 | + "p": 0.0356, | |
| 2858 | + "stars": "*" | |
| 2859 | + } | |
| 2860 | + }, | |
| 2861 | + "0.25": { | |
| 2862 | + "const": { | |
| 2863 | + "b": 11.6268, | |
| 2864 | + "se": 0.2293, | |
| 2865 | + "z": 50.71, | |
| 2866 | + "p": 0.0, | |
| 2867 | + "stars": "***" | |
| 2868 | + }, | |
| 2869 | + "ln_land_c": { | |
| 2870 | + "b": 0.2137, | |
| 2871 | + "se": 0.0103, | |
| 2872 | + "z": 20.71, | |
| 2873 | + "p": 0.0, | |
| 2874 | + "stars": "***" | |
| 2875 | + }, | |
| 2876 | + "ln_dist_c": { | |
| 2877 | + "b": 1.9862, | |
| 2878 | + "se": 0.505, | |
| 2879 | + "z": 3.93, | |
| 2880 | + "p": 0.0001, | |
| 2881 | + "stars": "***" | |
| 2882 | + }, | |
| 2883 | + "near_highway": { | |
| 2884 | + "b": 0.448, | |
| 2885 | + "se": 0.0329, | |
| 2886 | + "z": 13.63, | |
| 2887 | + "p": 0.0, | |
| 2888 | + "stars": "***" | |
| 2889 | + }, | |
| 2890 | + "near_hospital": { | |
| 2891 | + "b": -0.0224, | |
| 2892 | + "se": 0.0394, | |
| 2893 | + "z": -0.57, | |
| 2894 | + "p": 0.5701, | |
| 2895 | + "stars": "" | |
| 2896 | + }, | |
| 2897 | + "near_park": { | |
| 2898 | + "b": 0.0352, | |
| 2899 | + "se": 0.0317, | |
| 2900 | + "z": 1.11, | |
| 2901 | + "p": 0.2659, | |
| 2902 | + "stars": "" | |
| 2903 | + }, | |
| 2904 | + "near_school": { | |
| 2905 | + "b": -0.0832, | |
| 2906 | + "se": 0.0281, | |
| 2907 | + "z": -2.96, | |
| 2908 | + "p": 0.0031, | |
| 2909 | + "stars": "**" | |
| 2910 | + }, | |
| 2911 | + "near_transit": { | |
| 2912 | + "b": 0.5696, | |
| 2913 | + "se": 0.0735, | |
| 2914 | + "z": 7.75, | |
| 2915 | + "p": 0.0, | |
| 2916 | + "stars": "***" | |
| 2917 | + }, | |
| 2918 | + "near_golf": { | |
| 2919 | + "b": 0.212, | |
| 2920 | + "se": 0.0298, | |
| 2921 | + "z": 7.11, | |
| 2922 | + "p": 0.0, | |
| 2923 | + "stars": "***" | |
| 2924 | + }, | |
| 2925 | + "reg_Montreal": { | |
| 2926 | + "b": 0.3201, | |
| 2927 | + "se": 0.23, | |
| 2928 | + "z": 1.39, | |
| 2929 | + "p": 0.164, | |
| 2930 | + "stars": "" | |
| 2931 | + }, | |
| 2932 | + "reg_Quebec": { | |
| 2933 | + "b": 0.2688, | |
| 2934 | + "se": 0.2364, | |
| 2935 | + "z": 1.14, | |
| 2936 | + "p": 0.2555, | |
| 2937 | + "stars": "" | |
| 2938 | + }, | |
| 2939 | + "reg_Regions": { | |
| 2940 | + "b": -0.4956, | |
| 2941 | + "se": 0.2269, | |
| 2942 | + "z": -2.18, | |
| 2943 | + "p": 0.0289, | |
| 2944 | + "stars": "*" | |
| 2945 | + } | |
| 2946 | + }, | |
| 2947 | + "0.5": { | |
| 2948 | + "const": { | |
| 2949 | + "b": 12.533, | |
| 2950 | + "se": 0.1655, | |
| 2951 | + "z": 75.72, | |
| 2952 | + "p": 0.0, | |
| 2953 | + "stars": "***" | |
| 2954 | + }, | |
| 2955 | + "ln_land_c": { | |
| 2956 | + "b": 0.1902, | |
| 2957 | + "se": 0.0096, | |
| 2958 | + "z": 19.86, | |
| 2959 | + "p": 0.0, | |
| 2960 | + "stars": "***" | |
| 2961 | + }, | |
| 2962 | + "ln_dist_c": { | |
| 2963 | + "b": 1.2203, | |
| 2964 | + "se": 0.7969, | |
| 2965 | + "z": 1.53, | |
| 2966 | + "p": 0.1257, | |
| 2967 | + "stars": "" | |
| 2968 | + }, | |
| 2969 | + "near_highway": { | |
| 2970 | + "b": 0.4527, | |
| 2971 | + "se": 0.0348, | |
| 2972 | + "z": 13.0, | |
| 2973 | + "p": 0.0, | |
| 2974 | + "stars": "***" | |
| 2975 | + }, | |
| 2976 | + "near_hospital": { | |
| 2977 | + "b": -0.0616, | |
| 2978 | + "se": 0.0406, | |
| 2979 | + "z": -1.52, | |
| 2980 | + "p": 0.1292, | |
| 2981 | + "stars": "" | |
| 2982 | + }, | |
| 2983 | + "near_park": { | |
| 2984 | + "b": 0.0668, | |
| 2985 | + "se": 0.0387, | |
| 2986 | + "z": 1.72, | |
| 2987 | + "p": 0.0846, | |
| 2988 | + "stars": "" | |
| 2989 | + }, | |
| 2990 | + "near_school": { | |
| 2991 | + "b": -0.0486, | |
| 2992 | + "se": 0.0396, | |
| 2993 | + "z": -1.23, | |
| 2994 | + "p": 0.2204, | |
| 2995 | + "stars": "" | |
| 2996 | + }, | |
| 2997 | + "near_transit": { | |
| 2998 | + "b": 0.4846, | |
| 2999 | + "se": 0.0499, | |
| 3000 | + "z": 9.71, | |
| 3001 | + "p": 0.0, | |
| 3002 | + "stars": "***" | |
| 3003 | + }, | |
| 3004 | + "near_golf": { | |
| 3005 | + "b": 0.0752, | |
| 3006 | + "se": 0.0316, | |
| 3007 | + "z": 2.38, | |
| 3008 | + "p": 0.0174, | |
| 3009 | + "stars": "*" | |
| 3010 | + }, | |
| 3011 | + "reg_Montreal": { | |
| 3012 | + "b": 0.2222, | |
| 3013 | + "se": 0.168, | |
| 3014 | + "z": 1.32, | |
| 3015 | + "p": 0.1861, | |
| 3016 | + "stars": "" | |
| 3017 | + }, | |
| 3018 | + "reg_Quebec": { | |
| 3019 | + "b": -0.2053, | |
| 3020 | + "se": 0.1846, | |
| 3021 | + "z": -1.11, | |
| 3022 | + "p": 0.266, | |
| 3023 | + "stars": "" | |
| 3024 | + }, | |
| 3025 | + "reg_Regions": { | |
| 3026 | + "b": -0.8339, | |
| 3027 | + "se": 0.1657, | |
| 3028 | + "z": -5.03, | |
| 3029 | + "p": 0.0, | |
| 3030 | + "stars": "***" | |
| 3031 | + } | |
| 3032 | + }, | |
| 3033 | + "0.75": { | |
| 3034 | + "const": { | |
| 3035 | + "b": 13.4619, | |
| 3036 | + "se": 0.3816, | |
| 3037 | + "z": 35.28, | |
| 3038 | + "p": 0.0, | |
| 3039 | + "stars": "***" | |
| 3040 | + }, | |
| 3041 | + "ln_land_c": { | |
| 3042 | + "b": 0.1569, | |
| 3043 | + "se": 0.0114, | |
| 3044 | + "z": 13.78, | |
| 3045 | + "p": 0.0, | |
| 3046 | + "stars": "***" | |
| 3047 | + }, | |
| 3048 | + "ln_dist_c": { | |
| 3049 | + "b": 2.1401, | |
| 3050 | + "se": 1.1308, | |
| 3051 | + "z": 1.89, | |
| 3052 | + "p": 0.0584, | |
| 3053 | + "stars": "" | |
| 3054 | + }, | |
| 3055 | + "near_highway": { | |
| 3056 | + "b": 0.5086, | |
| 3057 | + "se": 0.0451, | |
| 3058 | + "z": 11.29, | |
| 3059 | + "p": 0.0, | |
| 3060 | + "stars": "***" | |
| 3061 | + }, | |
| 3062 | + "near_hospital": { | |
| 3063 | + "b": -0.0401, | |
| 3064 | + "se": 0.0456, | |
| 3065 | + "z": -0.88, | |
| 3066 | + "p": 0.3783, | |
| 3067 | + "stars": "" | |
| 3068 | + }, | |
| 3069 | + "near_park": { | |
| 3070 | + "b": 0.0258, | |
| 3071 | + "se": 0.0498, | |
| 3072 | + "z": 0.52, | |
| 3073 | + "p": 0.6036, | |
| 3074 | + "stars": "" | |
| 3075 | + }, | |
| 3076 | + "near_school": { | |
| 3077 | + "b": -0.1451, | |
| 3078 | + "se": 0.0426, | |
| 3079 | + "z": -3.41, | |
| 3080 | + "p": 0.0007, | |
| 3081 | + "stars": "***" | |
| 3082 | + }, | |
| 3083 | + "near_transit": { | |
| 3084 | + "b": 0.4657, | |
| 3085 | + "se": 0.0567, | |
| 3086 | + "z": 8.22, | |
| 3087 | + "p": 0.0, | |
| 3088 | + "stars": "***" | |
| 3089 | + }, | |
| 3090 | + "near_golf": { | |
| 3091 | + "b": 0.0706, | |
| 3092 | + "se": 0.0402, | |
| 3093 | + "z": 1.76, | |
| 3094 | + "p": 0.0789, | |
| 3095 | + "stars": "" | |
| 3096 | + }, | |
| 3097 | + "reg_Montreal": { | |
| 3098 | + "b": 0.1137, | |
| 3099 | + "se": 0.3852, | |
| 3100 | + "z": 0.3, | |
| 3101 | + "p": 0.7678, | |
| 3102 | + "stars": "" | |
| 3103 | + }, | |
| 3104 | + "reg_Quebec": { | |
| 3105 | + "b": -0.4069, | |
| 3106 | + "se": 0.3924, | |
| 3107 | + "z": -1.04, | |
| 3108 | + "p": 0.2997, | |
| 3109 | + "stars": "" | |
| 3110 | + }, | |
| 3111 | + "reg_Regions": { | |
| 3112 | + "b": -1.0706, | |
| 3113 | + "se": 0.3801, | |
| 3114 | + "z": -2.82, | |
| 3115 | + "p": 0.0048, | |
| 3116 | + "stars": "**" | |
| 3117 | + } | |
| 3118 | + }, | |
| 3119 | + "0.9": { | |
| 3120 | + "const": { | |
| 3121 | + "b": 14.7859, | |
| 3122 | + "se": 0.2847, | |
| 3123 | + "z": 51.93, | |
| 3124 | + "p": 0.0, | |
| 3125 | + "stars": "***" | |
| 3126 | + }, | |
| 3127 | + "ln_land_c": { | |
| 3128 | + "b": 0.074, | |
| 3129 | + "se": 0.0106, | |
| 3130 | + "z": 7.0, | |
| 3131 | + "p": 0.0, | |
| 3132 | + "stars": "***" | |
| 3133 | + }, | |
| 3134 | + "ln_dist_c": { | |
| 3135 | + "b": 5.7141, | |
| 3136 | + "se": 1.715, | |
| 3137 | + "z": 3.33, | |
| 3138 | + "p": 0.0009, | |
| 3139 | + "stars": "***" | |
| 3140 | + }, | |
| 3141 | + "near_highway": { | |
| 3142 | + "b": 0.572, | |
| 3143 | + "se": 0.0732, | |
| 3144 | + "z": 7.82, | |
| 3145 | + "p": 0.0, | |
| 3146 | + "stars": "***" | |
| 3147 | + }, | |
| 3148 | + "near_hospital": { | |
| 3149 | + "b": 0.0715, | |
| 3150 | + "se": 0.0944, | |
| 3151 | + "z": 0.76, | |
| 3152 | + "p": 0.4491, | |
| 3153 | + "stars": "" | |
| 3154 | + }, | |
| 3155 | + "near_park": { | |
| 3156 | + "b": -0.1371, | |
| 3157 | + "se": 0.0837, | |
| 3158 | + "z": -1.64, | |
| 3159 | + "p": 0.1016, | |
| 3160 | + "stars": "" | |
| 3161 | + }, | |
| 3162 | + "near_school": { | |
| 3163 | + "b": -0.2488, | |
| 3164 | + "se": 0.0863, | |
| 3165 | + "z": -2.88, | |
| 3166 | + "p": 0.0039, | |
| 3167 | + "stars": "**" | |
| 3168 | + }, | |
| 3169 | + "near_transit": { | |
| 3170 | + "b": 0.4206, | |
| 3171 | + "se": 0.1, | |
| 3172 | + "z": 4.21, | |
| 3173 | + "p": 0.0, | |
| 3174 | + "stars": "***" | |
| 3175 | + }, | |
| 3176 | + "near_golf": { | |
| 3177 | + "b": -0.1731, | |
| 3178 | + "se": 0.0777, | |
| 3179 | + "z": -2.23, | |
| 3180 | + "p": 0.0259, | |
| 3181 | + "stars": "*" | |
| 3182 | + }, | |
| 3183 | + "reg_Montreal": { | |
| 3184 | + "b": -0.294, | |
| 3185 | + "se": 0.2843, | |
| 3186 | + "z": -1.03, | |
| 3187 | + "p": 0.301, | |
| 3188 | + "stars": "" | |
| 3189 | + }, | |
| 3190 | + "reg_Quebec": { | |
| 3191 | + "b": -0.6773, | |
| 3192 | + "se": 0.3549, | |
| 3193 | + "z": -1.91, | |
| 3194 | + "p": 0.0563, | |
| 3195 | + "stars": "" | |
| 3196 | + }, | |
| 3197 | + "reg_Regions": { | |
| 3198 | + "b": -1.3747, | |
| 3199 | + "se": 0.2837, | |
| 3200 | + "z": -4.85, | |
| 3201 | + "p": 0.0, | |
| 3202 | + "stars": "***" | |
| 3203 | + } | |
| 3204 | + } | |
| 3205 | + }, | |
| 3206 | + "wald": { | |
| 3207 | + "near_highway": { | |
| 3208 | + "10_90": 3.18, | |
| 3209 | + "25_75": 1.18, | |
| 3210 | + "10_50": 0.28 | |
| 3211 | + }, | |
| 3212 | + "near_hospital": { | |
| 3213 | + "10_90": 0.98, | |
| 3214 | + "25_75": 0.09, | |
| 3215 | + "10_50": 0.31 | |
| 3216 | + }, | |
| 3217 | + "near_park": { | |
| 3218 | + "10_90": 2.79, | |
| 3219 | + "25_75": 0.03, | |
| 3220 | + "10_50": 1.28 | |
| 3221 | + }, | |
| 3222 | + "near_school": { | |
| 3223 | + "10_90": 9.0, | |
| 3224 | + "25_75": 1.47, | |
| 3225 | + "10_50": 2.24 | |
| 3226 | + }, | |
| 3227 | + "near_transit": { | |
| 3228 | + "10_90": 0.15, | |
| 3229 | + "25_75": 1.25, | |
| 3230 | + "10_50": 1.07 | |
| 3231 | + }, | |
| 3232 | + "near_golf": { | |
| 3233 | + "10_90": 13.11, | |
| 3234 | + "25_75": 7.99, | |
| 3235 | + "10_50": 1.57 | |
| 3236 | + } | |
| 3237 | + }, | |
| 3238 | + "moran_resid": { | |
| 3239 | + "QR_0.1": { | |
| 3240 | + "I": 0.5973, | |
| 3241 | + "Z": 69.2 | |
| 3242 | + }, | |
| 3243 | + "QR_0.25": { | |
| 3244 | + "I": 0.5849, | |
| 3245 | + "Z": 67.8 | |
| 3246 | + }, | |
| 3247 | + "QR_0.5": { | |
| 3248 | + "I": 0.5851, | |
| 3249 | + "Z": 67.8 | |
| 3250 | + }, | |
| 3251 | + "QR_0.75": { | |
| 3252 | + "I": 0.5853, | |
| 3253 | + "Z": 67.8 | |
| 3254 | + }, | |
| 3255 | + "QR_0.9": { | |
| 3256 | + "I": 0.5885, | |
| 3257 | + "Z": 68.2 | |
| 3258 | + }, | |
| 3259 | + "SQR_0.1": { | |
| 3260 | + "I": 0.607, | |
| 3261 | + "Z": 70.3 | |
| 3262 | + }, | |
| 3263 | + "SQR_0.25": { | |
| 3264 | + "I": 0.5986, | |
| 3265 | + "Z": 69.4 | |
| 3266 | + }, | |
| 3267 | + "SQR_0.5": { | |
| 3268 | + "I": 0.5948, | |
| 3269 | + "Z": 68.9 | |
| 3270 | + }, | |
| 3271 | + "SQR_0.75": { | |
| 3272 | + "I": 0.5939, | |
| 3273 | + "Z": 68.8 | |
| 3274 | + }, | |
| 3275 | + "SQR_0.9": { | |
| 3276 | + "I": 0.5878, | |
| 3277 | + "Z": 68.1 | |
| 3278 | + } | |
| 3279 | + }, | |
| 3280 | + "wtp": { | |
| 3281 | + "Highway": [ | |
| 3282 | + 26539.0, | |
| 3283 | + 44932.0, | |
| 3284 | + 85884.0, | |
| 3285 | + 232054.0, | |
| 3286 | + 703113.0 | |
| 3287 | + ], | |
| 3288 | + "Hospital": [ | |
| 3289 | + -1473.0, | |
| 3290 | + -1760.0, | |
| 3291 | + -8959.0, | |
| 3292 | + -13769.0, | |
| 3293 | + 67487.0 | |
| 3294 | + ], | |
| 3295 | + "Park": [ | |
| 3296 | + 576.0, | |
| 3297 | + 2852.0, | |
| 3298 | + 10357.0, | |
| 3299 | + 9164.0, | |
| 3300 | + -116700.0 | |
| 3301 | + ], | |
| 3302 | + "School": [ | |
| 3303 | + 1537.0, | |
| 3304 | + -6349.0, | |
| 3305 | + -7109.0, | |
| 3306 | + -47286.0, | |
| 3307 | + -200656.0 | |
| 3308 | + ], | |
| 3309 | + "Transit": [ | |
| 3310 | + 21934.0, | |
| 3311 | + 61025.0, | |
| 3312 | + 93530.0, | |
| 3313 | + 207578.0, | |
| 3314 | + 476333.0 | |
| 3315 | + ], | |
| 3316 | + "Golf": [ | |
| 3317 | + 7074.0, | |
| 3318 | + 18771.0, | |
| 3319 | + 11716.0, | |
| 3320 | + 25594.0, | |
| 3321 | + -144802.0 | |
| 3322 | + ] | |
| 3323 | + }, | |
| 3324 | + "effects": { | |
| 3325 | + "near_highway": { | |
| 3326 | + "beta": 0.3235, | |
| 3327 | + "total": 0.4771, | |
| 3328 | + "indirect": 0.1536, | |
| 3329 | + "dollar": 91709.0 | |
| 3330 | + }, | |
| 3331 | + "near_hospital": { | |
| 3332 | + "beta": -0.0111, | |
| 3333 | + "total": -0.0164, | |
| 3334 | + "indirect": -0.0053, | |
| 3335 | + "dollar": -2441.0 | |
| 3336 | + }, | |
| 3337 | + "near_park": { | |
| 3338 | + "beta": 0.0659, | |
| 3339 | + "total": 0.0973, | |
| 3340 | + "indirect": 0.0313, | |
| 3341 | + "dollar": 15322.0 | |
| 3342 | + }, | |
| 3343 | + "near_school": { | |
| 3344 | + "beta": -0.0183, | |
| 3345 | + "total": -0.027, | |
| 3346 | + "indirect": -0.0087, | |
| 3347 | + "dollar": -4003.0 | |
| 3348 | + }, | |
| 3349 | + "near_transit": { | |
| 3350 | + "beta": 0.3493, | |
| 3351 | + "total": 0.5152, | |
| 3352 | + "indirect": 0.1659, | |
| 3353 | + "dollar": 101101.0 | |
| 3354 | + }, | |
| 3355 | + "near_golf": { | |
| 3356 | + "beta": 0.0452, | |
| 3357 | + "total": 0.0666, | |
| 3358 | + "indirect": 0.0214, | |
| 3359 | + "dollar": 10331.0 | |
| 3360 | + } | |
| 3361 | + }, | |
| 3362 | + "implied_first_stage_F": 107.29250550981487 | |
| 3363 | + } | |
| 3364 | +} | |
| \ No newline at end of file | ||
modified
scripts/05_sqr_multi_segment.py
+19 −11
@@ -38,11 +38,19 @@ K_NEIGHBORS = 10 | ||
| 38 | 38 | N_BOOTSTRAP = 200 |
| 39 | 39 | MTL_LAT, MTL_LON = 45.5017, -73.5673 |
| 40 | 40 | |
| 41 | +# Data directory: first command-line argument, default data/raw (added 2026-10-17; the | |
| 42 | +# original script read the four files from the working directory). Figures are written | |
| 43 | +# to figures/. No estimation code was changed. | |
| 44 | +import os | |
| 45 | +DATA_DIR = sys.argv[1] if len(sys.argv) > 1 else "data/raw" | |
| 46 | +FIG_DIR = "figures" | |
| 47 | +os.makedirs(FIG_DIR, exist_ok=True) | |
| 48 | + | |
| 41 | 49 | SEGMENTS = OrderedDict([ |
| 42 | − ("Houses", "house_listings_1767845793472.json"), | |
| 43 | − ("Condos", "condo_listings_1767845836917.json"), | |
| 44 | − ("Plex", "plex_listings_1767845853004.json"), | |
| 45 | − ("Land", "terrain_listings_1767845845645.json"), | |
| 50 | + ("Houses", os.path.join(DATA_DIR, "house_listings_1767845793472.json")), | |
| 51 | + ("Condos", os.path.join(DATA_DIR, "condo_listings_1767845836917.json")), | |
| 52 | + ("Plex", os.path.join(DATA_DIR, "plex_listings_1767845853004.json")), | |
| 53 | + ("Land", os.path.join(DATA_DIR, "terrain_listings_1767845845645.json")), | |
| 46 | 54 | ]) |
| 47 | 55 | |
| 48 | 56 | # ═══════════════════════════════════════════════════════════════ |
@@ -712,7 +720,7 @@ for ax_idx, var in enumerate(common_amenities): | ||
| 712 | 720 | ax.legend(loc="best") |
| 713 | 721 | |
| 714 | 722 | plt.tight_layout(rect=[0, 0, 1, 0.94]) |
| 715 | −plt.savefig("fig1_coef_plots_amenities.png") | |
| 723 | +plt.savefig(os.path.join(FIG_DIR, "fig1_coef_plots_amenities.png")) | |
| 716 | 724 | print(" ✓ fig1_coef_plots_amenities.png") |
| 717 | 725 | plt.close() |
| 718 | 726 | |
@@ -753,7 +761,7 @@ for ax_idx, var in enumerate(common_amenities): | ||
| 753 | 761 | ax.legend(loc="best") |
| 754 | 762 | |
| 755 | 763 | plt.tight_layout(rect=[0, 0, 1, 0.94]) |
| 756 | −plt.savefig("fig2_wtp_by_quantile.png") | |
| 764 | +plt.savefig(os.path.join(FIG_DIR, "fig2_wtp_by_quantile.png")) | |
| 757 | 765 | print(" ✓ fig2_wtp_by_quantile.png") |
| 758 | 766 | plt.close() |
| 759 | 767 | |
@@ -797,7 +805,7 @@ for ax_idx, seg_name in enumerate(all_results.keys()): | ||
| 797 | 805 | ax.legend(loc="best", fontsize=7) |
| 798 | 806 | |
| 799 | 807 | plt.tight_layout(rect=[0, 0, 1, 0.93]) |
| 800 | −plt.savefig("fig3_ols_vs_qr_vs_sqr.png") | |
| 808 | +plt.savefig(os.path.join(FIG_DIR, "fig3_ols_vs_qr_vs_sqr.png")) | |
| 801 | 809 | print(" ✓ fig3_ols_vs_qr_vs_sqr.png") |
| 802 | 810 | plt.close() |
| 803 | 811 | |
@@ -815,7 +823,7 @@ ax.set_ylabel("Pseudo-R²") | ||
| 815 | 823 | ax.legend() |
| 816 | 824 | ax.grid(True, alpha=0.3) |
| 817 | 825 | plt.tight_layout() |
| 818 | −plt.savefig("fig4_pseudo_r2.png") | |
| 826 | +plt.savefig(os.path.join(FIG_DIR, "fig4_pseudo_r2.png")) | |
| 819 | 827 | print(" ✓ fig4_pseudo_r2.png") |
| 820 | 828 | plt.close() |
| 821 | 829 | |
@@ -835,7 +843,7 @@ ax.axhline(y=0, color="grey", linewidth=0.8, linestyle="--") | ||
| 835 | 843 | ax.legend() |
| 836 | 844 | ax.grid(True, alpha=0.3) |
| 837 | 845 | plt.tight_layout() |
| 838 | −plt.savefig("fig5_spatial_lag_rho.png") | |
| 846 | +plt.savefig(os.path.join(FIG_DIR, "fig5_spatial_lag_rho.png")) | |
| 839 | 847 | print(" ✓ fig5_spatial_lag_rho.png") |
| 840 | 848 | plt.close() |
| 841 | 849 | |
@@ -859,7 +867,7 @@ for ax_idx, (seg_name, res_dict) in enumerate(all_results.items()): | ||
| 859 | 867 | ha="center", color="red") |
| 860 | 868 | |
| 861 | 869 | plt.tight_layout(rect=[0, 0, 1, 0.94]) |
| 862 | −plt.savefig("fig6_price_distributions.png") | |
| 870 | +plt.savefig(os.path.join(FIG_DIR, "fig6_price_distributions.png")) | |
| 863 | 871 | print(" ✓ fig6_price_distributions.png") |
| 864 | 872 | plt.close() |
| 865 | 873 | |
@@ -908,7 +916,7 @@ for ax_idx, (seg_name, res_dict) in enumerate(all_results.items()): | ||
| 908 | 916 | plt.colorbar(im, ax=ax, shrink=0.8, label="Wald stat.") |
| 909 | 917 | |
| 910 | 918 | plt.tight_layout(rect=[0, 0, 1, 0.92]) |
| 911 | −plt.savefig("fig7_wald_heatmap.png") | |
| 919 | +plt.savefig(os.path.join(FIG_DIR, "fig7_wald_heatmap.png")) | |
| 912 | 920 | print(" ✓ fig7_wald_heatmap.png") |
| 913 | 921 | plt.close() |
| 914 | 922 | |
added
scripts/06_tables_figures_from_log.py
+810 −0
@@ -0,0 +1,810 @@ | ||
| 1 | +""" | |
| 2 | +06_tables_figures_from_log.py — Rebuild every paper table (and the figures that can be | |
| 3 | +rebuilt) from the preserved console log of the original run of | |
| 4 | +scripts/05_sqr_multi_segment.py (results/sqr_multi_segment_output.txt). | |
| 5 | + | |
| 6 | +Added during the 2026-10-17 editorial-board revision. The Centris snapshot is not on | |
| 7 | +this machine, so the analysis could not be rerun; the log is the only audit trail of | |
| 8 | +the numbers reported in the paper. Every number written to paper/tables/*.tex and | |
| 9 | +figures/*.png by this script is parsed from that log (or derived from it by an | |
| 10 | +explicit formula stated in the table note). Nothing is typed by hand. | |
| 11 | + | |
| 12 | +Usage: python3 scripts/06_tables_figures_from_log.py | |
| 13 | +Outputs: results/log_parsed.json, paper/tables/*.tex, figures/fig*.png (copied to | |
| 14 | + paper/figures/). | |
| 15 | +""" | |
| 16 | + | |
| 17 | +import json | |
| 18 | +import math | |
| 19 | +import re | |
| 20 | +import shutil | |
| 21 | +from pathlib import Path | |
| 22 | + | |
| 23 | +import matplotlib | |
| 24 | +matplotlib.use("Agg") | |
| 25 | +import matplotlib.pyplot as plt | |
| 26 | +import numpy as np | |
| 27 | +from scipy import stats | |
| 28 | + | |
| 29 | +ROOT = Path(__file__).resolve().parents[1] | |
| 30 | +LOG = ROOT / "results" / "sqr_multi_segment_output.txt" | |
| 31 | +TAB = ROOT / "paper" / "tables" | |
| 32 | +FIG = ROOT / "figures" | |
| 33 | +PFIG = ROOT / "paper" / "figures" | |
| 34 | +TAUS = [0.10, 0.25, 0.50, 0.75, 0.90] | |
| 35 | +SEGS = ["Houses", "Condos", "Plex", "Land"] | |
| 36 | +AMEN = ["near_highway", "near_hospital", "near_park", "near_school", | |
| 37 | + "near_transit", "near_golf", "has_garage"] | |
| 38 | +LABEL = {"near_highway": "Highway", "near_hospital": "Hospital", "near_park": "Park", | |
| 39 | + "near_school": "School", "near_transit": "Transit", "near_golf": "Golf course", | |
| 40 | + "has_garage": "Garage", | |
| 41 | + "const": "Constant", "bedrooms_c": "Bedrooms", "total_baths_c": "Bathrooms", | |
| 42 | + "stories_c": "Stories", "parking_spaces_c": "Parking spaces", | |
| 43 | + "ln_dist_c": "$\\ln$(distance to Montreal)", "ln_floor_c": "$\\ln$(floor area)", | |
| 44 | + "ln_land_c": "$\\ln$(land area)", "unit_total_c": "Number of units", | |
| 45 | + "reg_Montreal": "Montreal", "reg_Quebec": "Qu\\'ebec City", "reg_Regions": "Other regions"} | |
| 46 | +SEGLABEL = {"Houses": "Single-family houses", "Condos": "Condominiums", | |
| 47 | + "Plex": "Multiplexes", "Land": "Vacant land"} | |
| 48 | + | |
| 49 | + | |
| 50 | +# ---------------------------------------------------------------------------- | |
| 51 | +# 1. Parse the log | |
| 52 | +# ---------------------------------------------------------------------------- | |
| 53 | +def fnum(s): | |
| 54 | + return float(s.replace(",", "").replace("$", "").replace("+", "").strip()) | |
| 55 | + | |
| 56 | + | |
| 57 | +def parse_log(text): | |
| 58 | + chunks = re.split(r"SEGMENT : ([A-Z]+)", text) | |
| 59 | + out = {} | |
| 60 | + for i in range(1, len(chunks), 2): | |
| 61 | + name = chunks[i].capitalize() | |
| 62 | + body = chunks[i + 1] | |
| 63 | + seg = {"name": name} | |
| 64 | + seg["n_raw"] = int(re.search(r"Annonces brutes : ([\d,]+)", body).group(1).replace(",", "")) | |
| 65 | + seg["n"] = int(re.search(r"chantillon final : ([\d,]+)", body).group(1).replace(",", "")) | |
| 66 | + m = re.search(r"Prix : \[([\d,]+) — ([\d,]+)\]", body) | |
| 67 | + seg["price_min"], seg["price_max"] = fnum(m.group(1)), fnum(m.group(2)) | |
| 68 | + seg["median"] = fnum(re.search(r"Médiane : ([\d,]+)", body).group(1)) | |
| 69 | + seg["k"] = int(re.search(r"Variables : (\d+)", body).group(1)) | |
| 70 | + seg["regions"] = {} | |
| 71 | + for r, n_r, med in re.findall(r"\n\s+(Gatineau|Montreal|Quebec|Regions)\s+:\s+(\d+)\s+\(médian:\s+([\d,]+) \$\)", body): | |
| 72 | + seg["regions"][r] = {"n": int(n_r), "median": fnum(med)} | |
| 73 | + seg["amenity_share"] = {v: float(s) for v, s in re.findall(r"\n\s+(near_\w+|has_garage)\s+:\s+([\d.]+)%", body)} | |
| 74 | + seg["ols_adj_r2"] = float(re.search(r"R² ajusté = ([\d.]+)", body).group(1)) | |
| 75 | + m = re.search(r"Moran I \(résidus\) = ([\d.]+), Z = ([\d.]+)", body) | |
| 76 | + seg["moran_ols"] = {"I": float(m.group(1)), "Z": float(m.group(2))} | |
| 77 | + seg["pseudo_r2"] = {float(t): float(r) for t, r in re.findall(r"τ = ([\d.]+) : pseudo-R² = ([\d.]+)", body)} | |
| 78 | + seg["first_stage_r2"] = float(re.search(r"première étape R² = ([\d.]+)", body).group(1)) | |
| 79 | + seg["rho50"] = float(re.search(r"ρ \(lag spatial, τ=0\.50\) = ([-\d.]+)", body).group(1)) | |
| 80 | + # OLS amenity coefficients (last column of the summary block, with stars) | |
| 81 | + seg["ols"] = {} | |
| 82 | + summary = body.split("┌──")[0] | |
| 83 | + for line in summary.splitlines(): | |
| 84 | + t = line.split() | |
| 85 | + if t and t[0] in AMEN and len(t) >= 7: | |
| 86 | + last = t[-1] | |
| 87 | + m = re.match(r"(-?[\d.]+)(\**)", last) | |
| 88 | + seg["ols"][t[0]] = {"b": float(m.group(1)), "stars": m.group(2)} | |
| 89 | + # Full QR tables per tau | |
| 90 | + seg["qr"] = {} | |
| 91 | + for tau_s, block in re.findall(r"┌── τ = ([\d.]+) ─+\n(.*?)└", body, re.S): | |
| 92 | + tau = float(tau_s) | |
| 93 | + coefs = {} | |
| 94 | + for line in block.splitlines(): | |
| 95 | + m = re.match(r"\s*│\s+(\S+)\s+(-?[\d.]+)\s+([\d.]+)\s+(-?[\d.]+)\s+([\d.]+)\s*(\**)", line) | |
| 96 | + if m: | |
| 97 | + coefs[m.group(1)] = {"b": float(m.group(2)), "se": float(m.group(3)), | |
| 98 | + "z": float(m.group(4)), "p": float(m.group(5)), "stars": m.group(6)} | |
| 99 | + seg["qr"][tau] = coefs | |
| 100 | + # Wald tests | |
| 101 | + seg["wald"] = {} | |
| 102 | + wblock = body.split("Tests de Wald")[1].split("Moran I résidus")[0] | |
| 103 | + for line in wblock.splitlines(): | |
| 104 | + t = line.split() | |
| 105 | + if t and t[0] in AMEN: | |
| 106 | + vals = re.findall(r"(-?[\d.]+)\s+(\*{1,3}|n\.s\.)", line) | |
| 107 | + seg["wald"][t[0]] = {"10_90": float(vals[0][0]), "25_75": float(vals[1][0]), "10_50": float(vals[2][0])} | |
| 108 | + # Moran on residuals | |
| 109 | + seg["moran_resid"] = {} | |
| 110 | + mblock = body.split("Moran I résidus")[1].split("Prix implicites")[0] | |
| 111 | + for m in re.finditer(r"(QR|SQR) τ=([\d.]+)\s+([\d.]+)\s+([\d.]+)", mblock): | |
| 112 | + seg["moran_resid"][(m.group(1), float(m.group(2)))] = {"I": float(m.group(3)), "Z": float(m.group(4))} | |
| 113 | + # Implicit prices | |
| 114 | + seg["wtp"] = {} | |
| 115 | + pblock = body.split("Prix implicites")[1].split("Effets directs")[0] | |
| 116 | + for line in pblock.splitlines(): | |
| 117 | + t = line.split() | |
| 118 | + if t and t[0] in ("Highway", "Hospital", "Park", "School", "Transit", "Golf", "Garage"): | |
| 119 | + seg["wtp"][t[0]] = [fnum(x) for x in t[1:6]] | |
| 120 | + # Direct / indirect effects (SQR tau = 0.5) | |
| 121 | + seg["effects"] = {} | |
| 122 | + eblock = body.split("Effets directs")[1] | |
| 123 | + eblock = eblock.split("▓")[0].split("GÉNÉRATION")[0] | |
| 124 | + for line in eblock.splitlines(): | |
| 125 | + t = line.split() | |
| 126 | + if t and t[0] in AMEN: | |
| 127 | + seg["effects"][t[0]] = {"beta": float(t[1]), "total": float(t[2]), | |
| 128 | + "indirect": float(t[3]), "dollar": fnum(t[4])} | |
| 129 | + out[name] = seg | |
| 130 | + return out | |
| 131 | + | |
| 132 | + | |
| 133 | +# ---------------------------------------------------------------------------- | |
| 134 | +# 2. Helpers | |
| 135 | +# ---------------------------------------------------------------------------- | |
| 136 | +def stars_from_p(p): | |
| 137 | + return "***" if p < 0.01 else "**" if p < 0.05 else "*" if p < 0.10 else "" | |
| 138 | + | |
| 139 | + | |
| 140 | +def star_p_from_z(b, se): | |
| 141 | + z = b / se if se > 0 else 0.0 | |
| 142 | + return 2 * (1 - stats.norm.cdf(abs(z))) | |
| 143 | + | |
| 144 | + | |
| 145 | +def num(x, nd=3): | |
| 146 | + """number with a typographic minus sign.""" | |
| 147 | + t = f"{abs(x):.{nd}f}" | |
| 148 | + return ("$-$" + t) if x < 0 and t.strip("0.") != "" else t | |
| 149 | + | |
| 150 | + | |
| 151 | +def fmt_coef(b, se): | |
| 152 | + """coefficient with conventional stars (p<0.10 *, p<0.05 **, p<0.01 ***) and SE below.""" | |
| 153 | + p = star_p_from_z(b, se) | |
| 154 | + st = stars_from_p(p) | |
| 155 | + return (num(b) + (f"$^{{{st}}}$" if st else "")), f"({se:.3f})" | |
| 156 | + | |
| 157 | + | |
| 158 | +def money(x): | |
| 159 | + s = f"{abs(x):,.0f}" | |
| 160 | + return ("$-$" if x < 0 else "$+$") + s | |
| 161 | + | |
| 162 | + | |
| 163 | +def write(name, content): | |
| 164 | + (TAB / name).write_text(content) | |
| 165 | + print(" wrote", TAB / name) | |
| 166 | + | |
| 167 | + | |
| 168 | +NOTE_STARS = ("$^{***}$, $^{**}$ and $^{*}$ denote significance at the 1, 5 and 10 percent levels " | |
| 169 | + "(two-sided normal test using bootstrap standard errors, $B = 200$ paired resamples).") | |
| 170 | +NOTE_SRC = ("All entries are parsed from \\texttt{results/sqr\\_multi\\_segment\\_output.txt}, the preserved " | |
| 171 | + "log of the original run of \\texttt{scripts/05\\_sqr\\_multi\\_segment.py}, by " | |
| 172 | + "\\texttt{scripts/06\\_tables\\_figures\\_from\\_log.py}.") | |
| 173 | + | |
| 174 | + | |
| 175 | +# ---------------------------------------------------------------------------- | |
| 176 | +# 3. Tables | |
| 177 | +# ---------------------------------------------------------------------------- | |
| 178 | +def table_sample(D): | |
| 179 | + rows = [] | |
| 180 | + rows.append("Raw listings & " + " & ".join(f"{D[s]['n_raw']:,}" for s in SEGS) + " \\\\") | |
| 181 | + rows.append("Estimation sample & " + " & ".join(f"{D[s]['n']:,}" for s in SEGS) + " \\\\") | |
| 182 | + rows.append("Retention rate (\\%) & " + " & ".join(f"{100*D[s]['n']/D[s]['n_raw']:.1f}" for s in SEGS) + " \\\\") | |
| 183 | + rows.append("Number of regressors & " + " & ".join(f"{D[s]['k']}" for s in SEGS) + " \\\\") | |
| 184 | + rows.append("\\midrule") | |
| 185 | + rows.append("Minimum asking price (\\$) & " + " & ".join(f"{D[s]['price_min']:,.0f}" for s in SEGS) + " \\\\") | |
| 186 | + rows.append("Median asking price (\\$) & " + " & ".join(f"{D[s]['median']:,.0f}" for s in SEGS) + " \\\\") | |
| 187 | + rows.append("Maximum asking price (\\$) & " + " & ".join(f"{D[s]['price_max']:,.0f}" for s in SEGS) + " \\\\") | |
| 188 | + body = "\n".join(rows) | |
| 189 | + write("sample.tex", f"""\\begin{{table}}[H] | |
| 190 | +\\centering | |
| 191 | +\\caption{{Sample construction by market segment}} | |
| 192 | +\\label{{tab:sample}} | |
| 193 | +\\begin{{threeparttable}} | |
| 194 | +\\begin{{tabular}}{{lrrrr}} | |
| 195 | +\\toprule | |
| 196 | +& Houses & Condominiums & Multiplexes & Vacant land \\\\ | |
| 197 | +\\midrule | |
| 198 | +{body} | |
| 199 | +\\bottomrule | |
| 200 | +\\end{{tabular}} | |
| 201 | +\\begin{{tablenotes}} | |
| 202 | +\\small | |
| 203 | +\\item \\textit{{Notes:}} Centris active listings, Quebec, snapshot of May 2026. The estimation sample retains listings with a positive asking price, valid coordinates, non-missing structural variables required by the segment specification (Table~\\ref{{tab:specification}}), floor area above 100 sq.\\,ft.\\ where applicable, land area above zero (above 10 sq.\\,ft.\\ for land), land area winsorised at its 99th percentile, and asking price, floor area and land area trimmed at the 0.5th and 99.5th percentiles of their logarithms. The number of regressors excludes the constant. Minimum and maximum prices are those of the estimation sample. {NOTE_SRC} | |
| 204 | +\\end{{tablenotes}} | |
| 205 | +\\end{{threeparttable}} | |
| 206 | +\\end{{table}} | |
| 207 | +""") | |
| 208 | + | |
| 209 | + | |
| 210 | +def table_descriptive(D): | |
| 211 | + REG = [("Montreal", "Montreal area"), ("Quebec", "Qu\\'ebec City area"), | |
| 212 | + ("Gatineau", "Gatineau"), ("Regions", "Other regions")] | |
| 213 | + rows = ["\\multicolumn{5}{l}{\\textit{Amenity indicators (share of listings, \\%)}} \\\\"] | |
| 214 | + for v in AMEN: | |
| 215 | + cells = [] | |
| 216 | + for s in SEGS: | |
| 217 | + cells.append(f"{D[s]['amenity_share'][v]:.1f}" if v in D[s]["amenity_share"] else "---") | |
| 218 | + rows.append(f"\\quad {LABEL[v]} & " + " & ".join(cells) + " \\\\") | |
| 219 | + rows.append("\\midrule") | |
| 220 | + rows.append("\\multicolumn{5}{l}{\\textit{Regional composition (share of listings, \\%)}} \\\\") | |
| 221 | + for r, lab in REG: | |
| 222 | + rows.append(f"\\quad {lab} & " + " & ".join(f"{100*D[s]['regions'][r]['n']/D[s]['n']:.1f}" for s in SEGS) + " \\\\") | |
| 223 | + rows.append("\\midrule") | |
| 224 | + rows.append("\\multicolumn{5}{l}{\\textit{Median asking price by region (\\$)}} \\\\") | |
| 225 | + for r, lab in REG: | |
| 226 | + rows.append(f"\\quad {lab} & " + " & ".join(f"{D[s]['regions'][r]['median']:,.0f}" for s in SEGS) + " \\\\") | |
| 227 | + rows.append(f"\\quad All listings & " + " & ".join(f"{D[s]['median']:,.0f}" for s in SEGS) + " \\\\") | |
| 228 | + rows.append("\\midrule") | |
| 229 | + rows.append("Estimation sample ($N$) & " + " & ".join(f"{D[s]['n']:,}" for s in SEGS) + " \\\\") | |
| 230 | + body = "\n".join(rows) | |
| 231 | + write("descriptive.tex", f"""\\begin{{table}}[H] | |
| 232 | +\\centering | |
| 233 | +\\caption{{Amenity prevalence, regional composition and median asking prices of the estimation samples}} | |
| 234 | +\\label{{tab:descriptive}} | |
| 235 | +\\begin{{threeparttable}} | |
| 236 | +\\begin{{tabular}}{{lrrrr}} | |
| 237 | +\\toprule | |
| 238 | +& Houses & Condominiums & Multiplexes & Vacant land \\\\ | |
| 239 | +\\midrule | |
| 240 | +{body} | |
| 241 | +\\bottomrule | |
| 242 | +\\end{{tabular}} | |
| 243 | +\\begin{{tablenotes}} | |
| 244 | +\\small | |
| 245 | +\\item \\textit{{Notes:}} Amenity indicators equal one when the corresponding keyword appears in the Centris ``amenities nearby'' field; the garage indicator is built from the parking-type field and is not defined for vacant land. Regional shares are computed from the listing counts recorded in the log (e.g.\\ 1,180 Montreal-area houses). Moments of the structural variables (bedrooms, bathrooms, areas) were not written to the preserved log and are therefore not reported; see Section~\\ref{{sec:data}}. {NOTE_SRC} | |
| 246 | +\\end{{tablenotes}} | |
| 247 | +\\end{{threeparttable}} | |
| 248 | +\\end{{table}} | |
| 249 | +""") | |
| 250 | + | |
| 251 | + | |
| 252 | +def table_ols_moran(D): | |
| 253 | + rows = [] | |
| 254 | + for s in SEGS: | |
| 255 | + d = D[s] | |
| 256 | + rows.append(f"{SEGLABEL[s]} & {d['n']:,} & {d['ols_adj_r2']:.3f} & {d['moran_ols']['I']:.3f} & {d['moran_ols']['Z']:.1f} & $<0.001$ \\\\") | |
| 257 | + body = "\n".join(rows) | |
| 258 | + write("moran.tex", f"""\\begin{{table}}[H] | |
| 259 | +\\centering | |
| 260 | +\\caption{{OLS fit and Moran's $I$ test on OLS residuals, by segment}} | |
| 261 | +\\label{{tab:moran}} | |
| 262 | +\\begin{{threeparttable}} | |
| 263 | +\\begin{{tabular}}{{lrcccc}} | |
| 264 | +\\toprule | |
| 265 | +Segment & $N$ & Adjusted $R^2$ & Moran's $I$ & $z$-statistic & $p$-value \\\\ | |
| 266 | +\\midrule | |
| 267 | +{body} | |
| 268 | +\\bottomrule | |
| 269 | +\\end{{tabular}} | |
| 270 | +\\begin{{tablenotes}} | |
| 271 | +\\small | |
| 272 | +\\item \\textit{{Notes:}} OLS estimates of equation~\\eqref{{eq:hedonic}} with HC3 standard errors. Moran's $I$ uses the row-standardised inverse-distance $k$-nearest-neighbour matrix ($k = 10$) of equation~\\eqref{{eq:W}}; the $z$-statistic uses the randomisation (kurtosis-adjusted) variance of \\citet{{cliff1981spatial}}; $p$-values are two-sided normal. {NOTE_SRC} | |
| 273 | +\\end{{tablenotes}} | |
| 274 | +\\end{{threeparttable}} | |
| 275 | +\\end{{table}} | |
| 276 | +""") | |
| 277 | + | |
| 278 | + | |
| 279 | +def table_qr_amenities(D, seg, fname, label, caption): | |
| 280 | + d = D[seg] | |
| 281 | + amen = [v for v in AMEN if v in d["qr"][0.5]] | |
| 282 | + rows = [] | |
| 283 | + for v in amen: | |
| 284 | + line1, line2 = [LABEL[v]], [""] | |
| 285 | + for t in TAUS: | |
| 286 | + c = d["qr"][t][v] | |
| 287 | + a, b = fmt_coef(c["b"], c["se"]) | |
| 288 | + line1.append(a) | |
| 289 | + line2.append(b) | |
| 290 | + o = d["ols"][v] | |
| 291 | + line1.append(num(o['b']) + (f"$^{{{o['stars']}}}$" if o["stars"] else "")) | |
| 292 | + line2.append("") | |
| 293 | + rows.append(" & ".join(line1) + " \\\\") | |
| 294 | + rows.append(" & ".join(line2) + " \\\\[2pt]") | |
| 295 | + rows.append("\\midrule") | |
| 296 | + rows.append("Pseudo-$R^2$ / adj.\\ $R^2$ & " + " & ".join(f"{d['pseudo_r2'][t]:.3f}" for t in TAUS) + f" & {d['ols_adj_r2']:.3f} \\\\") | |
| 297 | + rows.append(f"$N$ & \\multicolumn{{6}}{{c}}{{{d['n']:,}}} \\\\") | |
| 298 | + body = "\n".join(rows) | |
| 299 | + write(fname, f"""\\begin{{table}}[H] | |
| 300 | +\\centering | |
| 301 | +\\caption{{{caption}}} | |
| 302 | +\\label{{{label}}} | |
| 303 | +\\begin{{threeparttable}} | |
| 304 | +\\small | |
| 305 | +\\begin{{tabular}}{{lcccccc}} | |
| 306 | +\\toprule | |
| 307 | +& \\multicolumn{{5}}{{c}}{{Quantile regression, $\\tau$}} & OLS \\\\ | |
| 308 | +\\cmidrule(lr){{2-6}} | |
| 309 | +Amenity indicator & 0.10 & 0.25 & 0.50 & 0.75 & 0.90 & \\\\ | |
| 310 | +\\midrule | |
| 311 | +{body} | |
| 312 | +\\bottomrule | |
| 313 | +\\end{{tabular}} | |
| 314 | +\\begin{{tablenotes}} | |
| 315 | +\\small | |
| 316 | +\\item \\textit{{Notes:}} Dependent variable: log asking price. Each column is a separate estimate of equation~\\eqref{{eq:qr}} (quantile regression) or equation~\\eqref{{eq:hedonic}} (OLS) including all structural, locational and regional controls listed in Table~\\ref{{tab:specification}}. Bootstrap standard errors in parentheses. {NOTE_STARS} OLS stars use HC3 standard errors and are reported as printed in the log (the log applies the thresholds 0.001, 0.01 and 0.05 to the OLS column, so OLS stars are conservative relative to the quantile columns). The pseudo-$R^2$ is that of \\citet{{koenker1999goodness}}. {NOTE_SRC} | |
| 317 | +\\end{{tablenotes}} | |
| 318 | +\\end{{threeparttable}} | |
| 319 | +\\end{{table}} | |
| 320 | +""") | |
| 321 | + | |
| 322 | + | |
| 323 | +def table_structural_houses(D): | |
| 324 | + d = D["Houses"] | |
| 325 | + order = ["const", "bedrooms_c", "total_baths_c", "stories_c", "parking_spaces_c", "ln_floor_c", | |
| 326 | + "ln_land_c", "ln_dist_c", "reg_Montreal", "reg_Quebec", "reg_Regions"] | |
| 327 | + rows = [] | |
| 328 | + for v in order: | |
| 329 | + line1, line2 = [LABEL[v]], [""] | |
| 330 | + for t in TAUS: | |
| 331 | + c = d["qr"][t][v] | |
| 332 | + a, b = fmt_coef(c["b"], c["se"]) | |
| 333 | + line1.append(a) | |
| 334 | + line2.append(b) | |
| 335 | + rows.append(" & ".join(line1) + " \\\\") | |
| 336 | + rows.append(" & ".join(line2) + " \\\\[2pt]") | |
| 337 | + body = "\n".join(rows) | |
| 338 | + write("qr_houses_structural.tex", f"""\\begin{{table}}[H] | |
| 339 | +\\centering | |
| 340 | +\\caption{{Structural, locational and regional coefficients by quantile --- single-family houses}} | |
| 341 | +\\label{{tab:qr_houses_structural}} | |
| 342 | +\\begin{{threeparttable}} | |
| 343 | +\\small | |
| 344 | +\\begin{{tabular}}{{lccccc}} | |
| 345 | +\\toprule | |
| 346 | +& \\multicolumn{{5}}{{c}}{{Quantile regression, $\\tau$}} \\\\ | |
| 347 | +\\cmidrule(lr){{2-6}} | |
| 348 | +Variable & 0.10 & 0.25 & 0.50 & 0.75 & 0.90 \\\\ | |
| 349 | +\\midrule | |
| 350 | +{body} | |
| 351 | +\\bottomrule | |
| 352 | +\\end{{tabular}} | |
| 353 | +\\begin{{tablenotes}} | |
| 354 | +\\small | |
| 355 | +\\item \\textit{{Notes:}} Same regressions as Table~\\ref{{tab:qr_houses}} ($N = {d['n']:,}$). Continuous variables are centred at their sample means, so the constant is the conditional quantile of log price for a mean-characteristic house in the Gatineau reference region without any amenity indicator. Regional dummies are relative to Gatineau. Bootstrap standard errors in parentheses. {NOTE_STARS} {NOTE_SRC} | |
| 356 | +\\end{{tablenotes}} | |
| 357 | +\\end{{threeparttable}} | |
| 358 | +\\end{{table}} | |
| 359 | +""") | |
| 360 | + | |
| 361 | + | |
| 362 | +def wald_sig(w): | |
| 363 | + p = 1 - stats.chi2.cdf(w, 1) | |
| 364 | + return f"{w:.2f}" + (f"$^{{{stars_from_p(p)}}}$" if stars_from_p(p) else "") | |
| 365 | + | |
| 366 | + | |
| 367 | +def table_wald(D): | |
| 368 | + rows = [] | |
| 369 | + for v in AMEN: | |
| 370 | + cells = [] | |
| 371 | + for s in SEGS: | |
| 372 | + cells.append(wald_sig(D[s]["wald"][v]["10_90"]) if v in D[s]["wald"] else "---") | |
| 373 | + rows.append(f"{LABEL[v]} & " + " & ".join(cells) + " \\\\") | |
| 374 | + rows.append("\\midrule") | |
| 375 | + counts = [] | |
| 376 | + for s in SEGS: | |
| 377 | + n_sig = sum(1 for v in AMEN if v in D[s]["wald"] and (1 - stats.chi2.cdf(D[s]["wald"][v]["10_90"], 1)) < 0.05) | |
| 378 | + n_tot = sum(1 for v in AMEN if v in D[s]["wald"]) | |
| 379 | + counts.append(f"{n_sig}/{n_tot}") | |
| 380 | + rows.append("Rejections at 5\\% & " + " & ".join(counts) + " \\\\") | |
| 381 | + body = "\n".join(rows) | |
| 382 | + write("wald.tex", f"""\\begin{{table}}[H] | |
| 383 | +\\centering | |
| 384 | +\\caption{{Wald tests of equal amenity coefficients at $\\tau = 0.10$ and $\\tau = 0.90$, by segment}} | |
| 385 | +\\label{{tab:wald}} | |
| 386 | +\\begin{{threeparttable}} | |
| 387 | +\\begin{{tabular}}{{lcccc}} | |
| 388 | +\\toprule | |
| 389 | +Amenity indicator & Houses & Condominiums & Multiplexes & Vacant land \\\\ | |
| 390 | +\\midrule | |
| 391 | +{body} | |
| 392 | +\\bottomrule | |
| 393 | +\\end{{tabular}} | |
| 394 | +\\begin{{tablenotes}} | |
| 395 | +\\small | |
| 396 | +\\item \\textit{{Notes:}} Entries are the statistic of equation~\\eqref{{eq:wald}}, $W = [\\hat\\beta_k(0.10) - \\hat\\beta_k(0.90)]^2 / [\\widehat{{\\mathrm{{Var}}}}(\\hat\\beta_k(0.10)) + \\widehat{{\\mathrm{{Var}}}}(\\hat\\beta_k(0.90))]$, with bootstrap variances, referred to a $\\chi^2(1)$ distribution. The denominator omits the (typically positive) covariance between the two quantile estimators, which makes the test conservative. $^{{***}}$, $^{{**}}$ and $^{{*}}$ denote rejection at the 1, 5 and 10 percent levels. {NOTE_SRC} | |
| 397 | +\\end{{tablenotes}} | |
| 398 | +\\end{{threeparttable}} | |
| 399 | +\\end{{table}} | |
| 400 | +""") | |
| 401 | + | |
| 402 | + | |
| 403 | +def table_wald_houses(D): | |
| 404 | + d = D["Houses"] | |
| 405 | + rows = [] | |
| 406 | + for v in AMEN: | |
| 407 | + w = d["wald"][v] | |
| 408 | + rows.append(f"{LABEL[v]} & {wald_sig(w['10_90'])} & {wald_sig(w['25_75'])} & {wald_sig(w['10_50'])} \\\\") | |
| 409 | + body = "\n".join(rows) | |
| 410 | + write("wald_houses.tex", f"""\\begin{{table}}[H] | |
| 411 | +\\centering | |
| 412 | +\\caption{{Wald tests of inter-quantile equality for three quantile pairs --- single-family houses}} | |
| 413 | +\\label{{tab:wald_houses}} | |
| 414 | +\\begin{{threeparttable}} | |
| 415 | +\\begin{{tabular}}{{lccc}} | |
| 416 | +\\toprule | |
| 417 | +Amenity indicator & $\\tau = 0.10$ vs.\\ $0.90$ & $\\tau = 0.25$ vs.\\ $0.75$ & $\\tau = 0.10$ vs.\\ $0.50$ \\\\ | |
| 418 | +\\midrule | |
| 419 | +{body} | |
| 420 | +\\bottomrule | |
| 421 | +\\end{{tabular}} | |
| 422 | +\\begin{{tablenotes}} | |
| 423 | +\\small | |
| 424 | +\\item \\textit{{Notes:}} See Table~\\ref{{tab:wald}}. $^{{***}}$, $^{{**}}$ and $^{{*}}$ denote rejection at the 1, 5 and 10 percent levels. {NOTE_SRC} | |
| 425 | +\\end{{tablenotes}} | |
| 426 | +\\end{{threeparttable}} | |
| 427 | +\\end{{table}} | |
| 428 | +""") | |
| 429 | + | |
| 430 | + | |
| 431 | +def implied_F(r2, n, k): | |
| 432 | + return (r2 / k) / ((1 - r2) / (n - k - 1)) | |
| 433 | + | |
| 434 | + | |
| 435 | +def table_sqr(D): | |
| 436 | + """First stage, rho(0.50) and amenity coefficients: OLS vs QR(0.50) vs 2SQR(0.50), by segment.""" | |
| 437 | + panels = [] | |
| 438 | + for s in SEGS: | |
| 439 | + d = D[s] | |
| 440 | + k_first = 2 * d["k"] | |
| 441 | + F = implied_F(d["first_stage_r2"], d["n"], k_first) | |
| 442 | + head = f"\\multicolumn{{4}}{{l}}{{\\textit{{{SEGLABEL[s]}}} ($N = {d['n']:,}$)}} \\\\" | |
| 443 | + rows = [head] | |
| 444 | + for v in AMEN: | |
| 445 | + if v not in d["effects"]: | |
| 446 | + continue | |
| 447 | + o = d["ols"][v]["b"] | |
| 448 | + q = d["qr"][0.5][v]["b"] | |
| 449 | + sq = d["effects"][v]["beta"] | |
| 450 | + rows.append(f"\\quad {LABEL[v]} & {num(o)} & {num(q)} & {num(sq)} \\\\") | |
| 451 | + rows.append(f"\\quad First-stage $R^2$ & --- & --- & {d['first_stage_r2']:.3f} \\\\") | |
| 452 | + rows.append(f"\\quad Implied overall first-stage $F({k_first},\\,{d['n']-k_first-1:,})$ & --- & --- & {F:,.0f} \\\\") | |
| 453 | + rows.append(f"\\quad Spatial lag $\\hat\\rho(0.50)$ & --- & --- & {d['rho50']:.3f} \\\\") | |
| 454 | + panels.append("\n".join(rows)) | |
| 455 | + body = "\n\\midrule\n".join(panels) | |
| 456 | + write("sqr.tex", f"""\\begin{{table}}[H] | |
| 457 | +\\centering | |
| 458 | +\\caption{{Two-stage spatial quantile regression at the median: first-stage fit, spatial lag and amenity coefficients}} | |
| 459 | +\\label{{tab:sqr}} | |
| 460 | +\\begin{{threeparttable}} | |
| 461 | +\\small | |
| 462 | +\\begin{{tabular}}{{lccc}} | |
| 463 | +\\toprule | |
| 464 | +& OLS & QR, $\\tau = 0.50$ & 2SQR, $\\tau = 0.50$ \\\\ | |
| 465 | +\\midrule | |
| 466 | +{body} | |
| 467 | +\\bottomrule | |
| 468 | +\\end{{tabular}} | |
| 469 | +\\begin{{tablenotes}} | |
| 470 | +\\small | |
| 471 | +\\item \\textit{{Notes:}} The first stage regresses $\\mathbf{{W}}\\ln\\mathbf{{P}}$ on the constant, $\\mathbf{{X}}$ and $\\mathbf{{WX}}$ (equation~\\eqref{{eq:firststage}}). The log records only the first-stage $R^2$; the overall $F$-statistic is implied by $F = [R^2/q]/[(1-R^2)/(N-q-1)]$ with $q$ the number of first-stage regressors, and is \\emph{{not}} the partial $F$ on the excluded instruments $\\mathbf{{WX}}$ required for a weak-instrument diagnostic (Section~\\ref{{sec:limitations}}). $\\hat\\rho(0.50)$ is the coefficient on the fitted spatial lag in the median second stage (equation~\\eqref{{eq:2sqr}}); the original run did not bootstrap the second stage, so no standard error is available for $\\hat\\rho$ or for the 2SQR coefficients. The 2SQR column reports the amenity coefficients of the same median second stage. {NOTE_SRC} | |
| 472 | +\\end{{tablenotes}} | |
| 473 | +\\end{{threeparttable}} | |
| 474 | +\\end{{table}} | |
| 475 | +""") | |
| 476 | + | |
| 477 | + | |
| 478 | +def table_moran_resid(D): | |
| 479 | + rows = [] | |
| 480 | + for s in SEGS: | |
| 481 | + d = D[s] | |
| 482 | + rows.append(f"{SEGLABEL[s]} & {d['moran_ols']['I']:.3f} & " | |
| 483 | + + " & ".join(f"{d['moran_resid'][('QR', t)]['I']:.3f}" for t in TAUS) + " & " | |
| 484 | + + " & ".join(f"{d['moran_resid'][('SQR', t)]['I']:.3f}" for t in TAUS) + " \\\\") | |
| 485 | + body = "\n".join(rows) | |
| 486 | + write("moran_resid.tex", f"""\\begin{{table}}[H] | |
| 487 | +\\centering | |
| 488 | +\\caption{{Moran's $I$ on residuals: OLS, quantile regression and 2SQR second stage, by quantile and segment}} | |
| 489 | +\\label{{tab:moran_resid}} | |
| 490 | +\\begin{{threeparttable}} | |
| 491 | +\\small | |
| 492 | +\\begin{{tabular}}{{lcccccccccccc}} | |
| 493 | +\\toprule | |
| 494 | +& OLS & \\multicolumn{{5}}{{c}}{{QR residuals, $\\tau$}} & \\multicolumn{{5}}{{c}}{{2SQR second-stage residuals, $\\tau$}} \\\\ | |
| 495 | +\\cmidrule(lr){{3-7}} \\cmidrule(lr){{8-12}} | |
| 496 | +Segment & & 0.10 & 0.25 & 0.50 & 0.75 & 0.90 & 0.10 & 0.25 & 0.50 & 0.75 & 0.90 \\\\ | |
| 497 | +\\midrule | |
| 498 | +{body} | |
| 499 | +\\bottomrule | |
| 500 | +\\end{{tabular}} | |
| 501 | +\\begin{{tablenotes}} | |
| 502 | +\\small | |
| 503 | +\\item \\textit{{Notes:}} All statistics are significant at any conventional level ($z$-statistics between 21 and 70). The 2SQR residuals are those of the second stage, $\\ln P_i - \\hat\\alpha(\\tau) - \\mathbf{{X}}_i'\\hat{{\\boldsymbol\\beta}}(\\tau) - \\hat\\rho(\\tau)\\widehat{{[\\mathbf{{W}}\\ln\\mathbf{{P}}]}}_i$, computed with the \\emph{{fitted}} spatial lag; because the fitted lag is a linear combination of $\\mathbf{{X}}$ and $\\mathbf{{WX}}$, these residuals cannot be expected to display less spatial autocorrelation than the QR residuals (Section~\\ref{{sec:moran_sqr}}). Structural residuals using the observed lag were not computed in the original run. {NOTE_SRC} | |
| 504 | +\\end{{tablenotes}} | |
| 505 | +\\end{{threeparttable}} | |
| 506 | +\\end{{table}} | |
| 507 | +""") | |
| 508 | + | |
| 509 | + | |
| 510 | +def reference_prices(d): | |
| 511 | + """P(tau) = exp(sample quantile of ln P) is not printed in the log; recover it from the | |
| 512 | + highway row as WTP / (exp(beta) - 1), where beta is the printed 4-decimal coefficient.""" | |
| 513 | + out = {} | |
| 514 | + for j, t in enumerate(TAUS): | |
| 515 | + b = d["qr"][t]["near_highway"]["b"] | |
| 516 | + out[t] = d["wtp"]["Highway"][j] / (math.exp(b) - 1) | |
| 517 | + return out | |
| 518 | + | |
| 519 | + | |
| 520 | +def table_implicit_prices(D): | |
| 521 | + d = D["Houses"] | |
| 522 | + P = reference_prices(d) | |
| 523 | + rows = [] | |
| 524 | + name_map = {"Highway": "near_highway", "Hospital": "near_hospital", "Park": "near_park", | |
| 525 | + "School": "near_school", "Transit": "near_transit", "Golf": "near_golf", "Garage": "has_garage"} | |
| 526 | + for lab, v in name_map.items(): | |
| 527 | + cells = [] | |
| 528 | + for j, t in enumerate(TAUS): | |
| 529 | + c = d["qr"][t][v] | |
| 530 | + p = star_p_from_z(c["b"], c["se"]) | |
| 531 | + st = stars_from_p(p) | |
| 532 | + cells.append(money(d["wtp"][lab][j]) + (f"$^{{{st}}}$" if st else "")) | |
| 533 | + rows.append(f"{LABEL[v]} & " + " & ".join(cells) + " \\\\") | |
| 534 | + body = "\n".join(rows) | |
| 535 | + head_prices = " & ".join(f"(\\${P[t]/1000:,.0f}K)" for t in TAUS) | |
| 536 | + write("implicit_prices.tex", f"""\\begin{{table}}[H] | |
| 537 | +\\centering | |
| 538 | +\\caption{{Dollar-equivalent implicit prices of amenity indicators by quantile --- single-family houses (CAD)}} | |
| 539 | +\\label{{tab:implicit_prices}} | |
| 540 | +\\begin{{threeparttable}} | |
| 541 | +\\begin{{tabular}}{{lrrrrr}} | |
| 542 | +\\toprule | |
| 543 | +& $\\tau = 0.10$ & $\\tau = 0.25$ & $\\tau = 0.50$ & $\\tau = 0.75$ & $\\tau = 0.90$ \\\\ | |
| 544 | +Amenity indicator & {head_prices} \\\\ | |
| 545 | +\\midrule | |
| 546 | +{body} | |
| 547 | +\\bottomrule | |
| 548 | +\\end{{tabular}} | |
| 549 | +\\begin{{tablenotes}} | |
| 550 | +\\small | |
| 551 | +\\item \\textit{{Notes:}} Entries are $\\pi_k(\\tau) = P(\\tau)\\,[\\exp(\\hat\\beta_k(\\tau)) - 1]$ (equation~\\eqref{{eq:implicit}}), where $P(\\tau)$ is the unconditional sample quantile of the asking price (in parentheses in the header, rounded to the nearest thousand). These are capitalisation differentials in asking prices, not welfare measures (Section~\\ref{{sec:identification}}). Stars carry over the significance of the underlying coefficient in Table~\\ref{{tab:qr_houses}}. {NOTE_SRC} | |
| 552 | +\\end{{tablenotes}} | |
| 553 | +\\end{{threeparttable}} | |
| 554 | +\\end{{table}} | |
| 555 | +""") | |
| 556 | + | |
| 557 | + | |
| 558 | +def table_effects(D): | |
| 559 | + panels = [] | |
| 560 | + for s in SEGS: | |
| 561 | + d = D[s] | |
| 562 | + rho = d["rho50"] | |
| 563 | + rows = [f"\\multicolumn{{5}}{{l}}{{\\textit{{{SEGLABEL[s]}}} ($\\hat\\rho(0.50) = {rho:.3f}$, $1/(1-\\hat\\rho) = {1/(1-rho):.3f}$, median price \\${d['median']:,.0f})}} \\\\"] | |
| 564 | + for v in AMEN: | |
| 565 | + if v not in d["effects"]: | |
| 566 | + continue | |
| 567 | + e = d["effects"][v] | |
| 568 | + rows.append(f"\\quad {LABEL[v]} & {num(e['beta'])} & {num(e['indirect'])} & {num(e['total'])} & {money(e['dollar'])} \\\\") | |
| 569 | + panels.append("\n".join(rows)) | |
| 570 | + body = "\n\\midrule\n".join(panels) | |
| 571 | + write("effects.tex", f"""\\begin{{table}}[H] | |
| 572 | +\\centering | |
| 573 | +\\caption{{Scalar approximation of direct, indirect and total amenity effects in the median 2SQR}} | |
| 574 | +\\label{{tab:effects}} | |
| 575 | +\\begin{{threeparttable}} | |
| 576 | +\\small | |
| 577 | +\\begin{{tabular}}{{lcccr}} | |
| 578 | +\\toprule | |
| 579 | +Amenity indicator & Direct $\\approx \\hat\\beta_k$ & Indirect $\\approx \\hat\\rho\\hat\\beta_k/(1-\\hat\\rho)$ & Total $\\approx \\hat\\beta_k/(1-\\hat\\rho)$ & Total, \\$ at median \\\\ | |
| 580 | +\\midrule | |
| 581 | +{body} | |
| 582 | +\\bottomrule | |
| 583 | +\\end{{tabular}} | |
| 584 | +\\begin{{tablenotes}} | |
| 585 | +\\small | |
| 586 | +\\item \\textit{{Notes:}} Scalar approximations of equation~\\eqref{{eq:effects}} evaluated at $\\tau = 0.50$; the dollar column is $\\tilde P_{{0.50}}\\,[\\exp(\\text{{Total}}) - 1]$ with $\\tilde P_{{0.50}}$ the median asking price of the segment. The log labels $\\hat\\beta_k/(1-\\hat\\rho)$ ``direct''; it is the total effect of the scalar approximation, and the columns are relabelled accordingly (direct $+$ indirect $=$ total). No standard errors are available (Section~\\ref{{sec:limitations}}). {NOTE_SRC} | |
| 587 | +\\end{{tablenotes}} | |
| 588 | +\\end{{threeparttable}} | |
| 589 | +\\end{{table}} | |
| 590 | +""") | |
| 591 | + | |
| 592 | + | |
| 593 | +def table_pseudo_r2(D): | |
| 594 | + rows = [] | |
| 595 | + for s in SEGS: | |
| 596 | + d = D[s] | |
| 597 | + rows.append(f"{SEGLABEL[s]} & " + " & ".join(f"{d['pseudo_r2'][t]:.3f}" for t in TAUS) + f" & {d['ols_adj_r2']:.3f} \\\\") | |
| 598 | + body = "\n".join(rows) | |
| 599 | + write("pseudo_r2.tex", f"""\\begin{{table}}[H] | |
| 600 | +\\centering | |
| 601 | +\\caption{{Pseudo-$R^2$ of the quantile regressions and adjusted $R^2$ of OLS, by segment}} | |
| 602 | +\\label{{tab:pseudo_r2}} | |
| 603 | +\\begin{{threeparttable}} | |
| 604 | +\\begin{{tabular}}{{lcccccc}} | |
| 605 | +\\toprule | |
| 606 | +& \\multicolumn{{5}}{{c}}{{Quantile regression, $\\tau$}} & OLS \\\\ | |
| 607 | +\\cmidrule(lr){{2-6}} | |
| 608 | +Segment & 0.10 & 0.25 & 0.50 & 0.75 & 0.90 & adj.\\ $R^2$ \\\\ | |
| 609 | +\\midrule | |
| 610 | +{body} | |
| 611 | +\\bottomrule | |
| 612 | +\\end{{tabular}} | |
| 613 | +\\begin{{tablenotes}} | |
| 614 | +\\small | |
| 615 | +\\item \\textit{{Notes:}} Pseudo-$R^2$ of \\citet{{koenker1999goodness}}, equation~\\eqref{{eq:pseudor2}}; it is not comparable to the OLS $R^2$ and only loosely comparable across quantiles. {NOTE_SRC} | |
| 616 | +\\end{{tablenotes}} | |
| 617 | +\\end{{threeparttable}} | |
| 618 | +\\end{{table}} | |
| 619 | +""") | |
| 620 | + | |
| 621 | + | |
| 622 | +# ---------------------------------------------------------------------------- | |
| 623 | +# 4. Figures (rebuilt from the log; validated categorical palette, fixed order) | |
| 624 | +# ---------------------------------------------------------------------------- | |
| 625 | +COLORS = {"Houses": "#2a78d6", "Condos": "#eb6834", "Plex": "#1baf7a", "Land": "#eda100"} | |
| 626 | +MARK = {"Houses": "o", "Condos": "s", "Plex": "^", "Land": "D"} | |
| 627 | +plt.rcParams.update({"font.size": 9, "axes.titlesize": 10, "axes.labelsize": 9, "legend.fontsize": 8, | |
| 628 | + "axes.spines.top": False, "axes.spines.right": False, "axes.grid": True, | |
| 629 | + "grid.color": "#e5e5e5", "grid.linewidth": 0.6, "savefig.dpi": 300, | |
| 630 | + "savefig.bbox": "tight", "figure.facecolor": "white"}) | |
| 631 | +SIX = ["near_highway", "near_hospital", "near_park", "near_school", "near_transit", "near_golf"] | |
| 632 | + | |
| 633 | + | |
| 634 | +def fig_coefficients(D): | |
| 635 | + fig, axes = plt.subplots(2, 3, figsize=(10, 6.2)) | |
| 636 | + for ax, v in zip(axes.flat, SIX): | |
| 637 | + ax.axhline(0, color="#777777", lw=0.8) | |
| 638 | + for s in SEGS: | |
| 639 | + d = D[s] | |
| 640 | + b = np.array([d["qr"][t][v]["b"] for t in TAUS]) | |
| 641 | + se = np.array([d["qr"][t][v]["se"] for t in TAUS]) | |
| 642 | + ax.fill_between(TAUS, b - 1.96 * se, b + 1.96 * se, color=COLORS[s], alpha=0.10, lw=0) | |
| 643 | + ax.plot(TAUS, b, marker=MARK[s], ms=4, lw=1.6, color=COLORS[s], label=SEGLABEL[s]) | |
| 644 | + ax.set_title(LABEL[v]) | |
| 645 | + ax.set_xticks(TAUS) | |
| 646 | + ax.set_xlabel(r"Quantile $\tau$") | |
| 647 | + ax.set_ylabel("Coefficient (log points)") | |
| 648 | + axes[0, 0].legend(frameon=False, loc="upper right") | |
| 649 | + fig.tight_layout() | |
| 650 | + fig.savefig(FIG / "fig_coefficients_by_quantile.png") | |
| 651 | + plt.close(fig) | |
| 652 | + | |
| 653 | + | |
| 654 | +def fig_implicit_prices(D): | |
| 655 | + fig, axes = plt.subplots(2, 3, figsize=(10, 6.2)) | |
| 656 | + lab_map = {"near_highway": "Highway", "near_hospital": "Hospital", "near_park": "Park", | |
| 657 | + "near_school": "School", "near_transit": "Transit", "near_golf": "Golf"} | |
| 658 | + for ax, v in zip(axes.flat, SIX): | |
| 659 | + ax.axhline(0, color="#777777", lw=0.8) | |
| 660 | + for s in SEGS: | |
| 661 | + y = np.array(D[s]["wtp"][lab_map[v]]) / 1000 | |
| 662 | + ax.plot(TAUS, y, marker=MARK[s], ms=4, lw=1.6, color=COLORS[s], label=SEGLABEL[s]) | |
| 663 | + ax.set_title(LABEL[v]) | |
| 664 | + ax.set_xticks(TAUS) | |
| 665 | + ax.set_xlabel(r"Quantile $\tau$") | |
| 666 | + ax.set_ylabel("Implicit price (thousand CAD)") | |
| 667 | + axes[0, 0].legend(frameon=False, loc="upper left") | |
| 668 | + fig.tight_layout() | |
| 669 | + fig.savefig(FIG / "fig_implicit_prices_by_quantile.png") | |
| 670 | + plt.close(fig) | |
| 671 | + | |
| 672 | + | |
| 673 | +def fig_ols_qr_sqr(D): | |
| 674 | + fig, axes = plt.subplots(2, 2, figsize=(10, 7)) | |
| 675 | + for ax, s in zip(axes.flat, SEGS): | |
| 676 | + d = D[s] | |
| 677 | + vs = [v for v in AMEN if v in d["effects"]] | |
| 678 | + x = np.arange(len(vs)) | |
| 679 | + w = 0.26 | |
| 680 | + ols = [d["ols"][v]["b"] for v in vs] | |
| 681 | + qr = [d["qr"][0.5][v]["b"] for v in vs] | |
| 682 | + sq = [d["effects"][v]["beta"] for v in vs] | |
| 683 | + ax.bar(x - w, ols, w * 0.92, color="#9a9a9a", label="OLS") | |
| 684 | + ax.bar(x, qr, w * 0.92, color="#2a78d6", label=r"QR, $\tau=0.50$") | |
| 685 | + ax.bar(x + w, sq, w * 0.92, color="#eb6834", label=r"2SQR, $\tau=0.50$") | |
| 686 | + ax.axhline(0, color="#333333", lw=0.8) | |
| 687 | + ax.set_xticks(x) | |
| 688 | + ax.set_xticklabels([LABEL[v] for v in vs], rotation=30, ha="right") | |
| 689 | + ax.set_title(f"{SEGLABEL[s]} (N = {d['n']:,})") | |
| 690 | + ax.set_ylabel("Coefficient (log points)") | |
| 691 | + ax.grid(axis="x", visible=False) | |
| 692 | + axes[0, 0].legend(frameon=False) | |
| 693 | + fig.tight_layout() | |
| 694 | + fig.savefig(FIG / "fig_ols_qr_sqr_median.png") | |
| 695 | + plt.close(fig) | |
| 696 | + | |
| 697 | + | |
| 698 | +def fig_pseudo_r2(D): | |
| 699 | + fig, ax = plt.subplots(figsize=(6.5, 4)) | |
| 700 | + for s in SEGS: | |
| 701 | + d = D[s] | |
| 702 | + y = [d["pseudo_r2"][t] for t in TAUS] | |
| 703 | + ax.plot(TAUS, y, marker=MARK[s], ms=5, lw=1.8, color=COLORS[s], label=SEGLABEL[s]) | |
| 704 | + ax.annotate(SEGLABEL[s], (TAUS[-1], y[-1]), xytext=(5, 0), textcoords="offset points", | |
| 705 | + va="center", fontsize=8, color="#333333") | |
| 706 | + ax.set_xticks(TAUS) | |
| 707 | + ax.set_xlim(0.05, 1.05) | |
| 708 | + ax.set_xlabel(r"Quantile $\tau$") | |
| 709 | + ax.set_ylabel(r"Pseudo-$R^2$") | |
| 710 | + ax.legend(frameon=False, loc="center left") | |
| 711 | + fig.tight_layout() | |
| 712 | + fig.savefig(FIG / "fig_pseudo_r2.png") | |
| 713 | + plt.close(fig) | |
| 714 | + | |
| 715 | + | |
| 716 | +def fig_wald_heatmap(D): | |
| 717 | + fig, axes = plt.subplots(2, 2, figsize=(11, 7.2), constrained_layout=True) | |
| 718 | + pairs = [(TAUS[j], TAUS[j + 1]) for j in range(4)] | |
| 719 | + cmap = matplotlib.colors.LinearSegmentedColormap.from_list("blues", ["#f4f7fb", "#2a78d6", "#0b2a5c"]) | |
| 720 | + for ax, s in zip(axes.flat, SEGS): | |
| 721 | + d = D[s] | |
| 722 | + vs = [v for v in SIX if v in d["qr"][0.5]] | |
| 723 | + M = np.zeros((len(vs), 4)) | |
| 724 | + for i, v in enumerate(vs): | |
| 725 | + for j, (t1, t2) in enumerate(pairs): | |
| 726 | + b1, b2 = d["qr"][t1][v]["b"], d["qr"][t2][v]["b"] | |
| 727 | + s1, s2 = d["qr"][t1][v]["se"], d["qr"][t2][v]["se"] | |
| 728 | + M[i, j] = ((b1 - b2) ** 2) / (s1 ** 2 + s2 ** 2) | |
| 729 | + im = ax.imshow(M, cmap=cmap, vmin=0, vmax=12, aspect="auto") | |
| 730 | + ax.set_xticks(range(4)) | |
| 731 | + ax.set_xticklabels([f"{t1:.2f}\u2013{t2:.2f}" for t1, t2 in pairs], fontsize=8) | |
| 732 | + ax.set_xlabel(r"Adjacent quantile pair ($\tau_j$\u2013$\tau_{j+1}$)") | |
| 733 | + ax.set_yticks(range(len(vs))) | |
| 734 | + ax.set_yticklabels([LABEL[v] for v in vs]) | |
| 735 | + ax.set_title(SEGLABEL[s]) | |
| 736 | + ax.grid(False) | |
| 737 | + for i in range(len(vs)): | |
| 738 | + for j in range(4): | |
| 739 | + p = 1 - stats.chi2.cdf(M[i, j], 1) | |
| 740 | + st = stars_from_p(p) | |
| 741 | + ax.text(j, i, f"{M[i, j]:.1f}{st}", ha="center", va="center", fontsize=7.5, | |
| 742 | + color="white" if M[i, j] > 6 else "#111111") | |
| 743 | + fig.colorbar(im, ax=axes.ravel().tolist(), shrink=0.8, label="Wald statistic") | |
| 744 | + fig.savefig(FIG / "fig_wald_adjacent_quantiles.png") | |
| 745 | + plt.close(fig) | |
| 746 | + | |
| 747 | + | |
| 748 | +# ---------------------------------------------------------------------------- | |
| 749 | +def main(): | |
| 750 | + text = LOG.read_text() | |
| 751 | + D = parse_log(text) | |
| 752 | + TAB.mkdir(exist_ok=True) | |
| 753 | + FIG.mkdir(exist_ok=True) | |
| 754 | + PFIG.mkdir(exist_ok=True) | |
| 755 | + | |
| 756 | + # consistency checks against the log's own summary block | |
| 757 | + for s in SEGS: | |
| 758 | + d = D[s] | |
| 759 | + assert len(d["qr"]) == 5 and all(len(d["qr"][t]) == d["k"] + 1 for t in TAUS), s | |
| 760 | + assert set(d["wald"]) == set(d["effects"]), s | |
| 761 | + print("parsed", {s: (D[s]["n"], D[s]["k"]) for s in SEGS}) | |
| 762 | + | |
| 763 | + table_sample(D) | |
| 764 | + table_descriptive(D) | |
| 765 | + table_ols_moran(D) | |
| 766 | + table_qr_amenities(D, "Houses", "qr_houses.tex", "tab:qr_houses", | |
| 767 | + "Amenity coefficients by quantile --- single-family houses") | |
| 768 | + table_qr_amenities(D, "Condos", "qr_condos.tex", "tab:qr_condos", | |
| 769 | + "Amenity coefficients by quantile --- condominiums") | |
| 770 | + table_qr_amenities(D, "Plex", "qr_plex.tex", "tab:qr_plex", | |
| 771 | + "Amenity coefficients by quantile --- multiplexes") | |
| 772 | + table_qr_amenities(D, "Land", "qr_land.tex", "tab:qr_land", | |
| 773 | + "Amenity coefficients by quantile --- vacant land") | |
| 774 | + table_structural_houses(D) | |
| 775 | + table_pseudo_r2(D) | |
| 776 | + table_wald(D) | |
| 777 | + table_wald_houses(D) | |
| 778 | + table_sqr(D) | |
| 779 | + table_moran_resid(D) | |
| 780 | + table_implicit_prices(D) | |
| 781 | + table_effects(D) | |
| 782 | + | |
| 783 | + fig_coefficients(D) | |
| 784 | + fig_implicit_prices(D) | |
| 785 | + fig_ols_qr_sqr(D) | |
| 786 | + fig_pseudo_r2(D) | |
| 787 | + fig_wald_heatmap(D) | |
| 788 | + for f in FIG.glob("fig_*.png"): | |
| 789 | + shutil.copy(f, PFIG / f.name) | |
| 790 | + print(" figures ->", FIG, "and", PFIG) | |
| 791 | + | |
| 792 | + # machine-readable dump (tuple keys -> strings) | |
| 793 | + def clean(o): | |
| 794 | + if isinstance(o, dict): | |
| 795 | + return {(k if isinstance(k, str) else ("_".join(map(str, k)) if isinstance(k, tuple) else str(k))): clean(v) for k, v in o.items()} | |
| 796 | + if isinstance(o, list): | |
| 797 | + return [clean(v) for v in o] | |
| 798 | + return o | |
| 799 | + P = reference_prices(D["Houses"]) | |
| 800 | + dump = clean(D) | |
| 801 | + dump["Houses"]["reference_prices"] = {str(t): P[t] for t in TAUS} | |
| 802 | + for s in SEGS: | |
| 803 | + d = D[s] | |
| 804 | + dump[s]["implied_first_stage_F"] = implied_F(d["first_stage_r2"], d["n"], 2 * d["k"]) | |
| 805 | + (ROOT / "results" / "log_parsed.json").write_text(json.dumps(dump, indent=1, ensure_ascii=False)) | |
| 806 | + print(" wrote results/log_parsed.json") | |
| 807 | + | |
| 808 | + | |
| 809 | +if __name__ == "__main__": | |
| 810 | + main() | |
| 811 | ||