Learn R Programming

GLmom (version 1.3.1)

ma.gev: Model Averaging for GEV High Quantile Estimation

Description

This function estimates high quantiles of the Generalized Extreme Value (GEV) distribution using model averaging with mixed criteria. It combines Maximum Likelihood Estimation (MLE) and L-moment Estimation (LME) to construct candidate submodels and assign weights effectively.

Usage

ma.gev(
  data = NULL,
  quant = c(0.98, 0.99, 0.995),
  weight = "like1",
  numk = 12,
  B = 200,
  varcom = TRUE,
  trim = 0,
  fig = FALSE,
  bma = FALSE,
  pen = "norm",
  CD = FALSE,
  remle = FALSE
)

Value

A list containing:

  • mle.hosking - MLE estimates in Hosking style (mu, sigma, xi)

  • qua.mle - Quantile estimates from MLE

  • mle.cov3 - Covariance matrix of MLE (3x3)

  • qua.se.mle.delta - Standard errors of MLE quantiles (delta method)

  • lme - L-moment estimates (mu, sigma, xi)

  • lme.cov3 - Covariance matrix of LME (bootstrap)

  • qua.lme - Quantile estimates from LME

  • qua.se.lme.boots - Standard errors of LME quantiles (bootstrap)

  • qua.ma - Model-averaged quantile estimates

  • w.ma - Weights used for model averaging

  • fixw.se.ma - Asymptotic SE under fixed weights

  • ranw.se.ma - Asymptotic SE under random weights

  • surr - Surrogate model parameters (mu, sigma, xi)

  • pick_xi - Selected xi values for K submodels

  • qua.bma - (if bma=TRUE) BMA quantile estimates

  • w.bma - (if bma=TRUE) BMA weights

  • mle.CD - (if CD=TRUE) Coles-Dixon penalized MLE

  • qua.CD - (if CD=TRUE) Quantile estimates from CD-MLE

  • remle1 - (if remle=TRUE) Restricted MLE (first constraint)

  • qua.remle1 - (if remle=TRUE) Quantile estimates from remle1

  • remle2 - (if remle=TRUE) Restricted MLE (second constraint)

  • qua.remle2 - (if remle=TRUE) Quantile estimates from remle2

  • quant - The quantile probabilities used

Arguments

data

A numeric vector of data to be fitted (e.g., annual maxima).

quant

The probabilities corresponding to high quantiles to be estimated. Default is c(0.98, 0.99, 0.995).

weight

The weighting method name. Options are:

  • 'like', 'like0', 'like1' (default): Likelihood-based weights (AIC)

  • 'gLd', 'gLd0', 'gLd1', 'gLd2': Generalized L-moment distance weights

  • 'med', 'med1', 'med2': Median-based weights

  • 'cvt': Conventional AIC weights

Variants with numbers indicate left trimming level (0, 1, or 2).

numk

The number of candidate submodels K. Default is 12.

B

The number of bootstrap samples. Default is 200.

varcom

Logical. Whether to compute variance of quantile estimates. Default is TRUE.

trim

The number of left trimming for L-moments. Usually 0 (default), 1, or 2.

fig

Logical. Whether to produce diagnostic plots. Default is FALSE.

bma

Logical. Whether to use Bayesian Model Averaging. Default is FALSE.

pen

Penalty type for BMA prior: 'norm' (normal, default) or 'beta'.

CD

Logical. Whether to compute Coles-Dixon penalized MLE. Default is FALSE.

remle

Logical. Whether to compute restricted MLE. Default is FALSE.

Author

Yonggwan Shin, Seokkap Ko, Jihong Park, Yire Shin, Jeong-Soo Park

Details

The model averaging approach works as follows:

  1. MLE and LME of GEV parameters are computed

  2. K candidate shape parameters (xi) are selected from profile likelihood CI

  3. For each candidate xi, MLE with fixed xi is computed

  4. Weights are assigned based on the selected method

  5. Final quantile estimates are weighted averages across submodels

The weighting schemes include:

  • 'like': AIC-based weights using likelihood with fixed xi

  • 'gLd': Weights based on generalized L-moment distance

  • 'med': Weights based on median and L-moment distance

  • 'cvt': Conventional AIC weights

When bma=TRUE, Bayesian model averaging is applied with prior specified by pen.

References

Shin, Y., Shin, Y., & Park, J. S. (2026). Model averaging with mixed criteria for estimating high quantiles of extreme values: Application to heavy rainfall. Stochastic Environmental Research and Risk Assessment, 40(2), 47. tools:::Rd_expr_doi("10.1007/s00477-025-03167-x")

See Also

glme.gev for stationary GLME estimation, magev.ksensplot for K sensitivity analysis, magev.qqplot for Q-Q diagnostic plots, magev.rlplot for return level plots.

Examples

Run this code
# Load example data
data(streamflow)
x <- streamflow$r1

# Basic usage with likelihood weights
result <- ma.gev(x, quant = c(0.95, 0.99), weight = 'like1', B = 100)
print(result$qua.ma)     # Model-averaged quantiles
print(result$qua.mle)    # MLE quantiles for comparison
print(result$qua.lme)    # LME quantiles for comparison

# Using generalized L-moment distance weights
result2 <- ma.gev(x, quant = c(0.95, 0.99), weight = 'gLd', B = 100)
print(result2$w.ma)      # Model weights

Run the code above in your browser using DataLab