Spatio-temporal cluster analysis with density-based distance augmentation

SCADDA is a Python package for spatio-temporal clustering, addressing the challenges that real-world applications often face when dealing with stark variations in density. In cases in which higher-density areas require a stricter treatment for spatial clustering, and in which density peaks can distort the analyses of interest, treating these areas differently is necessary. Contrary to established discrete approaches, this package builds on and extends prior work on continuous distance-based distance matrix rescaling to solve this issue. Our implementation adapts to different density profiles and features a high degree of customisability to be applicable to a wide range of areas.

As an extension of the ST-DBSCAN algorithm, SCADDA makes use of kernel density estimates to rescale spatial distances based on continuous local density profiles, and constructs separate temporal distance matrices through suitably constrained dynamic time warping. The above figure shows an application to spatial data on burned area fractions and time series data on fire radiative power observations in Sub-Saharan Africa using data from NASA’s Terra and Aqua satellites.

Documentation and a quickstart guide on how to use SCADDA can be found in a public code repository here, as well as in the open-source code’s docstrings.