Reinhart 2018 - Stochastic Declustering

Summary

Stochastic declustering separates background from triggered events using the estimated parent probabilities . The Zhuang-Ogata-Vere-Jones (ZOV) algorithm alternates parametric fitting of with weighted kernel estimation of from background-weighted events; FLP and MISD are alternatives that tune smoothing or avoid a parametric .

Overview

A nonparametric fitted on all events would absorb triggered events. Declustering removes them probabilistically, and also supports testing model assumptions (e.g. same magnitude distribution for mainshocks and aftershocks).

Main Content

Declustering identity (eqs. 11-13)

With total spatial intensity , we have . With kernel : , , hence

Algorithm 1 (ZOV 2002). Start . (1) Fit of by ML given ; (2) compute via eq. 10; (3) update by eq. 13; (4) stop if . Thinning: keep event with probability . The original used an adaptive bandwidth: radius of the smallest disk around event containing other events (), floored at a small near location error.

Algorithm 2 (family tree). For each draw ; if mark background; else choose the smallest with and set parent . Repeating reveals declustering uncertainty.

Forward Likelihood-based Predictive (FLP) approach (Chiodi & Adelfio 2011)

Maximising the likelihood over a kernel bandwidth collapses it to zero (point masses). FLP instead scores one-step-ahead predictions: , with estimated from the first events only, and , . Algorithm 3 alternates ML for triggering parameters with FLP maximisation for smoothing (Silverman start).

Model-independent stochastic declustering (MISD; Marsan & Lengline 2008)

Takes with piecewise constant on space-time bins, estimated by EM (E step: ; M step: bin averages and ). Fox, Schoenberg & Gordon (2016) allow spatially varying background and bootstrap uncertainty.

Examples

Zhuang, Ogata & Vere-Jones (2004) declustered a 19,139-event JMA catalogue and found some standard ETAS assumptions fail, leading to revised models (Ogata & Zhuang 2006). Harte (2012): a poor background fit biases towards labelling background events as triggered, inflating .

import numpy as np
def parent_probs(t, mu, g):            # g(dt) vectorised triggering kernel
    n = len(t); P = np.zeros((n, n)); lam = np.full(n, mu)
    for i in range(1, n):
        w = g(t[i]-t[:i]); lam[i] += w.sum(); P[i,:i] = w
    P /= lam[:,None]; p0 = mu/lam
    return p0, P
t = np.sort(np.random.default_rng(2).uniform(0,20,40))
p0, P = parent_probs(t, .5, lambda d: .4*2*np.exp(-2*d)); print(p0[:5], (p0+P.sum(1))[:3])  # rows sum to 1

Connections

Reinhart 2018 - Likelihood, EM and Bayesian Estimation supplies . In marketing terms, declustering = splitting conversions into organic vs. contagion-driven.

See Also

Reinhart 2018 - Self-Exciting Spatio-Temporal Point Processes - Overview