r/rstats • u/Ahmedstat • 4d ago
Model-Agnostic, Finite-Sample Guaranteed Prediction Intervals for Spatial & amp; Spatio-Temporal Models in R
https://cran.r-project.org/web/packages/spconformTL;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.
- 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.
- 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:
- Model Agnostic: Compatible with any spatial regressor (Geostatistical Kriging, Spatial Lag/Error models, Random Forests, XGBoost).
- Spatially Adaptive Intervals: Adjusts interval width dynamically based on local spatial residual density (narrower in low-variance zones, wider in high-volatility areas).
- Distribution-Free Guarantees: Proves valid$1 - \alpha$coverage without assuming normality, linearity, or spatial stationarity.
- 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?