vgFit {VarianceGamma} | R Documentation |
Fits a variance gamma distribution to data. Displays the histogram, log-histogram (both with fitted densities), Q-Q plot and P-P plot for the fit which has the maximum likelihood.
vgFit(x, freq = NULL, breaks = NULL, paramStart = NULL, startMethod = "Nelder-Mead", startValues = "SL", method = "Nelder-Mead", hessian = FALSE, plots = FALSE, printOut = FALSE, controlBFGS = list(maxit = 200), controlNM = list(maxit = 1000), maxitNLM = 1500, ...) ## S3 method for class 'vgFit': print(x, digits = max(3, getOption("digits") - 3), ...) ## S3 method for class 'vgFit': plot(x, which = 1:4, plotTitles = paste(c("Histogram of ","Log-Histogram of ", "Q-Q Plot of ","P-P Plot of "), x$obsName, sep = ""), ask = prod(par("mfcol")) < length(which) && dev.interactive(), ...)
x |
Data vector for vgFit . Object of class
"vgFit" for print.vgFit and plot.vgFit . |
freq |
A vector of weights with length equal to length(x) . |
breaks |
Breaks for histogram, defaults to those generated by
hist(x, right = FALSE, plot = FALSE) . |
paramStart |
A user specified starting parameter vector param taking
the form c(vgC,sigma,theta,nu) . |
startMethod |
Method used by vgFitStart in calls to
optim , default is "Nelder-Mead". See Details. |
startValues |
Code giving the method of determining starting values for finding the maximum likelihood estimate of param, default method is "SL". See Details. |
method |
Different optimisation methods to consider, default is "Nelder-Mead". See Details. |
hessian |
Logical. If TRUE the value of the hessian is
returned. |
plots |
Logical. If FALSE suppresses printing of the
histogram, log-histogram, Q-Q plot and P-P plot. |
printOut |
Logical. If FALSE suppresses printing of
results of fitting. |
controlBFGS |
A list of control parameters for optim when using
the "BFGS" optimisation. |
controlNM |
A list of control parameters for optim
when using the "Nelder-Mead" optimisation. |
maxitNLM |
A positive integer specifying the maximum number of
iterations when using the "nlm" optimisation. |
digits |
Desired number of digits when the object is printed. |
which |
If a subset of the plots is required, specify a subset of
the numbers 1:4 . |
plotTitles |
Titles to appear above the plots. |
ask |
Logical. If TRUE , the user is asked before
each plot, see par(ask = .) . |
... |
Passes arguments to par , hist ,
logHist , qqhyperb and pphyperb . |
startMethod
can be either "BFGS"
or
"Nelder-Mead"
.
startValues
can be one of the following:
"US"
"SL"
"MoM"
For the details concerning the use of paramStart
,
startMethod
, and startValues
, see
vgFitStart
.
The three optimisation methods currently available are:
"BFGS"
"BFGS"
as
documented in optim
."Nelder-Mead"
optim
."nlm"
nlm
function in R.
For details of how to pass control information for optimisation using
optim
and nlm
, see optim
and
nlm.
When method = "Nelder-Mead"
is used, very rarely, it would return an
error message of "error in optim(paramStart,...)", use method = "BFGS"
or method = "nlm"
instead in that case.
When method = "nlm"
is used, warnings may be produced. These do
not appear to be a problem.
A list with components:
param |
A vector giving the maximum likelihood estimate of
param, as (c,sigma,theta,nu) . |
maxLik |
The value of the maximised log-likelihood. |
hessian |
If hessian was set to TRUE , the value
of the hessian. Not present otherwise. |
method |
Optimisation method used. |
conv |
Convergence code. See the relevant documentation (either
optim or nlm ) for details on
convergence. |
iter |
Number of iterations of optimisation routine. |
obs |
The data used to fit the hyperbolic distribution. |
obsName |
A character string with the actual obs argument
name. |
paramStart |
Starting value of param returned by call to
vgFitStart . |
svName |
Descriptive name for the method finding start values. |
startValues |
Acronym for the method of finding start values. |
breaks |
The cell boundaries found by a call to
hist . |
midpoints |
The cell midpoints found by a call to
hist . |
empDens |
The estimated density found by a call to
hist . |
David Scott d.scott@auckland.ac.nz, Christine Yang Dong c.dong@auckland.ac.nz
Seneta, E. (2004). Fitting the variance-gamma model to financial data. J. Appl. Prob., 41A:177–187.
optim
, nlm
, par
,
hist
, logHist
,
qqvg
, ppvg
,
dskewlap
and
vgFitStart
.
param <- c(0,0.5,0,0.5) dataVector <- rvg(500, param = param) ## See how well vgFit works vgFit(dataVector) vgFit(dataVector, plots = TRUE) fit <- vgFit(dataVector) par(mfrow = c(1,2)) plot(fit, which = c(1,3)) ## Use nlm instead of default param <- c(0,0.5,0,0.5) dataVector <- rvg(500, param = param) vgFit(dataVector, method = "nlm", hessian = TRUE) ## Use BFGS instead of deault param <- c(0,0.5,0,0.5) dataVector <- rvg(500, param = param) vgFit(dataVector, method = "BFGS", hessian = TRUE)