weibullgpdcon {evmix} | R Documentation |
Weibull Bulk and GPD Tail Extreme Value Mixture Model with Single Continuity Constraint
Description
Density, cumulative distribution function, quantile function and
random number generation for the extreme value mixture model with Weibull for bulk
distribution upto the threshold and conditional GPD above threshold with continuity at threshold. The parameters
are the weibull shape wshape
and scale wscale
, threshold u
GPD shape xi
and tail fraction phiu
.
Usage
dweibullgpdcon(x, wshape = 1, wscale = 1, u = qweibull(0.9, wshape,
wscale), xi = 0, phiu = TRUE, log = FALSE)
pweibullgpdcon(q, wshape = 1, wscale = 1, u = qweibull(0.9, wshape,
wscale), xi = 0, phiu = TRUE, lower.tail = TRUE)
qweibullgpdcon(p, wshape = 1, wscale = 1, u = qweibull(0.9, wshape,
wscale), xi = 0, phiu = TRUE, lower.tail = TRUE)
rweibullgpdcon(n = 1, wshape = 1, wscale = 1, u = qweibull(0.9,
wshape, wscale), xi = 0, phiu = TRUE)
Arguments
x |
quantiles |
wshape |
Weibull shape (positive) |
wscale |
Weibull scale (positive) |
u |
threshold |
xi |
shape parameter |
phiu |
probability of being above threshold |
log |
logical, if TRUE then log density |
q |
quantiles |
lower.tail |
logical, if FALSE then upper tail probabilities |
p |
cumulative probabilities |
n |
sample size (positive integer) |
Details
Extreme value mixture model combining Weibull distribution for the bulk below the threshold and GPD for upper tail with continuity at threshold.
The user can pre-specify phiu
permitting a parameterised value for the tail fraction \phi_u
. Alternatively, when
phiu=TRUE
the tail fraction is estimated as the tail fraction from the
weibull bulk model.
The cumulative distribution function with tail fraction \phi_u
defined by the
upper tail fraction of the Weibull bulk model (phiu=TRUE
), upto the
threshold 0 < x \le u
, given by:
F(x) = H(x)
and above the threshold x > u
:
F(x) = H(u) + [1 - H(u)] G(x)
where H(x)
and G(X)
are the Weibull and conditional GPD
cumulative distribution functions (i.e. pweibull(x, wshape, wscale)
and
pgpd(x, u, sigmau, xi)
) respectively.
The cumulative distribution function for pre-specified \phi_u
, upto the
threshold 0 < x \le u
, is given by:
F(x) = (1 - \phi_u) H(x)/H(u)
and above the threshold x > u
:
F(x) = \phi_u + [1 - \phi_u] G(x)
Notice that these definitions are equivalent when \phi_u = 1 - H(u)
.
The continuity constraint means that (1 - \phi_u) h(u)/H(u) = \phi_u g(u)
where h(x)
and g(x)
are the Weibull and conditional GPD
density functions (i.e. dweibull(x, wshape, wscale)
and
dgpd(x, u, sigmau, xi)
) respectively. The resulting GPD scale parameter is then:
\sigma_u = \phi_u H(u) / [1 - \phi_u] h(u)
. In the special case of where the tail fraction is defined by the bulk model this reduces to
\sigma_u = [1 - H(u)] / h(u)
.
The Weibull is defined on the non-negative reals, so the threshold must be positive.
See gpd
for details of GPD upper tail component and
dweibull
for details of weibull bulk component.
Value
dweibullgpdcon
gives the density,
pweibullgpdcon
gives the cumulative distribution function,
qweibullgpdcon
gives the quantile function and
rweibullgpdcon
gives a random sample.
Acknowledgments
Thanks to Ben Youngman, Exeter University, UK for reporting a bug in the rweibullgpdcon
function.
Note
All inputs are vectorised except log
and lower.tail
.
The main inputs (x
, p
or q
) and parameters must be either
a scalar or a vector. If vectors are provided they must all be of the same length,
and the function will be evaluated for each element of vector. In the case of
rweibullgpdcon
any input vector must be of length n
.
Default values are provided for all inputs, except for the fundamentals
x
, q
and p
. The default sample size for
rweibullgpdcon
is 1.
Missing (NA
) and Not-a-Number (NaN
) values in x
,
p
and q
are passed through as is and infinite values are set to
NA
. None of these are not permitted for the parameters.
Error checking of the inputs (e.g. invalid probabilities) is carried out and will either stop or give warning message as appropriate.
Author(s)
Yang Hu and Carl Scarrott carl.scarrott@canterbury.ac.nz
References
http://en.wikipedia.org/wiki/Weibull_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
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 weibullgpd: fitmweibullgpd
,
fweibullgpdcon
, fweibullgpd
,
itmweibullgpd
, weibullgpd
Other weibullgpdcon: fweibullgpdcon
,
fweibullgpd
, itmweibullgpd
,
weibullgpd
Other itmweibullgpd: fitmweibullgpd
,
fweibullgpdcon
, fweibullgpd
,
itmweibullgpd
, weibullgpd
Other fweibullgpdcon: fweibullgpdcon
Examples
## Not run:
set.seed(1)
par(mfrow = c(2, 2))
x = rweibullgpdcon(1000)
xx = seq(-0.1, 6, 0.01)
hist(x, breaks = 100, freq = FALSE, xlim = c(-1, 6))
lines(xx, dweibullgpdcon(xx))
# three tail behaviours
plot(xx, pweibullgpdcon(xx), type = "l")
lines(xx, pweibullgpdcon(xx, xi = 0.3), col = "red")
lines(xx, pweibullgpdcon(xx, xi = -0.3), col = "blue")
legend("bottomright", paste("xi =",c(0, 0.3, -0.3)),
col=c("black", "red", "blue"), lty = 1)
x = rweibullgpdcon(1000, phiu = 0.2)
hist(x, breaks = 100, freq = FALSE, xlim = c(-1, 6))
lines(xx, dweibullgpdcon(xx, phiu = 0.2))
plot(xx, dweibullgpdcon(xx, xi=0, phiu = 0.2), type = "l")
lines(xx, dweibullgpdcon(xx, xi=-0.2, phiu = 0.2), col = "red")
lines(xx, dweibullgpdcon(xx, xi=0.2, phiu = 0.2), col = "blue")
legend("topright", c("xi = 0", "xi = 0.2", "xi = -0.2"),
col=c("black", "red", "blue"), lty = 1)
## End(Not run)