spb/wp3_uqo Public
UQO Working Paper No. 3 — Hedonic housing price models for the US: parametric, quantile, and machine-learning approaches.
TeX 77.8%
Python 22.1%
1% Author: Simon-Pierre Boucher — contact@spboucher.ai2%3% ═══════════════════════════════════════════════════════════════════════4% APPENDICES5% ═══════════════════════════════════════════════════════════════════════6\appendix78\section{Additional Figures}9\label{app:figures}1011\begin{figure}[H]12 \centering13 \includegraphics[width=0.85\textwidth]{figures/fig6_shap_importance.png}14 \caption{Feature Importance Bar Chart: Mean Absolute SHAP Values (XGBoost). These values reflect predictive contributions, not causal importance.}15 \label{fig:shap_bar}16\end{figure}1718\begin{figure}[H]19 \centering20 \includegraphics[width=\textwidth]{figures/fig11_shap_interactions.png}21 \caption{SHAP Values for Interaction Terms: (a) Waterfront $\times$ Log(Living Area); (b) Pool $\times$ South Region}22 \label{fig:shap_interactions}23\end{figure}242526\section{Full OLS Coefficient Table}27\label{app:ols_full}2829Table~\ref{tab:ols_full} reports the complete set of standardized OLS coefficients, including all categorical controls.3031\begin{landscape}32\begin{table}[H]33\centering34\caption{Full OLS Regression Results Including All Categorical Controls (Standardized)}35\label{tab:ols_full}36\begin{threeparttable}37\scriptsize38\renewcommand{\arraystretch}{0.9}39\begin{tabular}{lrrlclrrl}40\toprule41Variable & Coeff. & SE & Sig. & & Variable & Coeff. & SE & Sig. \\42\midrule43Constant & 12.510 & 0.010 & *** & & Roof: Metal & 0.070 & 0.008 & *** \\44$\ln$(Living Area)$^\dagger$ & 0.312 & 0.003 & *** & & Roof: Shingle/Comp & $-$0.074 & 0.008 & *** \\45Bedrooms$^\dagger$ & $-$0.068 & 0.002 & *** & & Roof: Tile & $-$0.110 & 0.008 & *** \\46Bathrooms$^\dagger$ & 0.236 & 0.003 & *** & & Roof: Slate & 0.008 & 0.017 & \\47Age$^\dagger$ & $-$0.042 & 0.014 & ** & & Roof: Other & 0.033 & 0.008 & *** \\48Age$^{2\dagger}$ & 0.051 & 0.002 & *** & & Roof: Unknown & 0.004 & 0.008 & \\49Stories$^\dagger$ & 0.000 & 0.000 & & & Constr: Concrete/Block & 0.269 & 0.003 & *** \\50Bath/Bed Ratio$^\dagger$ & $-$0.021 & 0.002 & *** & & Constr: Stucco & 0.149 & 0.002 & *** \\51Sqft/Bed$^\dagger$ & $-$0.002 & 0.002 & & & Constr: Stone & 0.145 & 0.005 & *** \\52$\ln$(Lot Size)$^\dagger$ & 0.070 & 0.001 & *** & & Constr: Wood/Frame & 0.103 & 0.002 & *** \\53Pool & 0.029 & 0.003 & *** & & Constr: Vinyl & 0.012 & 0.002 & *** \\54Spa & 0.033 & 0.003 & *** & & Constr: Steel & 0.027 & 0.014 & * \\55Basement & $-$0.042 & 0.002 & *** & & Constr: Other & 0.075 & 0.002 & *** \\56Fireplace & $-$0.002 & 0.002 & & & Constr: Unknown & 0.177 & 0.002 & *** \\57Garage & 0.109 & 0.002 & *** & & Found: Concrete & 0.217 & 0.005 & *** \\58Waterfront & $-$0.135 & 0.032 & *** & & Found: Crawlspace & 0.181 & 0.006 & *** \\59Central Air & 0.069 & 0.001 & *** & & Found: Slab & 0.122 & 0.005 & *** \\60Forced Air & $-$0.023 & 0.002 & *** & & Found: Pier/Raised & 0.161 & 0.006 & *** \\61Hardwood & 0.125 & 0.001 & *** & & Found: Stone & 0.032 & 0.010 & ** \\62Parking$^\dagger$ & 0.000 & 0.099 & & & Found: Other & 0.144 & 0.006 & *** \\63Luxury$^\dagger$ & 0.044 & 0.002 & *** & & Found: Unknown & 0.174 & 0.005 & *** \\64Walk$^\dagger$ & $-$0.011 & 0.001 & *** & & Northeast & 0.487 & 0.003 & *** \\65Bike$^\dagger$ & 0.072 & 0.001 & *** & & South & 0.022 & 0.003 & *** \\66Transit$^\dagger$ & 0.052 & 0.001 & *** & & West & 0.401 & 0.003 & *** \\67School Rating$^\dagger$ & $-$0.049 & 0.001 & *** & & sqft$\times$Age$^\dagger$ & $-$0.110 & 0.014 & *** \\68School Count$^\dagger$ & $-$0.002 & 0.001 & *** & & Pool$\times$South & 0.008 & 0.001 & *** \\69School Dist.$^\dagger$ & $-$0.016 & 0.001 & *** & & WF$\times$sqft$^\dagger$ & 0.137 & 0.009 & *** \\70Tax Rate$^\dagger$ & $-$0.029 & 0.001 & *** & & Base$\times$North & $-$0.025 & 0.001 & *** \\71Condo & $-$0.037 & 0.004 & *** & & Condo$\times$Walk$^\dagger$ & 0.082 & 0.001 & *** \\72HOA & $-$0.108 & 0.002 & *** & & Age$\times$Lux$^\dagger$ & 0.044 & 0.001 & *** \\73$\ln$(HOA+1)$^\dagger$ & 0.044 & 0.001 & *** & & & & & \\74New Constr. & 0.103 & 0.003 & *** & & & & & \\75Foreclosure & $-$0.406 & 0.010 & *** & & & & & \\76\midrule77\multicolumn{9}{l}{$R^2 = 0.634$, Adj.\ $R^2 = 0.634$, $N = 788{,}842$, $F = 18{,}712.5$, RMSE $= 0.489$} \\78\bottomrule79\end{tabular}80\begin{tablenotes}81\footnotesize82\item \textit{Notes:} HC3 robust standard errors. $^\dagger$Standardized continuous variables. Reference categories: Roof = Flat; Construction = Brick; Foundation = Basement; Region = Midwest. *** $p<0.001$, ** $p<0.01$, * $p<0.05$.83\end{tablenotes}84\end{threeparttable}85\end{table}86\end{landscape}878889\section{Robustness Agenda}90\label{app:robustness_agenda}9192The following robustness checks and extensions are planned or completed. Items marked with $\checkmark$ have been completed in this version; unmarked items are left for future work.9394\begin{enumerate}[nosep]95 \item[$\checkmark$] ZIP3-level fixed effects (Section~\ref{sec:progressive_fe}).96 \item County-level and MSA-level fixed effects.97 \item Spatial lag and spatial error model estimation.98 \item Spatial cross-validation (train on some regions, test on others) at finer geographic levels.99 \item[$\checkmark$] Inter-quantile Wald tests for coefficient equality across quantiles (Section~\ref{sec:qr_results}).100 \item[$\checkmark$] Re-estimation excluding imputed observations (Section~\ref{sec:imputation_sensitivity}).101 \item CatBoost benchmark with native categorical handling.102 \item Nested cross-validation for hyperparameter tuning.103 \item[$\checkmark$] SHAP stability comparison across XGBoost, LightGBM, and Random Forest (Section~\ref{sec:shap_results}).104 \item Integration of climate risk data from First Street Foundation or FEMA flood maps.105 \item Replication using transaction prices from recently sold listings.106 \item GAM/spline models to decompose the ML gain into non-linearity versus spatial partitioning.107 \item Comparison of sample distribution to ACS and Census benchmarks by state and price tier.108 \item Calibration plots by price decile for all models.109 \item[$\checkmark$] Winsorization sensitivity (Section~\ref{sec:winsorization}).110 \item[$\checkmark$] Feature ablation analysis for XGBoost (Section~\ref{sec:ablation}).111 \item[$\checkmark$] XGBoost with latitude/longitude coordinates (Section~\ref{sec:geo_features}).112 \item[$\checkmark$] XGBoost without geographic features (Section~\ref{sec:geo_features}).113 \item[$\checkmark$] Moran's $I$ subsample stability (Section~\ref{sec:spatial_autocorrelation}).114 \item[$\checkmark$] Quantile regression stability across 10 subsamples (Section~\ref{sec:qr_stability}).115\end{enumerate}116117118\section{Reproducibility Checklist}119\label{app:reproducibility}120121\begin{table}[H]122\centering123\caption{Reproducibility Checklist}124\label{tab:reproducibility}125\begin{threeparttable}126\small127\begin{tabular}{p{6cm}p{3cm}p{4cm}}128\toprule129Item & Status & Notes \\130\midrule131\multicolumn{3}{l}{\textit{Data}} \\132Data source identified & Yes & Zillow active listings \\133Sample construction documented & Yes & Table~\ref{tab:attrition} \\134Missing data rates reported & Yes & Table~\ref{tab:missing} \\135Imputation method documented & Yes & State-level medians \\136Imputation sensitivity tested & Yes & Table~\ref{tab:imputation} \\137\midrule138\multicolumn{3}{l}{\textit{Methodology}} \\139Model specifications documented & Yes & Eq.~\ref{eq:ols}--\ref{eq:moran} \\140Hyperparameters reported & Yes & Section~\ref{sec:methodology} \\141Random seeds reported & Yes & Seed = 42 \\142Validation design documented & Yes & Section~\ref{sec:validation_designs} \\143\midrule144\multicolumn{3}{l}{\textit{Results}} \\145Point estimates reported & Yes & Tables~\ref{tab:ols_results}--\ref{tab:shap_stability} \\146Standard errors / CIs reported & Yes (OLS, QR) & HC3 standard errors \\147Multiple comparisons addressed & Partially & Inter-quantile tests \\148Effect sizes in natural units & Yes & Table~\ref{tab:ols_unstd} \\149\midrule150\multicolumn{3}{l}{\textit{Robustness}} \\151Sensitivity to data quality & Yes & Sections~\ref{sec:imputation_sensitivity}--\ref{sec:winsorization} \\152Sensitivity to model choice & Yes & Table~\ref{tab:ml_comparison} \\153Sensitivity to validation design & Yes & Tables~\ref{tab:geo_holdout}--\ref{tab:geo_role} \\154Cross-model stability & Yes & Table~\ref{tab:shap_stability} \\155\midrule156\multicolumn{3}{l}{\textit{Code and Data Availability}} \\157Code available & Yes & Replication package (\texttt{src/}, \texttt{scripts/}, pinned \texttt{requirements.txt}) \\158Data available & On request & Subject to Zillow ToS \\159\bottomrule160\end{tabular}161\begin{tablenotes}162\small163\item \textit{Notes:} This checklist follows recommended practices for empirical reproducibility in applied economics.164\end{tablenotes}165\end{threeparttable}166\end{table}167