SPB Git forge

spb/wp23_uqo

Public
6commits 1branches 0releases
32.7 MBsize
maindefault branch
yesterdaylast push
TeX 62.3% Python 37.6%
4.1 KB · 18 lines latex
Raw Blame History
1\section{Forecasting targets and information sets}\label{sec:targets}23\subsection{Task A: the price of a future sale}45For a forecast origin $o$ (a month) and a sale $i$ dated in month $o+h$, $h \in \{1,\ldots,12\}$, the target is $\log P_i$ and the information set is $\mathcal{I}_o = \{$characteristics of $i$ (known from the roll), its location, the market features of its municipality and region computed from sales dated $\le o$, the quality-stripped prices of its ten nearest sales dated in $(o-12, o]$, and $h\}$. The characteristics of the sold dwelling are treated as known at the origin, which corresponds to the use case of valuing a specific dwelling $h$ months ahead; the identity of the dwellings that will sell is not. Models are estimated on sales dated $\le o$; every training sale is assigned a horizon $h$ drawn from $\{1,3,6,12\}$ and receives the market features of the origin $h$ months before its sale, so that horizon dependence is learned from the same kind of pairs that are evaluated. Origins are quarterly from December 2022 to September 2025; test sales are grouped into horizon bands 1--3, 4--6 and 7--12 months. The transaction-selection problem is explicit: the evaluation population is the dwellings that transacted, which differ from the stock (Table~\ref{tab:selection} compares the characteristics of sold dwellings with the roll stock by class), so Task~A measures the accuracy of forecasts for dwellings that come to market, not for the stock.67\subsection{Task B: the change of a quality-adjusted index}89For cell $g$ (province, region or one of the 64 municipalities), class $k$, origin $o$ and horizon $h \in \{1,3,6,12\}$, the target is $y^{\mathrm{final}}_{g,k,o+h} - y^{\mathrm{final}}_{g,k,o}$, the change of the retrospective smoothed SHARP-HPI log index, the best available estimate of the true quality-adjusted market movement. The predictors are the thirteen-month history of the real-time index published for $o$ (the vintage estimated on sales $\le o - 10$ days, smoothed mode), summarised as 1-, 3-, 6- and 12-month changes, 6- and 12-month volatilities, acceleration, monthly sale counts and their ratio, the published standard error, calendar month, and the same summaries for the cell's region and the province (the parent momentum). Using the final series as the target and the real-time series as predictor means that the target embeds the revision between the two; we report the decomposition of forecast error into the revision and the genuine future change. Origins are monthly from December 2022; for horizon $h$ the last origin is September 2026 minus $h$, so that every evaluated forecast has an observed target. Models are re-estimated quarterly on the rows whose targets were observed by the origin and issue forecasts for the three following origins.1011\subsection{Task C: predictive distributions}1213Every model produces the 5\%, 25\%, 50\%, 75\% and 95\% quantiles of its target, either natively (quantile heads, Gaussian posterior predictive, mixture outputs) or from the empirical quantiles of its training residuals (homoskedastic fallback, labelled as such). We score them with the pinball loss, a quantile-grid approximation of the CRPS, the coverage and width of the 50\% and 90\% intervals and the weighted interval score \citep{bracher2021wis}, and we report calibration as the share of outcomes below each quantile. Probabilities of decline and of appreciation above thresholds are read off the quantile forecasts by interpolation.1415\subsection{Leakage audit}1617Every predictor is computed from data dated on or before the origin; the index vintages are those WP22 published for the origin, re-estimated at each publication date with their own location partition and empirical-Bayes priors; one-hot categories, standardisation constants and neighbour graphs are built on training data only; hyper-parameters are fixed in advance (Appendix~\ref{app:hyper}) rather than tuned on test origins; and random splits are never used. The audit list of the protocol (hedonic estimation, clustering, normalisation, feature selection, imputation, target encoding, graph estimation, tuning, index revisions) is checked item by item in Appendix~\ref{app:leakage}.18