This website provides interactive results for the forecasting models explored in the paper Estimating Neighborhood Rents using Scraped Data.
The goal of this research is to a.) understand the temporal dynamics of rent estimates in Seattle and b.) forecast the current quarter’s rent levels based off of the prior periods. The focal series of models regress median one-bedroom rent asked values on different specifications of the panel’s correlation structure (i.e. temporal and spatial). All of the candidate models’ posterior distributions are estimated with integrated nested Laplace approximations (INLA) using the default, weakly-informative priors for all model hyperparameters. Throughout the following analyses, the training data are 2017 Q1 up through 2018 Q1. The test period is a forecast for 2018 Q2 and includes comparison to the observed median rent estimates for data collected in this period.
Most graphics include some level of interactivity, usually either hover-over tooltip information or a slider to control various views of the graphic. Clicking on cases will highlight data elements in most graphics, and double-clicking will reset the graphic.
This page was last updated: 2018-07-31
Table of Contents
Page | Description |
---|---|
Distribution | density graphic to investigate the distribution of rents among Seattle neighborhoods for each quarter |
Panel Time-Series | line graphic to show the observed or modeled temporal structure |
Spatial Time-Series | series of maps to show observed change across time |
Model Fit | tables of model root mean square error (RMSE), mean absolute error (MAE), and deviance information criterion (DIC) across training and test data |
Model abbr. | Description |
---|---|
int | Quarter fixed intercept |
log(med1B) ~ 1 + Qtr | |
ns | Non-spatial tract random effect for each tract, quarter fixed intercept |
log(med1B) ~ 1 + Qtr + f(idtract, model = “iid”) | |
nsar1 | Non-spatial tract random effect, AR(1) random effect for prior quarter, i.i.d random effect for current quarter |
log(med1B) ~ 1 + f(idtract, model = “iid”) + f(idqtr, model = “ar1”) + , f(idqtr1, model = “iid”) | |
bym | Spatial intrinsic conditional autoregressive (ICAR) tract random-effect, non-spatial i.i.d tract random effect, AR(1) random effect for prior quarter, i.i.d random effect for current quarter |
log(med1B) ~ 1 + f(idtract, model = “bym”, scale.model = T, graph = “../output/seatract.graph”) + , f(idqtr, model = “ar1”) + f(idqtr1, model = “iid”) | |
spt | Spatial intrinsic conditional autoregressive (ICAR) tract random-effect, non-spatial i.i.d tract random effect, AR(1) random effect for prior quarter, i.i.d random effect for current quarter, i.i.d. random effect for tract-quarter (space-time interaction) |
log(med1B) ~ 1 + f(idtract, model = “bym”, scale.model = T, graph = “../output/seatract.graph”) + , f(idqtr, model = “ar1”) + f(idqtr1, model = “iid”) + f(idtractqtr, , model = “iid”) |
train_test | int_rmse | ns_rmse | nsar1_rmse | bym_rmse | spt_rmse |
---|---|---|---|---|---|
Test | 291.6833 | 211.3911 | 209.5947 | 199.5333 | 209.1796 |
Training | 313.7865 | 157.2392 | 157.6580 | 159.6021 | 115.5344 |
train_test | int_mae | ns_mae | nsar1_mae | bym_mae | spt_mae |
---|---|---|---|---|---|
Test | 233.4635 | 149.9597 | 146.3652 | 140.7309 | 146.1343 |
Training | 248.2925 | 113.4145 | 114.5124 | 116.3895 | 85.1286 |
train_test | int_DIC | ns_DIC | nsar1_DIC | bym_DIC | spt_DIC |
---|---|---|---|---|---|
Training | -260.144 | -784.3604 | -782.4603 | -786.1483 | -863.8185 |
train_test | int_WAIC | ns_WAIC | nsar1_WAIC | bym_WAIC | spt_WAIC |
---|---|---|---|---|---|
Training | -259.6945 | -754.3957 | -752.9819 | -757.8366 | -839.8244 |
mean | sd | 0.025quant | 0.5quant | 0.975quant | mode | |
---|---|---|---|---|---|---|
Precision for the Gaussian observations | 82.5727 | 5.6207 | 71.9463 | 82.4295 | 94.0710 | 82.2077 |
Precision for idtract | 35.4127 | 5.0834 | 26.3831 | 35.0857 | 46.3626 | 34.4733 |
Precision for idqtr | 14346.4716 | 20566.3012 | 1825.4842 | 8322.2495 | 64752.6397 | 4029.5564 |
Rho for idqtr | 0.1936 | 0.4574 | -0.7067 | 0.2341 | 0.9034 | 0.5935 |
Precision for idqtr1 | 14806.5557 | 13712.7443 | 1295.5432 | 10900.8209 | 52125.0922 | 3746.6649 |
mean | sd | 0.025quant | 0.5quant | 0.975quant | mode | |
---|---|---|---|---|---|---|
Precision for the Gaussian observations | 82.0304 | 5.6064 | 71.4041 | 81.9004 | 93.4630 | 81.7216 |
Precision for idtract (iid component) | 105.8964 | 26.6367 | 63.0859 | 102.7013 | 167.1935 | 96.6357 |
Precision for idtract (spatial component) | 107.9466 | 34.7431 | 55.9446 | 102.5742 | 190.7109 | 92.6978 |
Precision for idqtr | 13236.7999 | 17861.9989 | 1882.7162 | 7954.0833 | 57682.0908 | 4019.5064 |
Rho for idqtr | 0.1939 | 0.4522 | -0.6975 | 0.2334 | 0.8987 | 0.5669 |
Precision for idqtr1 | 13875.1194 | 12545.0376 | 1278.0759 | 10350.1208 | 48305.3611 | 3766.5558 |
mean | sd | 0.025quant | 0.5quant | 0.975quant | mode | |
---|---|---|---|---|---|---|
Precision for the Gaussian observations | 110.1049 | 16.6639 | 77.3283 | 110.5023 | 142.1666 | 112.9045 |
Precision for idtract (iid component) | 110.0769 | 28.5853 | 63.9770 | 106.7319 | 175.6843 | 100.3995 |
Precision for idtract (spatial component) | 106.3903 | 34.1960 | 55.3653 | 101.0139 | 187.9655 | 91.1630 |
Precision for idqtr | 10594.2446 | 8659.6995 | 2490.6160 | 8114.5192 | 34261.0821 | 5328.2696 |
Rho for idqtr | 0.1895 | 0.4803 | -0.7497 | 0.2379 | 0.9174 | 0.6913 |
Precision for idqtr1 | 13437.2127 | 9091.5232 | 2546.1776 | 11293.0513 | 38967.0116 | 7179.0518 |
Precision for idtractqtr | 316.5158 | 135.5469 | 156.1860 | 282.3407 | 670.7305 | 227.1030 |