laplace: Laplace Regression Family Function

View source: R/family.qreg.R

laplaceR Documentation

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 Links for more choices.

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.


Initialization method. Either the value 1 or 2.


See CommonVGAMffArguments for information.


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) = \frac{1}{2b} \exp \left( - \frac{|y-a|}{b} \right)

where -\infty<y<\infty, -\infty<a<\infty 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.

See Also

rlaplace, alaplace2 (which differs slightly from this parameterization), exponential, median.


ldata <- data.frame(y = rlaplace(nn <- 100, 2, scale = exp(1)))
fit <- vglm(y  ~ 1, laplace, ldata, trace = TRUE)
coef(fit, matrix = TRUE)
with(ldata, median(y))

ldata <- data.frame(x = runif(nn <- 1001))
ldata <- transform(ldata, y = rlaplace(nn, 2, scale = exp(-1 + 1*x)))
coef(vglm(y ~ x, laplace(iloc = 0.2, imethod = 2, zero = 1), ldata,
          trace = TRUE), matrix = TRUE)

VGAM documentation built on Sept. 19, 2023, 9:06 a.m.