lognormal.RdMaximum likelihood estimation of the (univariate) lognormal distribution.
lognormal(lmeanlog = "identitylink", lsdlog = "loglink", zero = "sdlog")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.
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.
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).$$
An object of class "vglmff" (see vglmff-class).
The object is used by modelling functions such as vglm,
and vgam.
Kleiber, C. and Kotz, S. (2003). Statistical Size Distributions in Economics and Actuarial Sciences, Hoboken, NJ, USA: Wiley-Interscience.
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)
#> Iteration 1: loglikelihood = -3178.0093
#> Iteration 2: loglikelihood = -2781.5331
#> Iteration 3: loglikelihood = -2510.3115
#> Iteration 4: loglikelihood = -2403.8572
#> Iteration 5: loglikelihood = -2390.7801
#> Iteration 6: loglikelihood = -2390.6061
#> Iteration 7: loglikelihood = -2390.606
#> Iteration 8: loglikelihood = -2390.606
fit2 <- vglm(y2 ~ x2, lognormal(zero = 1), data = ldata2, trace = TRUE)
#> Iteration 1: loglikelihood = -1932.8369
#> Iteration 2: loglikelihood = -1927.9917
#> Iteration 3: loglikelihood = -1927.965
#> Iteration 4: loglikelihood = -1927.965
coef(fit1, matrix = TRUE)
#> meanlog loglink(sdlog)
#> (Intercept) 1.009266 -1.03478
#> x2 1.971530 0.00000
coef(fit2, matrix = TRUE)
#> meanlog loglink(sdlog)
#> (Intercept) 0.9988778 -0.9695983
#> x2 0.0000000 0.9395985