Earthquake forecasting performance evaluation serves as a critical metric for quantitatively assessing and comparing the efficacy and reliability of predictive models.
The predictability of earthquakes and the issue of how to conduct earthquake forecasting have attracted intense attention. In seismology, commonly used models such as ETAS, STEP, and EEPSA have been compared and tested within RELM and CSEP projects, while an increasing number of new forecasting models and evaluation methods have recently been developed.
[Now] 2026-08-05 23:19:20
# Final forecast evaluation
# Number-Test:
# Nobs = 311
# delta1 = 0.26
# delta2 = 0.76
# status = consistent
# ---------------------------------------------------------
# Magnitude-Test:
# dobs = 0.826
# gammaM = 0.61
# pUpper = 0.39
# status = consistent
# ---------------------------------------------------------
# Spatial-Test:
# Sobs = -4.553
# gammaS = 0.19
# status = consistent
# =========================================================This project demonstrates a simulation-based framework for evaluating catalog-based earthquake forecasts. The forecast is represented by an ensemble of stochastic earthquake catalogs, and its predictive performance is assessed by comparing the observed catalog with the forecast ensemble.
Three complementary consistency tests are implemented:
- Number-Test — evaluates the total number of earthquakes;
- Magnitude-Test — evaluates the magnitude-frequency distribution;
- Spatial-Test — evaluates the spatial distribution of earthquakes.
Together, these tests isolate three important components of an earthquake forecast:
| Test | Forecast component | Main question |
|---|---|---|
| Number-Test | Rate | Is the observed number of earthquakes consistent with the forecast? |
| Magnitude-Test | Magnitude distribution | Are the observed magnitudes consistent with the forecast magnitude-frequency distribution? |
| Spatial-Test | Spatial distribution | Are the observed earthquake locations consistent with the forecast spatial distribution? |
The demonstration script generates >500 stochastic forecast catalogs and one synthetic observed catalog. The three tests are then applied independently to diagnose possible disagreements between the forecast and observation.
Let
denote the simulated forecast catalogs, where
The number of earthquakes in each forecast catalog simply follows a Poisson distribution:
where the expected number of earthquakes is
Each simulated earthquake has:
- a spatial cell;
- a magnitude-bin index;
- an associated magnitude.
The forecast ensemble is therefore represented by:
-
ForecastCounts(j)is the number of earthquakes in catalog$j$ ; -
ForecastSpatialCounts(k,j)is the number of earthquakes in spatial cell$k$ of catalog$j$ ; -
ForecastMag{j}contains the magnitudes in catalog$j$ .
The testing region is divided into a regular
Nx=14;
Ny=14;
Xv=linspace(0,100,Nx);
Yv=linspace(0,100,Ny);The spatial forecast contains three Gaussian-like earthquake clusters. For a cluster centered at
The complete forecast field is constructed as
where
The spatial probability in cell
where
The forecast map shows the largest earthquake probability near the lower-left cluster, with weaker clusters near the center and upper-right portion of the testing region.
Forecast magnitudes are generated from a truncated Gutenberg–Richter distribution:
For the magnitude interval
The probabilities are normalized so that
The Number-Test evaluates whether the total number of observed earthquakes is consistent with the number distribution generated by the forecast catalogs.
For a catalog-based forecast, the test distribution is obtained directly from the simulated catalogs:
The observed statistic is simply
where
The Number-Test isolates the rate component because it ignores the locations and magnitudes of individual earthquakes.
In grid-based forecast evaluation, this test is commonly called the N-Test.
When an ensemble of complete earthquake catalogs is evaluated directly, the name Number-Test is more explicit. The figure title may still use the shorter label “N-Test”.
Two empirical tail probabilities are calculated:
and
They are estimated from the forecast ensemble as
where
Because both probabilities include equality, their sum may be slightly larger than one when some simulations have exactly
For a two-sided test with significance level
each tail is compared with
The interpretation is:
- if
$\delta_1<0.025$ , the observed count is unusually large and the forecast underpredicts the number of earthquakes; - if
$\delta_2<0.025$ , the observed count is unusually small and the forecast overpredicts the number of earthquakes; - otherwise, the observed count is considered consistent with the forecast.
The forecast predictive interval is obtained from the corresponding lower and upper empirical quantiles of ForecastCounts.
The Magnitude-Test evaluates whether the magnitude-frequency distribution of the observed catalog is consistent with the simulated forecast catalogs.
The catalog-based test uses:
- the union of all simulated catalogs;
- every individual simulated catalog;
- the observed catalog.
The union forecast catalog is
and its total number of earthquakes is
Let:
-
$\Lambda_U^{(m)}(k)$ be the union-catalog count in magnitude bin$k$ ; -
$\Lambda_j^{(m)}(k)$ be the count in bin$k$ of simulated catalog$j$ ; -
$\Omega^{(m)}(k)$ be the observed count in magnitude bin$k$ .
The union and simulated magnitude histograms are normalized to the observed catalog size. The normalized union count in bin
For simulated catalog
This normalization removes differences in total event count, allowing the test to focus on the shape of the magnitude distribution.
Empty simulated catalogs cannot be normalized and are therefore excluded from the Magnitude-Test statistic distribution.
The observed discrepancy is calculated from the squared logarithmic residuals:
The value one is added to every bin to avoid the singularity associated with
Using logarithmic counts reduces the dominance of low-magnitude bins. Because small earthquakes are much more numerous than large earthquakes, a statistic based directly on count differences can be controlled almost entirely by the smallest magnitude bins. Logarithmic residuals make discrepancies in less frequent, relatively large earthquakes more visible.
For every valid simulated catalog, the corresponding statistic is
The values
form the forecast test distribution.
Because
The empirical quantile is
and the upper-tail probability is
Without a finite-sample correction,
The forecast is considered inconsistent with the observed magnitude distribution when
The Spatial-Test evaluates whether the observed earthquake locations are consistent with the spatial probability distribution generated by the forecast catalogs.
The total number of earthquakes is removed from the comparison. Therefore, the test focuses on the relative spatial distribution rather than the total forecast rate.
Let
Thus,
In the demonstration, a small positive spatial background is included during simulation. This prevents impossible zero-probability cells, so
SpatialOptions.ProbabilityFloor=0;can be used safely.
Let
This is equivalent to averaging the logarithmic forecast probability over all observed earthquake locations.
A larger, or less negative, value indicates that the observed earthquakes occurred preferentially in cells assigned relatively high forecast probabilities.
A very small value indicates that many observed earthquakes occurred in cells assigned low probabilities by the forecast.
For each simulated catalog
The simulated scores form the Spatial-Test distribution:
The lower-tail quantile is
Because poor spatial forecasts produce unusually small log scores, the forecast is considered spatially inconsistent when

