nlFit {NormalLaplace} | R Documentation |
Fit the Normal Laplace Distribution to Data
Description
Fits a normal Laplace 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.
Usage
nlFit(x, freq = NULL, breaks = "FD", paramStart = NULL,
startMethod = "Nelder-Mead",
startValues = c("MoM", "US"),
method = c("Nelder-Mead", "BFGS", "L-BFGS-B",
"nlm", "nlminb"),
hessian = FALSE,
plots = FALSE, printOut = FALSE,
controlBFGS = list(maxit = 200),
controlLBFGSB = list(maxit = 200),
controlNLMINB = list(),
controlNM = list(maxit = 1000),
maxitNLM = 1500, ...)
## S3 method for class 'nlFit'
print(x, digits = max(3, getOption("digits") - 3), ...)
## S3 method for class 'nlFit'
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(), ...)
## S3 method for class 'nlFit'
coef(object, ...)
## S3 method for class 'nlFit'
vcov(object, ...)
Arguments
x |
Data vector for |
freq |
A vector of weights with length equal to |
breaks |
Breaks for plotted histogram, defaults to those generated by
|
paramStart |
A user specified starting parameter vector taking the form
|
startMethod |
Method used by |
startValues |
Code giving the method of determining starting values for finding the maximum likelihood estimate of the parameters. |
method |
Different optimisation methods to consider. See Details. |
hessian |
Logical. If |
plots |
Logical. If |
printOut |
Logical. If |
controlBFGS |
A list of control parameters for |
controlLBFGSB |
A list of control parameters for |
controlNLMINB |
A list of control parameters for |
controlNM |
A list of control parameters for |
maxitNLM |
A positive integer specifying the maximum number of
iterations that are to be undertaken when using the |
object |
Object of class |
digits |
Desired number of digits to be shown when the object is printed. |
which |
If a subset of the plots if required, specify a subset of
the numbers |
plotTitles |
Titles to appear as the main title above the plots. |
ask |
Logical. If |
... |
Passes arguments to |
Details
startMethod
must be "Nelder-Mead"
.
startValues
can only be "MoM"
when using the Method of
Moments for estimation, or "US"
for user-supplied parameters. For
details regarding the use of paramStart
, startMethod
and
startValues
, see nlFitStart
.
Three optimisation methods are available for use:
"BFGS"
Uses the quasi-Newton method
"BFGS"
as documented inoptim
."L-BFGS-B"
Uses the constrained method
"L-BFGS-B"
as documented inoptim
."Nelder-Mead"
Uses an implementation of the Nelder and Mead method as documented in
optim
."nlm"
Uses the
nlm
function in R."nlminb"
Uses the
nlminb
function in R, with constrained parameters.
For details on how to pass control information for optimisation using
optim
and nlm
, see optim
and
nlm
.
When method = "nlm"
or method = "nlm"
is used, warnings
may be produced. However, these do not appear to be problematic.
Value
A list with components:
param |
A vector giving the maximum likelihood estimate of
parameters, as
|
maxLik |
The value of maximised log-likelihood. |
hessian |
If |
method |
Optimisation method used. |
conv |
Convergence code. See the relevant documentation (either
|
iter |
Number of iterations made by the optimisation routine. |
obs |
The data used to fit the normal Laplace distribution. |
obsName |
A character vector with the actual |
paramStart |
Starting value of parameters returned by call to
|
svName |
Descriptive name for the method of finding start values. |
startValues |
Acronym for the method of finding start values. |
breaks |
The cell boundaries found by a call to
|
midpoints |
The cell midpoints found by a call to
|
empDens |
The estimated density found by a call to
|
Author(s)
David Scott d.scott@auckland.ac.nz, Simon Potter
See Also
optim
, nlm
, par
,
hist
, logHist
, qqnl
,
ppnl
, dnl
and
nlFitStart
.
Examples
param <- c(0, 2, 1, 1)
dataVector <- rnl(1000, param = param)
## Let's see how well nlFit works
nlFit(dataVector)
nlFit(dataVector, plots = TRUE)
fit <- nlFit(dataVector)
par(mfrow = c(1, 2))
plot(fit, which = c(1, 3)) # See only histogram and Q-Q plot