spatial-epidemiology

Compute Moran's I, LISA, SMR, and Knox statistics on geospatial disease data.

33|6|Updated Mar 17, 2026
One-click install
npx skills add https://github.com/xjtulyc/awesome-rosetta-skills --skill spatial-epidemiology
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: spatial-epidemiology
Source: https://github.com/xjtulyc/awesome-rosetta-skills/tree/main/skills/17-public-health/spatial-epidemiology
Command: npx skills add https://github.com/xjtulyc/awesome-rosetta-skills --skill spatial-epidemiology

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires pysal, libpysal, geopandas, numpy, matplotlib, scipy.

What problem does it solve?

Spatial epidemiology turns messy geography and outbreak timing into evidence by quantifying whether disease rates cluster, where hotspots are located, and how risk varies across areas over space and time.

Core Features & Use Cases

  • Global spatial autocorrelation (Moran's I): measures whether disease rates are spatially clustered versus random.
  • Local hotspot detection (LISA): identifies HH/LL clusters and HL/LH spatial outliers to produce interpretable cluster maps.
  • Standardized disease burden (SMR): computes indirect standardized mortality/morbidity ratios for fair comparisons across populations.
  • Space-time interaction (Knox test): evaluates whether cases cluster jointly in space and time rather than independently.
  • Disease mapping: generates choropleth maps for communicating results to public-health stakeholders.

Quick Start

Use the spatial-epidemiology skill to compute Moran's I and generate a LISA cluster map from your disease rate GeoDataFrame.

Frequently Asked Questions about spatial-epidemiology

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I calculate Moran's I for disease mapping using GeoPandas?

To calculate Moran's I for disease mapping, you need a disease rate GeoDataFrame and PySAL spatial weights. The skill applies ESDA Moran computations to measure whether disease rates are spatially clustered versus randomly distributed.

What is LISA clustering and how does it identify disease hotspots?

LISA clustering identifies disease hotspots by detecting local spatial autocorrelation. It flags HH and LL clusters alongside HL and LH spatial outliers, producing interpretable cluster maps that show exactly where localized disease risk concentrates.

How do I compute Standardized Morbidity Ratios for indirect standardization in spatial epidemiology?

Computing Standardized Morbidity Ratios for indirect standardization requires population data across age or demographic strata. The skill calculates SMR to enable fair disease burden comparisons across geographic units with differing population structures.

Can I use the Knox test for space-time clustering of outbreak data in Python?

The Knox test evaluates space-time clustering by checking if disease cases cluster jointly in space and time rather than independently. It processes geographic coordinates and outbreak timing to quantify space-time interaction in your dataset.

Do I need PySAL and libpysal installed to run permutation-based significance testing?

Yes, you need PySAL and libpysal installed to run permutation-based significance testing. The skill relies on these dependencies alongside geopandas, numpy, scipy, and matplotlib to compute spatial epidemiology statistics and generate geospatial plots.

What is the best way to generate choropleth maps for public health disease rates?

The best way to generate choropleth maps for public health disease rates is using GeoPandas geospatial plotting. The skill creates choropleth maps from your computed disease mapping statistics to communicate spatial risk variations to public-health stakeholders.