The log-normal distribution is a commonly used transformation of the Normal distribution. If \(X\) follows a log-normal distribution, then \(\ln{X}\) would be characterised by a Normal distribution.
dist_lognormal(mu = 0, sigma = 1)We recommend reading this documentation on pkgdown which renders math nicely. https://pkg.mitchelloharawild.com/distributional/reference/dist_lognormal.html
In the following, let \(X\) be a log-normal random variable with
mu = \(\mu\) and sigma = \(\sigma\).
Support: \(R^+\), the set of positive real numbers.
Mean: \(e^{\mu + \sigma^2/2}\)
Variance: \((e^{\sigma^2} - 1) e^{2\mu + \sigma^2}\)
Skewness: \((e^{\sigma^2} + 2) \sqrt{e^{\sigma^2} - 1}\)
Excess Kurtosis: \(e^{4\sigma^2} + 2 e^{3\sigma^2} + 3 e^{2\sigma^2} - 6\)
Probability density function (p.d.f):
$$ f(x) = \frac{1}{x\sqrt{2 \pi \sigma^2}} e^{-(\ln{x} - \mu)^2 / (2 \sigma^2)} $$
Cumulative distribution function (c.d.f):
$$ F(x) = \Phi\left(\frac{\ln{x} - \mu}{\sigma}\right) $$
where \(\Phi\) is the c.d.f. of the standard Normal distribution.
Moment generating function (m.g.f):
Does not exist in closed form.
dist <- dist_lognormal(mu = 1:5, sigma = 0.1)
dist
#> <distribution[5]>
#> [1] lN(1, 0.01) lN(2, 0.01) lN(3, 0.01) lN(4, 0.01) lN(5, 0.01)
mean(dist)
#> [1] 2.731907 7.426094 20.186216 54.871824 149.157083
variance(dist)
#> [1] 0.07500759 0.55423526 4.09527545 30.26022006 223.59446360
skewness(dist)
#> [1] 0.3017591 0.3017591 0.3017591 0.3017591 0.3017591
kurtosis(dist)
#> [1] 0.1623239 0.1623239 0.1623239 0.1623239 0.1623239
generate(dist, 10)
#> [[1]]
#> [1] 2.840998 2.547219 3.006535 2.690661 2.807004 2.611946 2.358359 2.482696
#> [9] 2.952893 2.384222
#>
#> [[2]]
#> [1] 8.222861 7.479137 8.649743 8.659774 6.384512 8.145930 8.260255 9.600144
#> [9] 6.190430 5.345526
#>
#> [[3]]
#> [1] 20.71173 19.73855 21.45053 20.06781 20.95095 21.43447 20.88472 18.59968
#> [9] 21.88265 19.38821
#>
#> [[4]]
#> [1] 56.86405 55.60589 45.25569 51.87961 53.74228 61.65259 54.82914 56.81161
#> [9] 62.11890 59.54112
#>
#> [[5]]
#> [1] 157.8453 127.9634 150.4482 168.9324 130.4428 134.5977 173.8252 145.4930
#> [9] 151.0819 163.0845
#>
density(dist, 2)
#> [1] 1.799910e-02 1.637111e-37 5.539330e-116 6.972494e-238 0.000000e+00
density(dist, 2, log = TRUE)
#> [1] -4.017433 -84.702715 -265.387997 -546.073279 -926.758561
cdf(dist, 4)
#> [1] 9.999440e-01 4.203228e-10 7.003186e-59 6.915322e-151 2.970982e-286
quantile(dist, 0.7)
#> [1] 2.864632 7.786878 21.166930 57.537681 156.403632
# A log-normal distribution X is exp(Y), where Y is a Normal distribution of
# the same parameters. So log(X) will produce the Normal distribution Y.
log(dist)
#> <distribution[5]>
#> [1] N(1, 0.01) N(2, 0.01) N(3, 0.01) N(4, 0.01) N(5, 0.01)