Three independent regression methods were fitted to the same 780-comparable sales dataset to estimate the subject’s market value. All three were run on the raw dollar scale (no log transform) so their fit statistics and value conclusions are directly comparable. The indicated values cluster within 4.22% of one another:
earthUI and glmnetUI agree to within 0.68%; mgcvUI sits highest, about 3.51% above earthUI. Cross-validated accuracy, however, diverges sharply — earthUI generalizes best and mgcvUI shows clear overfitting (see §5).
| Indication | Value | vs earthUI | vs glmnetUI | vs mgcvUI |
|---|---|---|---|---|
| earthUI (MARS) | $491,172 | — | 0.69% | -3.39% |
| glmnetUI (elastic net) | $487,828 | -0.68% | — | -4.05% |
| mgcvUI (GAM) | $508,433 | 3.51% | 4.22% | — |
| Dispersion of the three indications | Value |
|---|---|
| Mean | $495,811 |
| Median (= earthUI) | $491,172 |
| Std. deviation | $11,058 |
| Coefficient of variation | 2.23% |
| Range (max − min) | $20,605 (4.22%) |
A coefficient of variation of 2.23% across three structurally different models is tight reconciliation — well inside the spread an appraiser would typically see across approaches.
All metrics are on the raw dollar scale. CV R² (out-of-sample, 10-fold) is the honest measure of predictive accuracy; in-sample R² flatters models that overfit.
| Metric | earthUI | glmnetUI | mgcvUI |
|---|---|---|---|
| In-sample R² | 0.8197 | 0.8168 | 0.7349 |
| CV R² (10-fold) | 0.8081 | 0.7340 | 0.5073 |
| In-sample − CV gap | 0.0116 | 0.0828 | 0.2275 |
| In-sample RMSE | $41,343 | $41,670 | —† |
| In-sample MAE | — | $30,636 | — |
| Observations (comps) | 780 | 780 | 781 |
†mgcv RMSE/MAE were not stored in the report bundle; deviance-explained (75.25%) is the GAM analogue of R². Note mgcv fit on 781 rows vs 780 for the others — it did not drop the subject row.
| Indicated value | $491,172 |
|---|---|
| In-sample R² / GRSq | 0.8197 / 0.7792 |
| CV R² (10-fold) | 0.8081 |
| Terms / interaction degree | 31 / 2 |
| Predictors retained (of 19 offered) | 9 |
| GCV | 2,098,180,842 |
MARS builds piecewise-linear hinge functions and automatically selects interactions (degree 2), then prunes via generalized cross-validation. It kept a parsimonious 9-predictor, 31-term model. The near-zero in-sample–to–CV gap (0.0116) is the signature of a well-regularized fit that generalizes.
| Indicated value | $487,828 |
|---|---|
| In-sample R² / adj. R² | 0.8168 / 0.8170 |
| CV R² (10-fold) | 0.7340 |
| RMSE / MAE | $41,670 / $30,636 |
| α (mix) / λ | 0.50 / 403.3 |
Elastic net is a linear model with an L1/L2 penalty (α=0.50, a ridge/lasso blend) that shrinks coefficients for stability. Its value ($487,828) and in-sample fit track earthUI closely, but its CV R² (0.7340) is 0.0741 below earthUI — the price of a purely linear, additive form that captures interactions only where they were explicitly entered.
| Indicated value | $508,433 |
|---|---|
| In-sample R² (adj) | 0.7349 |
| CV R² (10-fold) | 0.5073 |
| Deviance explained | 75.25% |
| AIC / BIC | 19,178 / 19,429 |
| Smooth terms / method | 16 / REML |
The GAM fits penalized smooths plus explicit tensor (ti) interactions and factor-by-smooth terms. Main smooths: s(sq_ft_total), s(lot_size), s(age), s(baths_total), s(beds_total), s(garage_spaces), s(hoa_fee), s(latitude). Tensor interactions: ti(age,sq_ft_total), ti(baths_total,sq_ft_total), ti(garage_spaces,sq_ft_total), ti(latitude,sq_ft_total), ti(age,baths_total), ti(age,garage_spaces), ti(baths_total,beds_total), ti(baths_total,garage_spaces).
Strongest categorical (parametric) effects, raw $:
| Term | Estimate ($) | p |
|---|---|---|
| view_water (yes) | 42,676 | 8.98e-18 |
| view_panoramic (yes) | 39,466 | 0.00196 |
| view_other (yes) | -16,898 | 0.000173 |
| Market area (code withheld) | -15,629 | 0.0244 |
| view_canyon (yes) | -11,892 | 0.634 |
| view_city_lights (yes) | 9,981 | 0.493 |
Water view is the dominant premium (+$42,676, p<1e-17). The GAM is the most flexible engine here, which is exactly why it overfits: in-sample R² 0.7349 collapses to CV R² 0.5073 — a 0.2275 gap (see §5).
earthUI and glmnetUI agree to 0.68% because both resolve to compact, well-regularized structures dominated by the same main effects (size, location, age, water view). mgcvUI lands 3.51% higher because its richer smooth + interaction surface bends more steeply toward the subject’s particular feature combination — helpful if those bends are real signal, but partly noise here.
This is the headline finding. On identical (raw-$) footing:
| earthUI | glmnetUI | mgcvUI | |
|---|---|---|---|
| In-sample R² | 0.8197 | 0.8168 | 0.7349 |
| CV R² | 0.8081 | 0.7340 | 0.5073 |
| Overfit gap | 0.0116 | 0.0828 | 0.2275 |
earthUI’s gap is essentially zero (0.0116): MARS’s GCV pruning keeps only terms that pay their way. glmnetUI’s gap (0.0828) is modest — ridge/lasso shrinkage. mgcvUI’s gap (0.2275) is large: 16 penalized smooths plus 8 tensor interactions and factor-by-smooths give it enough effective degrees of freedom to chase patterns that don’t replicate on held-out folds. REML smoothing resists this but cannot fully offset that much flexibility on ~781 rows.
sq_ft_total), location (area/latitude), age, and especially water view dominate all three models.This analysis does not model property Condition and Quality, which are the two latent variables most likely to carry material unexplained value here. Their absence has two consequences:
Incorporating Condition and Quality (e.g. as ordinal factors or factor-by-smooth terms) is the single most promising avenue to tighten all three models and their reconciliation.
AF/. All figures raw-dollar scale, no log transform. Indicated values supplied by the analyst; fit statistics read directly from each model’s report_data.rds.