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:
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}")