Note
Go to the end to download the full example code.
Analysis of the LogNormal distribution in the BBRC¶
The goal of this document is to clarify the parametrization of the LogNormal distribution in the BBRC.
From the RPREPO¶
https://rprepo.readthedocs.io/en/latest/distributions.html#sec-lognormal
Type : univariate, continuous
Support :
Parameter : , shape
Parameter : , scale
Mean :
Variance :
From this description we see that:
is the mean of the underlying gaussian and is the standard deviation of the underlying gaussian
Mean is the Mean of the LogNormal random variable and Std is the standard deviation of the LogNormal random variable.
From OpenTURNS¶
http://openturns.github.io/openturns/master/user_manual/_generated/openturns.LogNormal.html
http://openturns.github.io/openturns/master/user_manual/_generated/openturns.LogNormalMuSigma.html
One of the two following parametrizations must be chosen:
- LogNormal with where is the mean
of the underlying gaussian and is the standard deviation of the underlying gaussian
- LogNormalMuSigma with Mean, Std where Mean is the Mean of the LogNormal random variable
and Std is the standard deviation of the LogNormal random variable.
Problem¶
The problem is to select the parametrization that best corresponds to the problem and the data. The goal of this document is to make this selection clearer.
import openturns as ot
ot.__version__
'1.23'
RP60¶
https://rprepo.readthedocs.io/en/latest/reliability_problems.html#rp60
RP60 with LogNormalMuSigma¶
Mean = 2200.0
Std = 220.0
parameters = ot.LogNormalMuSigma(Mean, Std)
X = ot.ParametrizedDistribution(parameters)
X.getMean()
X.getStandardDeviation()
RP60 with LogNormal¶
theta1 = 7.691
theta2 = 0.09975
X = ot.LogNormal(7.691, 0.09975, 0.0)
X
X.getMean()
X.getStandardDeviation()
RP8¶
https://rprepo.readthedocs.io/en/latest/reliability_problems.html#rp8
RP8 with LogNormalMuSigma¶
Mean = 120.0
Std = 12.0
parameters = ot.LogNormalMuSigma(Mean, Std)
parameters
X = ot.ParametrizedDistribution(parameters)
X
X.getMean()
X.getStandardDeviation()
RP8 with LogNormal¶
theta1 = 4.783
theta2 = 0.09975
X = ot.LogNormal(4.783, 0.09975, 0.0)
X
X.getMean()
X.getStandardDeviation()
Conclusion¶
We see that in the RP60 and RP8 problems, the Mean and Std parameters are exact while and are given with 4 significant digits. This leads to an approximation if the and parameters are used.
This is why we choose the Mean and Std parameters as the parametrization for the BBRC. This corresponds to the following code and comments:
Mean = 120.0
Std = 12.0
parameters = ot.LogNormalMuSigma(Mean, Std)
X = ot.ParametrizedDistribution(parameters)
Mean is the Mean of the LogNormal random variable
Std is the standard deviation of the LogNormal random variable.
Total running time of the script: (0 minutes 0.307 seconds)