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 characteristed by a Normal distribution.
dist_lognormal(mu = 0, sigma = 1)
The mean (location parameter) of the distribution, which is the mean of the associated Normal distribution. Can be any real number.
The standard deviation (scale parameter) of the distribution. Can be any positive number.
We recommend reading this documentation on https://pkg.mitchelloharawild.com/distributional/, where the math will render nicely.
In the following, let \(Y\) be a Normal random variable with mean
mu
= \(\mu\) and standard deviation sigma
= \(\sigma\). The
log-normal distribution \(X = exp(Y)\) is characterised by:
Support: \(R+\), the set of all real numbers greater than or equal to 0.
Mean: \(e^(\mu + \sigma^2/2\)
Variance: \((e^(\sigma^2)-1) e^(2\mu + \sigma^2\)
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):
The cumulative distribution function has the form
$$ F(x) = \Phi((\ln{x} - \mu)/\sigma) $$
Where \(Phi\) is the CDF of a standard Normal distribution, N(0,1).
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.732374 2.301688 2.224653 3.076163 2.818915 3.112390 2.965924 3.056765
#> [9] 2.569113 2.520472
#>
#> [[2]]
#> [1] 7.991524 8.049289 6.362859 7.623499 6.522453 7.234229 6.811102 8.089465
#> [9] 7.138470 7.647160
#>
#> [[3]]
#> [1] 19.77799 22.37488 22.69816 18.85270 18.09908 18.99676 20.81701 19.12656
#> [9] 19.19311 16.38599
#>
#> [[4]]
#> [1] 51.74574 59.61943 45.45413 62.01958 51.04137 56.21816 53.07083 55.36653
#> [9] 60.31669 50.61395
#>
#> [[5]]
#> [1] 141.3567 141.5162 151.8753 181.3053 136.7772 188.2121 138.7577 162.8612
#> [9] 138.1926 143.2714
#>
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)