Learn R Programming

VGAM (version 1.1-9)

lognormal: Lognormal Distribution

Description

Maximum likelihood estimation of the (univariate) lognormal distribution.

Usage

lognormal(lmeanlog = "identitylink", lsdlog = "loglink", zero = "sdlog")

Value

An object of class "vglmff" (see vglmff-class). The object is used by modelling functions such as vglm, and vgam.

Arguments

lmeanlog, lsdlog

Parameter link functions applied to the mean and (positive) \(\sigma\) (standard deviation) parameter. Both of these are on the log scale. See Links for more choices.

zero

Specifies which linear/additive predictor is modelled as intercept-only. For lognormal(), the values can be from the set {1,2} which correspond to mu, sigma, respectively. See CommonVGAMffArguments for more information.

Author

T. W. Yee

Details

A random variable \(Y\) has a 2-parameter lognormal distribution if \(\log(Y)\) is distributed \(N(\mu, \sigma^2)\). The expected value of \(Y\), which is $$E(Y) = \exp(\mu + 0.5 \sigma^2)$$ and not \(\mu\), make up the fitted values. The variance of \(Y\) is $$Var(Y) = [\exp(\sigma^2) -1] \exp(2\mu + \sigma^2).$$

References

Kleiber, C. and Kotz, S. (2003). Statistical Size Distributions in Economics and Actuarial Sciences, Hoboken, NJ, USA: Wiley-Interscience.

See Also

Lognormal, uninormal, CommonVGAMffArguments, simulate.vlm.

Examples

Run this code
ldata2 <- data.frame(x2 = runif(nn <- 1000))
ldata2 <- transform(ldata2, y1 = rlnorm(nn, 1 + 2 * x2, sd = exp(-1)),
                            y2 = rlnorm(nn, 1, sd = exp(-1 + x2)))
fit1 <- vglm(y1 ~ x2, lognormal(zero = 2), data = ldata2, trace = TRUE)
fit2 <- vglm(y2 ~ x2, lognormal(zero = 1), data = ldata2, trace = TRUE)
coef(fit1, matrix = TRUE)
coef(fit2, matrix = TRUE)

Run the code above in your browser using DataLab