Performance & Scalability Benchmarks

Executive Summary

Small Area Estimation often involves large administrative registries or extensive spatial networks with hundreds or thousands of domains. Traditional implementations in R often rely on interpreted loops, pure R Fisher-scoring routines, or large memory allocations for \(D \times D\) dense covariance matrices.

fastsae fits the frequentist models in compiled C++ (RcppArmadillo; sparse Cholesky factorisations for the SAR models) and the Bayesian models with INLA. At \(n = 1,000\) domains:

  • Fay-Herriot: 1,263x faster than sae and 42,874x faster than emdi.
  • Spatial Fay-Herriot: 67x faster than sae and 51x faster than emdi.
  • Spatio-Temporal Fay-Herriot (\(T = 5\)): 24x faster than sae.

Benchmark Results Table

Model (\(n = 1,000\) domains, 5 covariates) fastsae sae emdi
Fay-Herriot 0.00119 s (0.503 MB) 1.50 s (72.0 MB; 1,263x slower) 51.0 s (3.69 GB; 42,874x slower)
Spatial Fay-Herriot 1.00 s (0.203 MB) 67.2 s (1.88 GB; 67x slower) 51.1 s (3.68 GB; 51x slower)
Spatio-Temporal FH (\(T = 5\)) 75.3 s (3.29 MB) 1790 s (31.7 GB; 24x slower) -

Times are medians of bench::mark(); memory is the total memory allocated by R during one call (bench::mark()$mem_alloc), not the peak resident memory. The fastsae rows were re-measured with fastsae 1.0.0 (frequentist on 2026-10-13, benchmarks/bench_frequentist_fastsae.R; Bayesian on 2026-10-14, benchmarks/bench_bayes_fastsae.R); the sae/emdi rows come from an earlier run of the same design (simulated data, 5 covariates) on different random draws, the tipsae rows from an earlier run on the same data.


Interactive Benchmark Explorer

Use the interactive controls below to compare execution time, memory allocated, and iterations per second across sample sizes:

Execution time (median, seconds) — FH · log scale
Speedup Factor (fastsae vs competitors) — FH

Architectural Insights: Why is fastsae so Fast?

  1. Compiled C++ Linear Solvers: Instead of interpreting nested loops in R, fastsae implements Fisher scoring and the analytical MSE in Armadillo C++. The spatial Fay-Herriot model never forms a \(D \times D\) inverse: with \(A = (I - \rho W')(I - \rho W)\) and \(M = A + \sigma^2 E'\Psi^{-1}E\), \(V^{-1}\), \(g_1, \dots, g_4\) and the kriging terms follow from sparse Cholesky solves with \(A\) and \(M\) (Eigen, AMD ordering).

  2. Zero-Copy Matrix Operations: Memory allocations for large intermediate structures (\(V\), \(V^{-1}\), \(P\)) are avoided or reused across Fisher iterations rather than reallocated on the heap.

  3. OpenMP Multi-Threaded Bootstrap: Bootstrap resampling runs natively in parallel across CPU cores using #pragma omp parallel for, avoiding the serialization overhead of R worker processes (parallel::makeCluster / foreach).

  4. Woodbury Identity for Panel Data: In eblup_stfh, inversion of the block \((DT \times DT)\) covariance matrix \(V\) is reduced to operations on individual \(D \times D\) and \(T \times T\) blocks via Kronecker and Woodbury decomposition, transforming an \(O((DT)^3)\) bottleneck into scalable \(O(D^3 + T^3)\) steps.

  5. Integrated Nested Laplace Approximations (INLA): For complex hierarchical generalized and spatio-temporal models (hb_area), fastsae utilizes INLA to compute analytical posterior margins directly from sparse Gaussian Markov Random Fields, bypassing Monte Carlo sampling entirely.


Bayesian Spatio-Temporal Benchmark: fastsae (INLA) vs tipsae (Stan MCMC)

To assess Bayesian small area estimation performance, fastsae::hb_area() was benchmarked against tipsae::fit_sae(), the state-of-the-art Stan MCMC package for spatio-temporal Beta small area models.

The test used the official tipsae panel dataset: emilia (38 health districts in Emilia-Romagna over 5 years, \(N = 190\) domains \(\times\) years) with spatial polygon contiguity matrix \(W\) from emilia_shp.

Metric tipsae::fit_sae (Stan MCMC) fastsae::hb_area (INLA) Advantage
Model Specification Besag ICAR + Domain RW(1) spatial = "besag", temporal = "rw1", st_interaction = "domain-specific" Exact structural equivalence
Computational Engine Hamiltonian Monte Carlo (NUTS Stan) Integrated Nested Laplace Approximation Analytical & deterministic
Execution Time 15.8 s (1 chain, 200 iter) / ~120 s (4 chains) 1.93 s (simplified.laplace) ~9x to 50x+ faster
Pearson Correlation (\(r\)) Baseline 0.9893 Near-identical point estimates
Mean Absolute Error (MAE) Baseline 0.00304 Negligible numerical error
Convergence Overhead Requires \(\hat{R} < 1.05\) checks, warmup, and tuning None (closed-form Laplace expansions) Instant convergence

Interactive Beta SAE Benchmark Explorer (\(n = 30\) to \(n = 1,000\))

Use the interactive controls below to compare runtime, memory footprint, and speedup factors between fastsae::hb_area and tipsae::fit_sae across Standard Beta, Spatial Beta (Besag ICAR), and Spatio-Temporal Beta (Besag + RW1) models:

Execution time (median, seconds) — Standard Beta · log scale
Speedup Factor & Efficiency Multiplier (fastsae vs tipsae) — Standard Beta

Inferential Equivalence & Validation Metrics (\(n = 1,000\))

To establish that the substantial computational accelerations achieved by fastsae::hb_area preserve full inferential validity relative to Stan MCMC (tipsae::fit_sae), summary concordance and error metrics were evaluated across \(n = 1,000\) domains/units for Standard Beta, Spatial Beta (Besag ICAR), and Spatio-Temporal Beta models:

Dimension Metric Beta Spatial Beta Spatio-Temporal Beta Statistical Implication
Point Estimates (EBP) Pearson Correlation (\(r\)) 0.99934 0.99891 0.99614 Near-perfect linear agreement between INLA and MCMC
Spearman Rank Correlation (\(\rho\)) 0.99921 0.99875 0.99517 Consistent domain priority and rank ordering
Mean Absolute Error (MAE) 0.01969 0.01456 0.01200 Average estimation discrepancy \(< 0.02\)
Root Mean Squared Difference (RMSD) 0.02369 0.01713 0.01458 Negligible \(L_2\) deviation across domains
Uncertainty / MSE MSE Pearson Correlation (\(r_{\text{MSE}}\)) 0.96315 0.89254 0.67957 Preserved area-level precision ordering
Mean Absolute Difference (MSE) 0.00018 0.00012 0.00025 Virtually identical error variances

Finite Population Simulation & Ground Truth Validation

For comprehensive design-based simulation studies evaluating parameter recovery and empirical properties under repeated survey sampling from finite populations (\(D = 60\) and national-scale \(D = 500\)), see the dedicated article: Finite Population Simulation & Validation.