fdwm(x, pvector = NULL, std.err = TRUE, method = "BFGS",
control = list(maxit = 10000), finitelik = TRUE, ...)
wshape
, wscale
, cmu
,
ctau
, sigmau
, xi
) or NULL
optim
)optim
)optim
call
: optim
call
x
: data vector x
init
: pvector
optim
: complete
optim
output
mle
: vector of MLE of
model parameters
cov
: variance-covariance
matrix of MLE of model parameters
se
: vector of standard errors of MLE of model parameters
rate
: phiu
to be consistent with
evd
nllh
: minimum
negative log-likelihood
allparams
: vector
of MLE of model parameters and phiu
allse
: vector of standard error of all
parameters and phiu
n
: total sample
size
wshape
: MLE of Weibull shape
wscale
: MLE of Weibull scale
mu
:
MLE of Cauchy location
tau
: MLE of
Cauchy scale
sigmau
: MLE of GPD scale
xi
: MLE of GPD shape
phiu
: MLE
of tail fraction
}
The output list has some duplicate entries and repeats
some of the inputs to both provide similar items to those
from fpot
and to make it as
useable as possible.NA
and NaN
) are assumed to
be invalid data so are ignored, which is inconsistent
with the evd
library which
assumes the missing values are below the threshold.
The default optimisation algorithm is "BFGS", which
requires a finite negative log-likelihood function
evaluation finitelik=TRUE
. For invalid parameters,
a zero likelihood is replaced with exp(-1e6)
. The
"BFGS" optimisation algorithms require finite values for
likelihood, so any user input for finitelik
will
be overridden and set to finitelik=TRUE
if either
of these optimisation methods is chosen.
It will display a warning for non-zero convergence result
comes from optim
function
call.
If the hessian is of reduced rank then the variance
covariance (from inverse hessian) and standard error of
parameters cannot be calculated, then by default
std.err=TRUE
and the function will stop. If you
want the parameter estimates even if the hessian is of
reduced rank (e.g. in a simulation study) then set
std.err=FALSE
.lgpd
and
gpd
Other dwm: ldwm
, nldwm
x = rweibull(1000, shape = 2)
xx = seq(-1, 4, 0.01)
y = dweibull(xx, shape = 2)
fit = fdwm(x, std.err = FALSE)
hist(x, breaks = 100, freq = FALSE, xlim = c(-1, 4))
lines(xx, y)
lines(xx, ddwm(xx, wshape = fit$wshape, wscale = fit$wscale, cmu = fit$cmu, ctau = fit$ctau,
sigmau = fit$sigmau, xi = fit$xi), col="red")
Run the code above in your browser using DataLab