Laplace Regression Family Function
Maximum likelihood estimation of the 2-parameter classical Laplace distribution.
laplace(llocation = "identitylink", lscale = "loglink", ilocation = NULL, iscale = NULL, imethod = 1, zero = "scale")
llocation, lscale |
Character.
Parameter link functions for location parameter a and
scale parameter b.
See |
ilocation, iscale |
Optional initial values. If given, it must be numeric and values are recycled to the appropriate length. The default is to choose the value internally. |
imethod |
Initialization method. Either the value 1 or 2. |
zero |
See |
The Laplace distribution is often known as the double-exponential distribution and, for modelling, has heavier tail than the normal distribution. The Laplace density function is
f(y) = (1/(2b)) exp( -|y-a|/b )
where -Inf<y<Inf, -Inf<a<Inf and b>0. Its mean is a and its variance is 2b^2. This parameterization is called the classical Laplace distribution by Kotz et al. (2001), and the density is symmetric about a.
For y ~ 1
(where y
is the response) the maximum likelihood
estimate (MLE) for the location parameter is the sample median, and
the MLE for b is mean(abs(y-location))
(replace
location by its MLE if unknown).
An object of class "vglmff"
(see vglmff-class
).
The object is used by modelling functions such as vglm
and vgam
.
This family function has not been fully tested.
The MLE regularity conditions do not hold for this distribution,
therefore misleading inferences may result,
e.g., in the summary
and vcov
of the object.
Hence this family function might be withdrawn from VGAM
in the future.
This family function uses Fisher scoring. Convergence may be slow for non-intercept-only models; half-stepping is frequently required.
T. W. Yee
Kotz, S., Kozubowski, T. J. and Podgorski, K. (2001). The Laplace distribution and generalizations: a revisit with applications to communications, economics, engineering, and finance, Boston: Birkhauser.
rlaplace
,
alaplace2
(which differs slightly from this parameterization),
exponential
,
median
.
ldata <- data.frame(y = rlaplace(nn <- 100, loc = 2, scale = exp(1))) fit <- vglm(y ~ 1, laplace, data = ldata, trace = TRUE, crit = "l") coef(fit, matrix = TRUE) Coef(fit) with(ldata, median(y)) ldata <- data.frame(x = runif(nn <- 1001)) ldata <- transform(ldata, y = rlaplace(nn, loc = 2, scale = exp(-1 + 1*x))) coef(vglm(y ~ x, laplace(iloc = 0.2, imethod = 2, zero = 1), data = ldata, trace = TRUE), matrix = TRUE)
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.