MLE Fitting of beta Bulk and GPD Tail Extreme Value Mixture Model with Single Continuity Constraint
MLE Fitting of beta Bulk and GPD Tail Extreme Value Mixture Model with Single Continuity Constraint
Maximum likelihood estimation for fitting the extreme value mixture model with beta for bulk distribution upto the threshold and conditional GPD above threshold with continuity at threshold. With options for profile likelihood estimation for threshold and fixed threshold approach.
phiu: probability of being above threshold (0,1) or logical, see Details in help for fnormgpd
useq: vector of thresholds (or scalar) to be considered in profile likelihood or NULL for no profile likelihood
fixedu: logical, should threshold be fixed (at either scalar value in useq, or estimated from maximum of profile likelihood evaluated at sequence of thresholds in useq)
pvector: vector of initial values of parameters or NULL for default values, see below
std.err: logical, should standard errors be calculated
method: optimisation method (see optim)
control: optimisation control list (see optim)
finitelik: logical, should log-likelihood return finite value for invalid parameters
...: optional inputs passed to optim
bshape1: scalar beta shape 1 (positive)
bshape2: scalar beta shape 2 (positive)
u: scalar threshold over (0,1)
xi: scalar shape parameter
log: logical, if TRUE then log-likelihood rather than likelihood is output
Returns
Log-likelihood is given by lbetagpdcon and it's wrappers for negative log-likelihood from nlbetagpdcon
and nlubetagpdcon. Profile likelihood for single threshold given by proflubetagpdcon. Fitting function fbetagpdcon returns a simple list with the following elements
call :
optim call
x :
data vector x
init :
pvector
fixedu :
fixed threshold, logical
useq :
threshold vector for profile likelihood or scalar for fixed threshold
nllhuseq :
profile negative log-likelihood at each threshold in useq
optim :
complete optim output
mle :
vector of MLE of parameters
cov :
variance-covariance matrix of MLE of parameters
se :
vector of standard errors of MLE of parameters
rate :
phiu to be consistent with evd
nllh :
minimum negative log-likelihood
n :
total sample size
bshape1 :
MLE of beta shape1
bshape2 :
MLE of beta shape2
u :
threshold (fixed or MLE)
sigmau :
MLE of GPD scale (estimated from other parameters)
xi :
MLE of GPD shape
phiu :
MLE of tail fraction (bulk model or parameterised approach)
se.phiu :
standard error of MLE of tail fraction
Details
The extreme value mixture model with beta bulk and GPD tail with continuity at threshold is fitted to the entire dataset using maximum likelihood estimation. The estimated parameters, variance-covariance matrix and their standard errors are automatically output.
See help for fnormgpd for details, type help fnormgpd. Only the different features are outlined below for brevity.
The GPD sigmau parameter is now specified as function of other parameters, see help for dbetagpdcon for details, type help betagpdcon. Therefore, sigmau should not be included in the parameter vector if initial values are provided, making the full parameter vector (bshape1, bshape2, u, xi) if threshold is also estimated and (bshape1, bshape2, xi) for profile likelihood or fixed threshold approach.
Negative data are ignored. Values above 1 must come from GPD component, as threshold u<1.
Note
When pvector=NULL then the initial values are:
method of moments estimator of beta parameters assuming entire population is beta; and
threshold 90% quantile (not relevant for profile likelihood for threshold or fixed threshold approaches);
MLE of GPD shape parameter above threshold.
Acknowledgments
See Acknowledgments in fnormgpd, type help fnormgpd. Based on code by Anna MacDonald produced for MATLAB.
Examples
## Not run:set.seed(1)par(mfrow = c(2,1))x = rbeta(1000, shape1 =2, shape2 =4)xx = seq(-0.1,2,0.01)y = dbeta(xx, shape1 =2, shape2 =4)# Continuity constraintfit = fbetagpdcon(x)hist(x, breaks =100, freq =FALSE, xlim = c(-0.1,2))lines(xx, y)with(fit, lines(xx, dbetagpdcon(xx, bshape1, bshape2, u, xi), col="red"))abline(v = fit$u, col ="red")# No continuity constraintfit2 = fbetagpd(x, phiu =FALSE)with(fit2, lines(xx, dbetagpd(xx, bshape1, bshape2, u, sigmau, xi, phiu), col="blue"))abline(v = fit2$u, col ="blue")legend("topright", c("True Density","No continuity constraint","With continuty constraint"), col=c("black","blue","red"), lty =1)# Profile likelihood for initial value of threshold and fixed threshold approachfitu = fbetagpdcon(x, useq = seq(0.3,0.7, length =20))fitfix = fbetagpdcon(x, useq = seq(0.3,0.7, length =20), fixedu =TRUE)hist(x, breaks =100, freq =FALSE, xlim = c(-0.1,2))lines(xx, y)with(fit, lines(xx, dbetagpdcon(xx, bshape1, bshape2, u, xi), col="red"))abline(v = fit$u, col ="red")with(fitu, lines(xx, dbetagpdcon(xx, bshape1, bshape2, u, xi), col="purple"))abline(v = fitu$u, col ="purple")with(fitfix, lines(xx, dbetagpdcon(xx, bshape1, bshape2, u, xi), col="darkgreen"))abline(v = fitfix$u, col ="darkgreen")legend("topright", c("True Density","Default initial value (90% quantile)","Prof. lik. for initial value","Prof. lik. for fixed threshold"), col=c("black","red","purple","darkgreen"), lty =1)## End(Not run)
Scarrott, C.J. and MacDonald, A. (2012). A review of extreme value threshold estimation and uncertainty quantification. REVSTAT - Statistical Journal 10(1), 33-59. Available from http://www.ine.pt/revstat/pdf/rs120102.pdf