Spectral Inversion, Quality, and Uncertainty
Inversion algorithms
The spectral model in SourceSpec is defined by three main parameters: \(M_w\) (moment magnitude), \(f^{p|s}_c\) (corner frequency for P or S waves), and \(t^*\) (attenuation).
Note
If a prior attenuation model is provided (see the Q_model parameter in
Configuration File), then \(t^*\) is not
inverted and instead derived from the attenuation model
(see Theoretical Background).
See the Theoretical Background section for details on the spectral model.
Different algorithms can be used to invert for these parameters.
The algorithm is chosen with the inv_algorithm option in the
configuration file (see Configuration File).
The inversion is performed in moment magnitude \(M_w\) units (logarithmic
amplitude).
Available inversion algorithms:
TNC: Truncated Newton algorithm (with bounds).
LM: Levenberg–Marquardt algorithm. If bounds are provided, the Trust Region Reflective algorithm is used instead.
GS: Grid search.
IS: Importance sampling of the misfit grid, using a k-d tree.
Inversion weighting
The inversion can be weighted using different schemes, selected with the
weighting option in the configuration file
(see Configuration File).
Weights are normalized between 0 and 1 and are shown in the output figures (if plotting is enabled).
Available weighting schemes:
‘noise’: Applies weights based on spectral signal-to-noise ratio.
‘frequency’: Applies a constant weight for \(f \leq f_\text{weight}\); for \(f > f_\text{weight}\), a weight of 1 is applied. Controlled by the parameters
f_weightandweight.‘inv_frequency’: Computes weights as \(1/(f-f_0+0.25)^{0.25}\) for \(f \leq f_1\). Weights are set to 0 for \(f < f_0\) or \(f > f_1\). Here,
f_0andf_1are the first and last frequencies where the signal-to-noise ratio exceeds 3 (or the spectrum bounds if no noise window is available).‘no_weight’: No weighting (all weights = 1).
Spectrum quality
The quality of each spectrum, for each component \(x\) (e.g., Z, N, E), is evaluated from the average spectral signal-to-noise ratio (\(SSNR_x\)):
where \(S_x(f)\) and \(N_x(f)\) are the signal and noise amplitude
spectra for component \(x\), respectively, and \(f_{min}\) and
\(f_{max}\) define the frequency range over which the SSNR is computed
(either the full frequency band or a user-defined range,
see spectral_sn_freq_range in
Configuration File).
A minimum threshold for \(SSNR_x\) can be set with
spectral_sn_min (see Configuration File).
Component spectra below this threshold are excluded from the inversion.
From \(SSNR_x\), two quality parameters are derived:
SSNR mean: Mean of \(SSNR_x\) across the station components.
SSNR max: Maximum of \(SSNR_x\) across the station components.
These values are reported in the output YAML file and in the SQLite database (if enabled). See Output File Formats for details.
Quality of spectral fit
Normalized root mean square error (RMSN)
The fit between observed and synthetic spectra is evaluated with the normalized root mean square error (RMSN):
where \(RMS\) is the root mean square error between observed and synthetic spectra, and \(\sigma_w\) is the weighted standard deviation of the observed spectrum.
The RMS is given by:
with \(S_{obs}(f_i)\) and \(S_{syn}(f_i)\) the observed and synthetic amplitudes at frequency \(f_i\), and \(n\) the number of frequency samples.
The weighted standard deviation \(\sigma_w\) is:
where \(w_i\) is the weight for each frequency sample.
RMSN values are reported in the output YAML file and SQLite database (if enabled).
Quality of fit
From the RMSN, a fit quality parameter \(Q_{fit}\) is defined:
\(Q_{fit}\) ranges from 0 to 100, with higher values indicating better fits. It is reported in the output YAML file and SQLite database (if enabled).
The minimum acceptable fit quality can be set with
pi_quality_of_fit_min (see Configuration File).
Fits below this threshold are excluded from the final results.
Spectral parameters: single spectra and event summaries
For each inverted spectrum, SourceSpec computes the following parameters (see Theoretical Background for details):
Moment magnitude (\(M_w\)): obtained directly from inversion.
Corner frequency (\(f_c\)): obtained directly from inversion.
Attenuation parameter (\(t^*\)): obtained directly from inversion (or derived from prior attenuation model, see note above).
Radiated energy (\(E_r\)): measured directly from the spectrum.
Seismic moment (\(M_0\)): derived from \(M_w\).
Source radius (\(a\)): derived from \(M_0\) and \(f_c\).
Static stress drop (\(\Delta\sigma\)): derived from \(M_0\) and \(a\).
Apparent stress (\(\sigma_a\)): derived from \(E_r\) and \(M_0\).
Quality factor (\(Q\)): derived from \(t^*\) (or fixed from prior attenuation model, see note above).
For each spectrum, both the parameter estimates and their uncertainties (from the chosen inversion algorithm) are stored in the output YAML file and in the SQLite database (if enabled). See Output File Formats for details.
In addition, event-level summary values and associated uncertainties are
computed across spectra using the mean, weighted mean, or user-specified
percentiles. Outliers are rejected using the
interquartile range
(IQR) method (see the parameter nIQR in the configuration file).
A boxplot of the distribution of spectral parameters across stations is produced if plotting is enabled.
General quality of the inversion
The overall reliability of the inversion is characterized by several summary parameters:
Number of spectra inverted: The number of spectra that passed quality checks and contributed to the inversion.
Primary azimuthal gap: the largest gap in station azimuthal coverage; measures the overall quality of the distribution.
Secondary azimuthal gap: the largest gap that would remain if any one station were removed; measures the robustness of the coverage.
Mean RMSN: The average normalized root mean square error (RMSN) across all inverted spectra (see the RMSN definition above).
Mean fit quality: The average spectral fit quality (\(Q_{fit}\)) across all inverted spectra (see the definition of \(Q_{fit}\) above).
Spectral dispersion (RMSN): The normalized RMSN quantifying how much the observed spectra deviate from the event summary spectrum (see details below).
Spectral dispersion score: A quality score derived from the spectral dispersion RMSN (see details below).
All these parameters are written to the output YAML file and the SQLite database (if enabled).
Spectral dispersion (RMSN)
The spectral dispersion RMSN quantifies how much individual spectra deviate from the event summary spectrum. It is defined as:
Here, \(RMS_{disp}\) is the root mean square error between all observed spectra and the event summary spectrum:
where:
\(S_{obs,j}(f_i)\) = observed amplitude of spectrum \(j\) at frequency \(f_i\),
\(S_{event}(f_i)\) = amplitude of the event summary spectrum at frequency \(f_i\),
\(m\) = number of frequency samples per spectrum,
\(n\) = number of spectra.
The denominator, \(IPR_{80}\), is the 80% inter-percentile range of all data points in the observed spectra, i.e., the range between the 10th and 90th percentiles.
Spectral dispersion score
This score is derived from the spectral dispersion RMSN (\(RMSN_{disp}\)) and ranges from 0 to 100, with higher values indicating better overall fit among spectra.
It is defined as: