Methods
How MESA geocodes addresses and detects spatial clusters: the statistics, the parameters, the reference implementations it is checked against, and the primary literature. Every method below is documented from MESA's own source and validation reports, not paraphrased from a textbook.
§ the methods
Offline address geocoding
Normalization, blocking, the address-geometry gate, and a Fellegi-Sunter calibrated match score. Precision tiers, match modes, and the held-out validation regime.
Getis-Ord Gi* & Moran's I
Local and global spatial autocorrelation: the statistics, spatial weights, Monte-Carlo inference, the Gi_Bin classification, multiple-testing correction, and empirical-Bayes rate smoothing.
Bernoulli spatial scan
Kulldorff's case/control scan statistic: the likelihood-ratio test, circular candidate windows, Monte-Carlo inference, and parity with SaTScan.
01 reproducibility
MESA treats reproducibility as a correctness property, not a nicety. The design rule is stated plainly in the codebase: deterministic logic must be bit-identical across operating systems, compilers, and core counts for the same input and seed. "Bytes, not close."
The usual way Monte-Carlo inference silently breaks across platforms is the standard
library: std::mt19937_64 is portable, but std::shuffle and
std::uniform_int_distribution are implemented differently by libstdc++,
libc++, and MSVC. MESA therefore never uses them for inference. It uses fully specified
primitives instead:
portableShufflea textbook Fisher-Yates (Durstenfeld) shuffle, identical on every platformportableBoundedUintunbiased bounded integer via OpenBSD rejection sampling, identical on every platformblock-Kahan sumcompensated summation over deterministically partitioned blocks, so results are identical from 1 core to 128Thread-count invariance is proven in-tree across [1, 2, 4, 8, 16] threads at [999, 9999, 99999] permutations; a reference-vector test pins the RNG output and a proof test hashes an entire permutation null distribution. Pure floating-point that is genuinely order-dependent is compared with explicit tolerances, never exact equality.
02 how it is validated
The statistical engine is checked against the field's reference implementations rather than trusted on its own:
| PySAL esda | Gi* z-scores match G_Local within 10−4; FDR-adjusted p-values within 10−3; the Gi_Bin classification matches at the 90/95/99% levels wherever the neighbor graphs agree.7 |
| R spdep | the multiple-testing correction matches stats::p.adjust to 10−6; the empirical-Bayes smoother matches spdep::EBest.8 |
| SaTScan 10.3.2 | the Bernoulli scan matches candidate generation, tied-distance handling, relative risk, and Monte-Carlo inference, with no discrepancies observed on the tested datasets. |
| SciPy & R | an exact two-sample Kolmogorov-Smirnov test, used to compare permutation null distributions to the oracles, agrees with scipy.stats.ks_2samp(mode='exact') to 1.1 × 10−16 and R ks.test(exact=TRUE) to 1.8 × 10−15 over 10,010 stress datasets. |
Type-I calibration. Under simulated complete spatial randomness, MESA verifies that the empirical rejection rate tracks the nominal level (P(p ≤ 0.05) ≈ 0.05, and likewise at 0.01 and 0.001), asserted against 99.999% Wilson score intervals over 5,000 simulations per run (100,000 nightly). Method-specific power and equivalence results are on each method's page.
03 author
MESA is designed and built by Ross Wardrup, an MPH Epidemiology candidate at the University of Memphis and a geospatial-software developer with over a decade building spatial analysis tools across federal hazard modeling, healthcare operations, and public health surveillance, including an epidemiology practicum with the Southeast Utah Health Department. He is sole- and co-author on peer-reviewed and preprint epidemiologic research. The links below lead to his full background.
It is a single-author, pre-release project, developed through Spatial Epi LLC. The methods and validation documented here are implemented and tested in the codebase; packaged per-platform downloads are being wired up. Questions, corrections, and requests to use it are welcome at ross@spatialepi.org.
04 citing MESA
MESA is pre-release and does not yet have a versioned, archived release with a DOI. Until it does, cite it as software:
Please also cite the primary methods you rely on. The canonical references for each are listed on the method pages and collected below.
§ references
- Kahan, W. (1965). Further remarks on reducing truncation errors. Communications of the ACM, 8(1), 40.
- Durstenfeld, R. (1964). Algorithm 235: Random permutation. Communications of the ACM, 7(7), 420.
- Dwass, M. (1957). Modified randomization tests for nonparametric hypotheses. Annals of Mathematical Statistics, 28(1), 181-187.
- Smirnov, N. (1948). Table for estimating the goodness of fit of empirical distributions. Annals of Mathematical Statistics, 19(2), 279-281.
- Wilson, E. B. (1927). Probable inference, the law of succession, and statistical inference. Journal of the American Statistical Association, 22(158), 209-212.
- Waller, L. A., & Gotway, C. A. (2004). Applied Spatial Statistics for Public Health Data. Wiley.
- Rey, S. J., & Anselin, L. (2007). PySAL: A Python library of spatial analytical methods. The Review of Regional Studies, 37(1), 5-27.
- Bivand, R. S., & Wong, D. W. S. (2018). Comparing implementations of global and local indicators of spatial association. TEST, 27(3), 716-748.
- Virtanen, P., et al. (2020). SciPy 1.0: fundamental algorithms for scientific computing in Python. Nature Methods, 17, 261-272.