r/rstats • • 4d ago

Model-Agnostic, Finite-Sample Guaranteed Prediction Intervals for Spatial & amp; Spatio-Temporal Models in R

https://cran.r-project.org/web/packages/spconform

TL;DR:

Standard spatial models (Kriging, Spatial Random Forests, GAMs) rely on strict Gaussianity or spatial stationarity to estimate uncertainty. Under spatial heteroskedasticity or heavy-tailed noise, empirical coverage systematically falls below nominal 95%. We built spconform, an R package implementing Spatial Conformal Prediction to deliver model-agnostic, distribution-free 1 - α prediction intervals with exact finite-sample coverage guarantees.

  1. The Challenge: Flawed Uncertainty in Spatial Prediction

Geostatistical Kriging and Spatial ML models generate prediction intervals that heavily rely on Gaussian errors and spatial stationarity assumptions. In real-world spatial data (climate modeling, real estate pricing, epidemiology):

  • Spatial Heteroskedasticity: Residual variance fluctuates geographically (e.g., higher volatility in urban centers than rural areas).
  • Heavy-Tailed Noise: Extreme spatial shocks invalidate standard t-statistics and normal approximations.
  • Uncalibrated Spatial ML: Advanced spatial regressors (Spatial Random Forests, Neural Networks) yield accurate point estimates hat(Y)(x) but lack valid, calibrated prediction intervals.
  1. The Solution: Spatial Conformal Prediction (spconform)

Conformal prediction converts point predictions into valid prediction intervals with exact finite-sample guarantees:

`P(Y_new ∈ C(X_new)) ≥ 1 - α`

The spconform package extends split conformal inference to spatial and spatio-temporal domains:

  1. Model Agnostic: Compatible with any spatial regressor (Geostatistical Kriging, Spatial Lag/Error models, Random Forests, XGBoost).
  2. Spatially Adaptive Intervals: Adjusts interval width dynamically based on local spatial residual density (narrower in low-variance zones, wider in high-volatility areas).
  3. Distribution-Free Guarantees: Proves valid$1 - \alpha$coverage without assuming normality, linearity, or spatial stationarity.
  4. Spatio-Temporal Scaling: Handles spatial autocorrelation through localized non-conformity calibration.

3. Minimal Working Example in R

library(spconform)
library(sf)

# 1. Fit your preferred spatial regressor (e.g., Kriging, Spatial RF, GAM)
spatial_mod <- fit_spatial_model(log_price ~ sqft + bedrooms, data = train_data)

# 2. Generate Conformal Prediction Intervals with 95% Finite-Sample Guarantee
conformal_out <- spconform(
  model = spatial_mod,
  calibration_data = calib_data,
  test_data = test_data,
  coords = c("longitude", "latitude"),
  alpha = 0.05,
  method = "spatial_adaptive" # Local spatial variance adjustment
)

# 3. Visualize Spatially Adaptive Uncertainty Map
plot(conformal_out, type = "interval_width")

Open for Discussion & Community Feedback

We are excited to share spconform with the R and Spatial Statistics community!

  • How do you currently handle spatial heteroskedasticity and uncalibrated prediction uncertainty in your spatial workflows?
  • What additional spatial non-conformity metrics or calibration weighting schemes would you like to see integrated?

CRAN : https://cran.r-project.org/web/packages/spconform

github : https://github.com/amjed-droid/spconform

0 Upvotes

0 comments sorted by