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.

../../../_images/TLogTriangularDistribution.png

Figure 2.8 Example of PDF, CDF and inverse CDF for LogTriangular distributions.