2.2.5.4. LogTriangular Law
If a random variable \(x\) follows a LogTriangular distribution, the random variable \(\ln(x)\) follows a Triangular distribution, so
\[f(x) = \frac{2 \times \ln(x/x_{\rm min})}{ x\times\ln(x_{\rm max}/x_{\rm min}) \times
\ln(x_{\rm mode}/x_{\rm min}) } \; {\rm 1\kern-0.28emI}_{[x_{\rm min},x_{\rm mode}]}(x)\]
and
\[f(x) = \frac{2 \times \ln(x_{\rm max}/x)}{ x\times\ln(x_{\rm max}/x_{\rm min}) \times
\ln(x_{\rm max}/x_{\rm mode}) } \; {\rm 1\kern-0.28emI}_{[x_{\rm mode},x_{\rm max}]}(x)\]
Uranie code to simulate a LogTriangular random variable is:
TDataServer *tds = new TDataServer("tdssampler", "Sampler Uranie demo");
tds->addAttribute( new TLogTriangularDistribution("lt", .001, 10., 2.5));
TSampling *fsamp = new TSampling(tds, "lhs", 300);
fsamp->generateSample(); // Create a representative sample
tds->Draw("lt");
tds->Draw("log(lt)"); // Check that ln(lt) follows a triangular law
Figure 2.8 shows the PDF, CDF and inverse CDF generated for different sets of parameters.
Figure 2.8 Example of PDF, CDF and inverse CDF for LogTriangular distributions.