SPB Git forge

spb/wp16_uqo

Public
11commits 1branches 1releases
3.3 MBsize
maindefault branch
5 h agolast push
TeX 52.9% Python 45.7% Shell 1.4%
11.7 KB · 93 lines latex
Raw Blame History
1% ============================================================================2\section{Methodology}3\label{sec:methodology}4% ============================================================================56\subsection{Point-in-time backtesting}78The core of the design is a backtest that reproduces, for each target sale $i$ with date $\tau_i$ and price $P_i$, the information set available to a valuer on $\tau_i$. Let $\mathcal{S}$ denote the clean sample. The \emph{candidate pool} of $i$ is9\begin{equation}10\mathcal{C}_i = \{\, j \in \mathcal{S} : \tau_j < \tau_i,\; \tau_i - \tau_j \le 24 \text{ months},\; d_{ij} \le 25 \text{ km},\; u_j \neq u_i \,\},11\label{eq:pool}12\end{equation}13where $d_{ij}$ is the great-circle distance and $u_j$ the assessment unit; the last condition excludes prior sales of the subject itself, so that the method is evaluated as a comparable-sales method rather than a repeat-sales one. Every quantity entering a valuation on $\tau_i$ is computed from sales with $\tau_j < \tau_i$: the regional price index used to time-adjust comparables is re-estimated at the start of every month $m$ from all sales in months $< m$ (Section~\ref{sec:index}); adjustment coefficients and benchmark models are re-estimated at the start of every quarter $q$ from all sales in quarters $< q$ (Section~\ref{sec:config}). No configuration, hyperparameter or weight is chosen on test-period data: all are selected on the 2024 validation targets and frozen.1415A subtle but important consequence is that the price level of the target's own month is never observed. All methods, traditional and machine-learning alike, work at the level of the last fully observed month, exactly as a valuer must. This introduces a small, common and seasonal bias that we report rather than remove.1617\subsection{Point-in-time price index}18\label{sec:index}1920For each evaluation month $m$ and administrative region $r$ we estimate, on all sales of region $r$ in months $0,\dots,m-1$, the within-municipality regression21\begin{equation}22\ln P_j = \alpha_{\mu(j)} + \mathbf{x}_j'\boldsymbol{\beta} + \sum_{s<m-1} \delta_s^{(r,m)} \mathbb{1}[\text{month}_j = s] + \varepsilon_j,23\label{eq:index}24\end{equation}25where $\alpha_{\mu}$ is a municipality fixed effect, $\mathbf{x}_j$ the characteristics (log living area, log lot area, age and its square, physical link, construction type, storeys, new-build indicator) and $\delta_s^{(r,m)}$ the effect of month $s$ relative to the last observed month $m-1$. The municipality fixed effects prevent the index from being contaminated by shifts in the composition of sales between expensive and inexpensive municipalities within a region. For regions with few sales the monthly effects are shrunk towards the provincial estimate with weight $n_s/(n_s+40)$. A comparable sold in month $s$ and valued in month $m$ is time-adjusted by $\exp(-\delta_s^{(r,m)})$; comparables sold in the same month as the target are not adjusted. The index is thus a three-dimensional object (evaluation month, region, sale month), and the estimate of any historical month is allowed to change as later data arrive---as it does in reality.2627\subsection{Configurations of the sales comparison approach}28\label{sec:config}2930A configuration is a tuple $(\text{selection}, d, t, k, \text{adjustment}, \text{weighting}, \text{reconciliation})$. Given the pool $\mathcal{C}_i$, the method proceeds in four steps.3132\paragraph{Selection.} Candidates satisfying $d_{ij}\le d$ and $\tau_i-\tau_j \le t$ are ranked by a score and the $k$ best are retained. Four scores are implemented: \emph{nearest} (distance $d_{ij}$); \emph{most similar}, a physical dissimilarity $D_{ij} = \big[(\Delta\ln A/0.25)^2 + (\Delta\ln L/0.6)^2 + (\Delta\text{age}/15)^2 + \mathbb{1}[\text{link}\neq] + 0.5\,\mathbb{1}[\text{storeys}\neq]\big]^{1/2}$ in units of typical within-market standard deviations, with distance as a tie-breaker; \emph{compromise}, $D_{ij} + d_{ij}/2$; and \emph{least adjusted}, the gross hedonic adjustment $\sum_m |\hat\beta_m \Delta x_{ijm}|$, which operationalises the professional advice to prefer comparables requiring the fewest adjustments.3334\paragraph{Adjustment.} Each retained comparable's time-adjusted price $P_j^{T}$ is converted into an indication of the subject's value $\hat P_{i|j}$. Eight schemes are compared:35\begin{enumerate}[label=(\alph*)]36\item \emph{none}: $\hat P_{i|j} = P_j$ (not even time-adjusted);37\item \emph{time only}: $\hat P_{i|j} = P_j^{T}$;38\item \emph{conventional grid}: dollar adjustments in the spirit of professional practice---living area at one half of the comparable's price per square metre, lot area at one half of the comparable's implied land value per square metre (capped at $\pm 15\%$), age at $-0.5\%$ per year of difference (capped at $\pm 20\%$), and $\pm 5\%$ between detached and attached dwellings;39\item \emph{hedonic grid}: $\hat P_{i|j} = P_j^{T}\exp\!\big(\hat{\boldsymbol\beta}'(\mathbf{x}_i-\mathbf{x}_j)\big)$ with $\hat{\boldsymbol\beta}$ from a within-municipality regression on all prior sales (re-estimated quarterly);40\item \emph{regional grid}: as (d) with region-specific coefficients shrunk towards the global ones with weight $n_r/(n_r+300)$;41\item \emph{local grid}: as (d) with coefficients re-estimated on the subject's own pool within 10~km (at least 40 sales), by ridge regression penalised towards the regional grid;42\item \emph{non-linear (GBM)}: $\hat P_{i|j} = P_j^{T}\exp\!\big(f(\mathbf{z}_i)-f(\mathbf{z}_j)\big)$ where $f$ is a gradient-boosting model of the time-adjusted log price on characteristics and location (Section~\ref{sec:benchmarks});43\item \emph{assessment ratio}: $\hat P_{i|j} = V_i \cdot P_j^{T}/V_j$ where $V$ is the assessed value, restricted to comparables in the same municipality and on the same assessment roll as the subject.44\end{enumerate}45Scheme (h) is the ratio method used by assessors and, informally, by many appraisers; it uses information (the assessed value) that schemes (a)--(g) do not, and we treat it as a distinct model in the horse race.4647\paragraph{Weighting and reconciliation.} Adjusted indications are combined by the median or the (dollar) mean, with equal weights or with weights proportional to $1/(0.25+d_{ij})$, to $\exp(-\text{months}_{ij}/6)$, to $1/(0.1+\text{gross adjustment}_{ij})$, or to their product; weighted medians are used when weights are not equal. The dispersion of the adjusted indications is recorded as a measure of uncertainty.4849\paragraph{Experiments.} Experiment E1 maps the error surface over $k \in \{1,3,5,7,10,15,20,30,50\}$, $d \in \{0.5,1,2,5,10,25\}$~km and $t \in \{3,6,12,24\}$ months, for the nearest, most-similar and compromise selections and the time-only and hedonic adjustments, with equal weights and the median (1{,}296 configurations). Experiment E2 is the full factorial of selection (4) $\times$ adjustment (8) $\times$ weighting (5) $\times$ reconciliation (2) at three anchors $(k,d,t) = (3, 2\text{ km}, 6\text{ mo})$, $(5, 5\text{ km}, 12\text{ mo})$ and $(10, 10\text{ km}, 24\text{ mo})$ (960 configurations). All \nConfigs{} configurations are evaluated on every target.5051\subsection{Benchmark models}52\label{sec:benchmarks}5354Thirteen named models are compared (Table~\ref{tab:models}). M1--M8 and M13 are configurations of the sales comparison approach that correspond to recognisable professional practices. M10 is a direct global hedonic model: the within-municipality coefficients augmented with region, county (MRC), municipality and neighbourhood-unit effects estimated as shrunken residual means, plus a median correction. M11 is a gradient-boosting model (LightGBM, 127 leaves, learning rate 0.05, L1 objective so that it targets the conditional median, number of trees chosen by early stopping on the last 10\% of the training period) of the time-adjusted log price on characteristics, coordinates, region, construction type and the month of sale; M11a excludes and M11b includes the assessed value, its land share and its roll vintage. Both are retrained at the start of every quarter on all prior sales. M9 is an \emph{optimised reconciliation}: a convex combination, estimated by non-negative least squares on the validation targets, of the seven comparable-based indications at the $(5,5,12)$ anchor. M12 is a hybrid combining M11b with the GBM-adjusted and hedonic-adjusted comparable estimates, with weights estimated the same way. M0 is the single best of the \nConfigs{} configurations on the validation targets, among those that return a value for at least 97\% of targets.5556\begin{table}[H]57\centering58\caption{Models in the horse race}59\label{tab:models}60\small61\begin{tabularx}{\textwidth}{lX}62\toprule63Model & Definition \\64\midrule65M1 & Median of the 3 nearest sales ($\le 2$ km, $\le 6$ months), time adjustment only \\66M2 & Mean of the 5 nearest sales ($\le 5$ km, $\le 12$ months), time adjustment only \\67M3 & Median of the 5 most physically similar sales ($\le 5$ km, $\le 12$ months), time adjustment only \\68M4 & 5 nearest sales, distance-weighted mean, time adjustment only \\69M5 & 5 nearest sales, recency-weighted mean, time adjustment only \\70M6 & 5 nearest sales, conventional adjustment grid, median \\71M7 & 5 nearest sales, hedonic adjustment grid, median \\72M8a & 5 nearest sales, locally re-estimated grid, median \\73M8b & 5 nearest sales, non-linear (GBM) adjustments, median \\74M9 & Optimised reconciliation: NNLS combination of seven comparable-based indications (weights fitted on 2024) \\75M10 & Direct global hedonic model with region, MRC, municipality and neighbourhood effects \\76M11a / M11b & Gradient boosting without / with the assessed value, retrained quarterly \\77M12 & Hybrid: NNLS combination of M11b and GBM- and hedonic-adjusted comparables (weights fitted on 2024) \\78M13 & Assessment ratio: $V_i \times$ median price-to-assessment ratio of the 5 nearest same-roll sales \\79M0 & Best of all \nConfigs{} configurations on 2024 (coverage $\ge 97\%$), frozen \\80\bottomrule81\end{tabularx}82\end{table}8384\subsection{Accuracy measures and inference}8586For each target and method we compute the absolute percentage error $\mathrm{APE}_i = |\hat P_i - P_i|/P_i$. We report the median APE (MdAPE), the mean APE (MAPE), the median signed error (bias), the shares of estimates within $\pm5$, $\pm10$ and $\pm20\%$ of the price, and the \emph{coverage}, the share of targets for which the method returns a value. Coverage is reported because a restrictive configuration does not fail on difficult targets---it abstains---and an MdAPE computed on the targets it covers would flatter it. Configuration selection on the validation set is restricted to configurations with coverage of at least 97\%.8788Because all methods are evaluated on the same targets, comparisons are paired. For a pair of methods $(A,B)$ we report the difference in MdAPE and in MAPE together with 95\% confidence intervals from a cluster bootstrap \citep{cameron2008} that resamples municipality--quarter cells with replacement, thereby preserving the spatial and temporal dependence of valuation errors within local markets. We also report the share of targets on which $A$ is more accurate than $B$.8990\subsection{Hypotheses}9192Five hypotheses from the professional and academic debate are tested directly. \textbf{H1} (similarity versus proximity): a comparable that is very close but physically dissimilar is less informative than one that is farther away but similar. \textbf{H2} (number of comparables): adding comparables improves accuracy up to a threshold beyond which heterogeneity dominates, and the threshold rises with market density. \textbf{H3} (local adjustments): locally estimated adjustments outperform fixed grids but become unstable in small samples. \textbf{H4} (weighting and liquidity): the optimal weighting scheme depends on the liquidity of the submarket. \textbf{H5} (transparency): simple, transparent methods rival machine learning in homogeneous submarkets even if the latter dominates overall.93