A thesis-grade geo-spatial analysis combining accessibility modelling, Bayesian spatial statistics, hydrodynamic flood simulation, and graph neural networks to measure and map opportunity across 19 urban wards.
Vadodara (Baroda), Gujarat's third-largest city, exhibits sharp spatial disparities in access to healthcare, education, transit, and flood safety. This project builds a rigorous, reproducible measurement framework.
Urban inequality is rarely a single-dimension problem. A ward may have excellent schools but be chronically flood-prone. Another may have strong transit coverage but poor healthcare access. The Urban Opportunity Index (UOI) synthesises these four dimensions into a single, interpretable ward-level score using normalised, weighted components.
The spatial distribution of the UOI is not random — it exhibits strong spatial autocorrelation (Global Moran's I = 0.73), meaning high-opportunity and low-opportunity wards cluster together. This clustering motivates the use of Bayesian spatial models (BYM2) rather than standard regression.
The flood risk component is computed dynamically using SWMM DYNWAVE hydrodynamic simulation — not a static raster overlay — making it physically grounded and sensitive to road-network topology.
Four normalised components, weighted by policy relevance, produce a 0–100 score where higher means better access and lower risk.
Each stage is reproducible and runs in order. The pipeline processes open data into the final Bayesian posterior.
61 nodes · 198 edges · 19 wards · 8-step storm timeline. Click any ward for details. Drag to pan, scroll to zoom.
Global and local spatial autocorrelation metrics reveal how opportunity clusters — and where inequality concentrates.
The primary inferential model. Decomposes spatial variation into structured clustering (ICAR) and unstructured noise, with interpretable Penalised Complexity hyperpriors.
| Parameter | Prior | Interpretation |
|---|---|---|
| α | Normal(0,1) | Baseline UOI (weakly informative) |
| βⱼ | Normal(0,1) | Component j coefficient |
| σb | HalfNormal(0.5) [PC] | Total spatial SD |
| φ | Beta(0.5,0.5) [PC] | Spatial fraction of σb |
| σε | HalfNormal(1.0) | Residual noise SD |
The original build_swm.py caused a 17-minute execution freeze due to four compounding failures — all diagnosed empirically and fixed.
Run these scripts in order. Each step feeds the next.
Key citations and theoretical extracts supporting each analytical choice.