Description Usage Arguments Details Value Note Author(s) References See Also Examples
Density, cumulative distribution function, quantile function and
random number generation for the dynamically weighted mixture model. The
parameters are the Weibull shape wshape
and scale wscale
,
Cauchy location cmu
, Cauchy scale ctau
, GPD scale
sigmau
, shape xi
and initial value for the quantile
qinit
.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | ddwm(x, wshape = 1, wscale = 1, cmu = 1, ctau = 1,
sigmau = sqrt(wscale^2 * gamma(1 + 2/wshape) - (wscale * gamma(1 +
1/wshape))^2), xi = 0, log = FALSE)
pdwm(q, wshape = 1, wscale = 1, cmu = 1, ctau = 1,
sigmau = sqrt(wscale^2 * gamma(1 + 2/wshape) - (wscale * gamma(1 +
1/wshape))^2), xi = 0, lower.tail = TRUE)
qdwm(p, wshape = 1, wscale = 1, cmu = 1, ctau = 1,
sigmau = sqrt(wscale^2 * gamma(1 + 2/wshape) - (wscale * gamma(1 +
1/wshape))^2), xi = 0, lower.tail = TRUE, qinit = NULL)
rdwm(n = 1, wshape = 1, wscale = 1, cmu = 1, ctau = 1,
sigmau = sqrt(wscale^2 * gamma(1 + 2/wshape) - (wscale * gamma(1 +
1/wshape))^2), xi = 0)
|
x |
quantiles |
wshape |
Weibull shape (positive) |
wscale |
Weibull scale (positive) |
cmu |
Cauchy location |
ctau |
Cauchy scale |
sigmau |
scale parameter (positive) |
xi |
shape parameter |
log |
logical, if TRUE then log density |
q |
quantiles |
lower.tail |
logical, if FALSE then upper tail probabilities |
p |
cumulative probabilities |
qinit |
scalar or vector of initial values for the quantile estimate |
n |
sample size (positive integer) |
The dynamic weighted mixture model combines a Weibull for the bulk model with GPD for the tail model. However, unlike all the other mixture models the GPD is defined over the entire range of support rather than as a conditional model above some threshold. A transition function is used to apply weights to transition between the bulk and GPD for the upper tail, thus providing the dynamically weighted mixture. They use a Cauchy cumulative distribution function for the transition function.
The density function is then a dynamically weighted mixture given by:
f(x) = {[1 - p(x)] h(x) + p(x) g(x)}/r
where h(x) and
g(x) are the Weibull and unscaled GPD density functions respectively
(i.e. dweibull(x, wshape, wscale)
and dgpd(x, u, sigmau,
xi)
). The Cauchy cumulative distribution function used to provide the
transition is defined by p(x) (i.e. pcauchy(x, cmu, ctau
. The
normalisation constant r ensures a proper density.
The quantile function is not available in closed form, so has to be solved
numerically. The argument qinit
is the initial quantile estimate
which is used for numerical optimisation and should be set to a reasonable
guess. When the qinit
is NULL
, the initial quantile value is
given by the midpoint between the Weibull and GPD quantiles. As with the
other inputs qinit
is also vectorised, but R
does not permit
vectors combining NULL
and numeric entries.
ddwm
gives the density,
pdwm
gives the cumulative distribution function,
qdwm
gives the quantile function and
rdwm
gives a random sample.
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
rdwm
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
rdwm
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.
Yang Hu and Carl Scarrott carl.scarrott@canterbury.ac.nz
http://en.wikipedia.org/wiki/Weibull_distribution
http://en.wikipedia.org/wiki/Cauchy_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
Frigessi, A., Haug, O. and Rue, H. (2002). A dynamic mixture model for unsupervised tail estimation without threshold selection. Extremes 5 (3), 219-235
Other fdwm: fdwm
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | ## Not run:
set.seed(1)
par(mfrow = c(2, 2))
xx = seq(0.001, 5, 0.01)
f = ddwm(xx, wshape = 2, wscale = 1/gamma(1.5), cmu = 1, ctau = 1, sigmau = 1, xi = 0.5)
plot(xx, f, ylim = c(0, 1), xlim = c(0, 5), type = 'l', lwd = 2,
ylab = "density", main = "Plot example in Frigessi et al. (2002)")
lines(xx, dgpd(xx, sigmau = 1, xi = 0.5), col = "red", lty = 2, lwd = 2)
lines(xx, dweibull(xx, shape = 2, scale = 1/gamma(1.5)), col = "blue", lty = 2, lwd = 2)
legend('topright', c('DWM', 'Weibull', 'GPD'),
col = c("black", "blue", "red"), lty = c(1, 2, 2), lwd = 2)
# three tail behaviours
plot(xx, pdwm(xx, xi = 0), type = "l")
lines(xx, pdwm(xx, xi = 0.3), col = "red")
lines(xx, pdwm(xx, xi = -0.3), col = "blue")
legend("bottomright", paste("xi =",c(0, 0.3, -0.3)), col=c("black", "red", "blue"), lty = 1)
x = rdwm(10000, wshape = 2, wscale = 1/gamma(1.5), cmu = 1, ctau = 1, sigmau = 1, xi = 0.1)
xx = seq(0, 15, 0.01)
hist(x, freq = FALSE, breaks = 100)
lines(xx, ddwm(xx, wshape = 2, wscale = 1/gamma(1.5), cmu = 1, ctau = 1, sigmau = 1, xi = 0.1),
lwd = 2, col = 'black')
plot(xx, pdwm(xx, wshape = 2, wscale = 1/gamma(1.5), cmu = 1, ctau = 1, sigmau = 1, xi = 0.1),
xlim = c(0, 15), type = 'l', lwd = 2,
xlab = "x", ylab = "F(x)")
lines(xx, pgpd(xx, sigmau = 1, xi = 0.1), col = "red", lty = 2, lwd = 2)
lines(xx, pweibull(xx, shape = 2, scale = 1/gamma(1.5)), col = "blue", lty = 2, lwd = 2)
legend('bottomright', c('DWM', 'Weibull', 'GPD'),
col = c("black", "blue", "red"), lty = c(1, 2, 2), lwd = 2)
## End(Not run)
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.