fgammagpdcon {evmix} | R Documentation |
MLE Fitting of Gamma Bulk and GPD Tail Extreme Value Mixture Model with Single Continuity Constraint
Description
Maximum likelihood estimation for fitting the extreme value mixture model with gamma 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.
Usage
fgammagpdcon(x, phiu = TRUE, useq = NULL, fixedu = FALSE,
pvector = NULL, std.err = TRUE, method = "BFGS",
control = list(maxit = 10000), finitelik = TRUE, ...)
lgammagpdcon(x, gshape = 1, gscale = 1, u = qgamma(0.9, gshape,
1/gscale), xi = 0, phiu = TRUE, log = TRUE)
nlgammagpdcon(pvector, x, phiu = TRUE, finitelik = FALSE)
proflugammagpdcon(u, pvector, x, phiu = TRUE, method = "BFGS",
control = list(maxit = 10000), finitelik = TRUE, ...)
nlugammagpdcon(pvector, u, x, phiu = TRUE, finitelik = FALSE)
Arguments
x |
vector of sample data |
phiu |
probability of being above threshold |
useq |
vector of thresholds (or scalar) to be considered in profile likelihood or
|
fixedu |
logical, should threshold be fixed (at either scalar value in |
pvector |
vector of initial values of parameters or |
std.err |
logical, should standard errors be calculated |
method |
optimisation method (see |
control |
optimisation control list (see |
finitelik |
logical, should log-likelihood return finite value for invalid parameters |
... |
optional inputs passed to |
gshape |
scalar gamma shape (positive) |
gscale |
scalar gamma scale (positive) |
u |
scalar threshold value |
xi |
scalar shape parameter |
log |
logical, if |
Details
The extreme value mixture model with gamma 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 dgammagpdcon
for details, type help gammagpdcon
.
Therefore, sigmau
should not be included in the parameter vector if initial values
are provided, making the full parameter vector
(gshape
, gscale
, u
, xi
) if threshold is also estimated and
(gshape
, gscale
, xi
) for profile likelihood or fixed threshold approach.
Non-positive data are ignored as likelihood is infinite, except for gshape=1
.
Value
Log-likelihood is given by lgammagpdcon
and it's
wrappers for negative log-likelihood from nlgammagpdcon
and nlugammagpdcon
. Profile likelihood for single
threshold given by proflugammagpdcon
. Fitting function
fgammagpdcon
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 |
gshape : | MLE of gamma shape |
gscale : | MLE of gamma scale |
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 |
Acknowledgments
See Acknowledgments in
fnormgpd
, type help fnormgpd
.
Note
When pvector=NULL
then the initial values are:
approximation of MLE of gamma parameters assuming entire population is gamma; and
threshold 90% quantile (not relevant for profile likelihood for threshold or fixed threshold approaches);
MLE of GPD shape parameter above threshold.
Author(s)
Yang Hu and Carl Scarrott carl.scarrott@canterbury.ac.nz
References
http://www.math.canterbury.ac.nz/~c.scarrott/evmix
http://en.wikipedia.org/wiki/Gamma_distribution
http://en.wikipedia.org/wiki/Generalized_Pareto_distribution
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
Hu, Y. (2013). Extreme value mixture modelling: An R package and simulation study. MSc (Hons) thesis, University of Canterbury, New Zealand. http://ir.canterbury.ac.nz/simple-search?query=extreme&submit=Go
Behrens, C.N., Lopes, H.F. and Gamerman, D. (2004). Bayesian analysis of extreme events with threshold estimation. Statistical Modelling. 4(3), 227-244.
See Also
Other gammagpd: fgammagpd
,
fmgammagpd
, fmgamma
,
gammagpdcon
, gammagpd
,
mgammagpd
Other gammagpdcon: fgammagpd
,
fmgammagpdcon
, gammagpdcon
,
gammagpd
, mgammagpdcon
Other mgammagpdcon: fmgammagpdcon
,
fmgammagpd
, fmgamma
,
gammagpdcon
, mgammagpdcon
,
mgammagpd
, mgamma
Other fgammagpdcon: gammagpdcon
Examples
## Not run:
set.seed(1)
par(mfrow = c(2, 1))
x = rgamma(1000, shape = 2)
xx = seq(-0.1, 8, 0.01)
y = dgamma(xx, shape = 2)
# Continuity constraint
fit = fgammagpdcon(x)
hist(x, breaks = 100, freq = FALSE, xlim = c(-0.1, 8))
lines(xx, y)
with(fit, lines(xx, dgammagpdcon(xx, gshape, gscale, u, xi), col="red"))
abline(v = fit$u, col = "red")
# No continuity constraint
fit2 = fgammagpd(x, phiu = FALSE)
with(fit2, lines(xx, dgammagpd(xx, gshape, gscale, 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 approach
fitu = fgammagpdcon(x, useq = seq(1, 5, length = 20))
fitfix = fgammagpdcon(x, useq = seq(1, 5, length = 20), fixedu = TRUE)
hist(x, breaks = 100, freq = FALSE, xlim = c(-0.1, 8))
lines(xx, y)
with(fit, lines(xx, dgammagpdcon(xx, gshape, gscale, u, xi), col="red"))
abline(v = fit$u, col = "red")
with(fitu, lines(xx, dgammagpdcon(xx, gshape, gscale, u, xi), col="purple"))
abline(v = fitu$u, col = "purple")
with(fitfix, lines(xx, dgammagpdcon(xx, gshape, gscale, 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)