Skip to content

module probextreme.bayesian_extreme

Functionalities using Bayesian approch for extreme value analysis Simon Filhol, December 2024


function bayesian_stationary_gev

bayesian_stationary_gev(
    ts,
    return_periods=array([  2,   5,  10,  20,  50, 100]),
    return_levels=11
)

Function to fit GEV using the Bayesian approach. This model assumes data stationarity

Args:

  • ts (timeseries, array): data to be fitted by stationary GEV
  • return_periods (int array): return period to compute return level for
  • return_levels (int, array): return level to compute return period for

Return: model, idata, scaler


function model_gpd_linear

model_gpd_linear(zdata)

function model_gev_linear

model_gev_linear(zdata)

A Bayesian GEV model with Loc and Shape being linearly time dependent

Args:

  • zdata (array): standardized data to use for Bayesian inference

Returns: model (pymc model)


class Bayesian_Extreme

Class to perform bayesian modeling of extreme values with by default time dependence. This class is wrapper of PyMC method and intends to provide a basic model. For advanced controls on the parameters, refer to PyMC methods on top of which this class is built.

Attributes:

  • ts (timeseries or dataframe): time series of maximum. Default model is GEV so ts must contain block maximum values
  • scaler (obj): scaling object. See utils.py

Methods: scale_data() assess_stationarity(test=['adfuller', 'ADFuller variance'], freq=30) default_gev_model() sample_prior(samples=1000) infer_posterior(samples=2000) evaluate_posterior()

method __init__

__init__(ts, scaler=<probextreme.utils.StandardScaler object at 0x7014ab6d4040>)

method assess_stationarity

assess_stationarity(test=['adfuller', 'ADFuller variance'], freq=30)

method default_gev_model

default_gev_model()

method evaluate_posterior

evaluate_posterior()

method infer_posterior

infer_posterior(
    samples=2000,
    initvals={'alpha_mu': -0.5, 'beta_mu': 0, 'alpha_sig': 0, 'beta_sig': 0, 'ξ': 0}
)

method plot_posterior

plot_posterior(
    var_to_plot=['alpha_mu', 'beta_mu', 'alpha_sig', 'beta_sig', 'ξ', 'μ', 'σ']
)

method sample_prior

sample_prior(samples=1000)

method scale_data

scale_data()

This file was automatically generated via lazydocs.