4.4. Proficiency — Modified Cloud Analysis

imselection.compute_proficiency_mca(cloud_dict, ds_index=0)[source]

Proficiency measure βIM|DCR=1 from a Modified Cloud Analysis result.

Proficiency is estimated as 0.5 · ln(im84 / im16) where im16 and im84 are the IM values at which the fragility curve reaches 16 % and 84 % exceedance probability respectively.

An additional analytical estimate 'beta_formula' = σ / b is returned as a cross-check (it equals the proficiency exactly when no records collapse, i.e., under the plain Cloud Analysis assumption).

Parameters:
  • cloud_dict (dict) – Output of postprocessor.process_mca_results.

  • ds_index (int, optional) – Damage-state index. Default 0.

Returns:

  • dict with keys

  • * 'beta_IM_given_DCRLS1' — proficiency (NaN if curve does not – reach 0.16 or 0.84)

  • * 'beta_formula' — analytical cross-check σ / b

  • * 'im16' — IM at 16 % exceedance (NaN if not reached)

  • * 'im84' — IM at 84 % exceedance (NaN if not reached)

  • * 'method''MCA'

Theoretical Background

Proficiency combines efficiency with the predictability of the IM from seismic hazard analysis (Padgett et al., 2008). An IM may be efficient but difficult to predict via a ground-motion model (GMM), making it less practical for risk assessment.

Definition

Proficiency is defined as:

\[\zeta = \beta_{D|IM} \cdot \sigma_{\ln IM}\]

where \(\beta_{D|IM}\) is the efficiency (record-to-record dispersion of demand given IM) and \(\sigma_{\ln IM}\) is the total logarithmic standard deviation of the IM predicted by the GMM at the hazard level of interest (the “predictability” of the IM).

For MCA, \(\beta_{D|IM}\) is the residual standard deviation from the cloud regression evaluated at the DCR = 1 level.

A smaller \(\zeta\) indicates a more proficient IM — one that is both efficient and predictable.

Example

from openquake.vmtk.imselection import imselection

ims = imselection()
result = ims.compute_proficiency_mca(cloud_dict)
print(f"Proficiency (zeta) = {result['proficiency']:.4f}")