fit.ghypmv {ghyp} | R Documentation |
Fitting generalized hyperbolic distributions to multivariate data
Description
Perform a maximum likelihood estimation of the parameters of a multivariate generalized hyperbolic distribution by using an Expectation Maximization (EM) based algorithm.
Usage
fit.ghypmv(data, lambda = 1, alpha.bar = 1, mu = NULL, sigma = NULL,
gamma = NULL, opt.pars = c(lambda = TRUE, alpha.bar = TRUE, mu = TRUE,
sigma = TRUE, gamma = !symmetric),
symmetric = FALSE, standardize = FALSE, nit = 2000, reltol = 1e-8,
abstol = reltol * 10, na.rm = FALSE, silent = FALSE, save.data = TRUE,
trace = TRUE, ...)
fit.hypmv(data,
opt.pars = c(alpha.bar = TRUE, mu = TRUE, sigma = TRUE, gamma = !symmetric),
symmetric = FALSE, ...)
fit.NIGmv(data,
opt.pars = c(alpha.bar = TRUE, mu = TRUE, sigma = TRUE, gamma = !symmetric),
symmetric = FALSE, ...)
fit.VGmv(data, lambda = 1,
opt.pars = c(lambda = TRUE, mu = TRUE, sigma = TRUE, gamma = !symmetric),
symmetric = FALSE, ...)
fit.tmv(data, nu = 3.5,
opt.pars = c(lambda = TRUE, mu = TRUE, sigma = TRUE, gamma = !symmetric),
symmetric = FALSE, ...)
fit.gaussmv(data, na.rm = TRUE, save.data = TRUE)
Arguments
data |
An object coercible to a |
lambda |
Starting value for the shape parameter |
alpha.bar |
Starting value for the shape parameter |
nu |
Starting value for the shape parameter |
mu |
Starting value for the location parameter |
sigma |
Starting value for the dispersion matrix |
gamma |
Starting value for the skewness vecotr |
opt.pars |
A named logical |
symmetric |
If |
standardize |
If |
save.data |
If |
trace |
If |
na.rm |
If |
silent |
If |
nit |
Maximal number of iterations of the expectation maximation algorithm. |
reltol |
Relative convergence tolerance. |
abstol |
Absolute convergence tolerance. |
... |
Arguments passed to |
Details
This function uses a modified EM algorithm which is called Multi-Cycle
Expectation Conditional Maximization (MCECM) algorithm. This algorithm
is sketched in the vignette of this package which can be found in the
doc
folder. A more detailed description is provided by the book
Quantitative Risk Management, Concepts, Techniques and Tools
(see “References”).
The general-purpose optimization routine optim
is used
to maximize the loglikelihood function of the univariate mixing
distribution. The default method is that of Nelder and Mead which
uses only function values. Parameters of optim
can be
passed via the ... argument of the fitting routines.
Value
An object of class mle.ghyp
.
Note
The variance gamma distribution becomes singular when \mathbf{x}
- \mathbf{\mu} = 0
. This singularity is catched and the
reduced density function is computed. Because the transition is not
smooth in the numerical implementation this can rarely result in
nonsensical fits.
Providing both arguments, opt.pars
and symmetric
respectively,
can result in a conflict when opt.pars['gamma']
and symmetric
are TRUE
. In this case symmetric
will dominate and
opt.pars['gamma']
is set to FALSE
.
Author(s)
Wolfgang Breymann, David Luethi
References
Alexander J. McNeil, Ruediger Frey, Paul Embrechts (2005)
Quantitative Risk Management, Concepts, Techniques and Tools
ghyp
-package vignette in the doc
folder or on
https://cran.r-project.org/package=ghyp.
S-Plus and R library QRMlib)
See Also
fit.ghypuv
, fit.hypuv
,
fit.NIGuv
, fit.VGuv
,
fit.tuv
for univariate fitting routines.
ghyp.fit.info
for information regarding the
fitting procedure.
Examples
data(smi.stocks)
fit.ghypmv(data = smi.stocks, opt.pars = c(lambda = FALSE), lambda = 2,
control = list(rel.tol = 1e-5, abs.tol = 1e-5), reltol = 0.01)