import static java.lang.System.out;

import java.util.*;

 

import javastat.*;

import javastat.probability.*;

import static javastat.util.Argument.*;

import static javastat.util.DistributionType.*;

import static javastat.util.Output.*;

 

/**

 *

 * <p>Example: class Probability.</p>

 */

 

public class ProbabilityExample

{

 

    public static void main(String arg[])

    {

        double[] normalPara = {1.0, 2.0};

        double[] normalPercentiles = {1 -1.96 * 2, 1 + 1.96 * 2};

        double normalX = normalPara[0];

        double normalProb = 0.90;

        Probability normal =

            new Probability(NORMAL, normalPara, normalPercentiles,

normalX, normalProb);

 

        double[] betaPara = {2.0, 3.0};

        double[] betaPercentiles = {0.0, 0.5};

        double betaX = 0.5;

        double betaProb = 0.90;

        Probability beta =

            new Probability(BETA, betaPara, betaPercentiles, betaX,

betaProb);

 

        double[] binomialPara = {10.0, 0.3};

        double[] binomialPercentiles = {0.0, 5.0};

        double binomialX = 5.0;

        double binomialProb = 0.96;

        Probability binomial =

            new Probability(BINOMIAL, binomialPara, binomialPercentiles,

                          binomialX, binomialProb);

 

        double[] cauchyPara = {0.0, 1.0};

        double[] cauchyPercentiles = {-2.0, 2.0};

        double cauchyX = 0.0;

        double cauchyProb = 0.90;

        Probability cauchy =

            new Probability(CAUCHY, cauchyPara, cauchyPercentiles,

cauchyX, cauchyProb);

 

        double[] chisquarePara = {1.0};

        double[] chisquarePercentiles = {1.0, 2.0};

        double chisquareX = 1.0;

        double chisquareProb = 0.90;

        Probability chisquare =

            new Probability(CHISQUARE, chisquarePara, chisquarePercentiles,

chisquareX, chisquareProb);

 

        double[] exponentialPara = {2.0};

        double[] exponentialPercentiles = {1.0, 2.0};

        double exponentialX = 1.0;

        double exponentialProb = 0.90;

        Probability exponential =

            new Probability(EXPONENTIAL, exponentialPara,

                          exponentialPercentiles, exponentialX, exponentialProb);

 

        double[] fPara = {2.0, 3.0};

        double[] fPercentiles = {0.0, 4.0};

        double fX = 7.0;

        double fProb = 0.95;

        Probability f = new Probability(F, fPara, fPercentiles, fX, fProb);

 

        double[] gammaPara = {2.0, 3.0};

        double[] gammaPercentiles = {0.0, 2.0};

        double gammaX = 1.0;

        double gammaProb = 0.95;

        Probability gamma =

new Probability(GAMMA, gammaPara, gammaPercentiles,

                          gammaX, gammaProb);

 

        double[] geometricPara = {0.6};

        double[] geometricPercentiles = {0.0, 2.0};

        double geometricX = 1.0;

        double geometricProb = 0.92;

        Probability geometric =

            new Probability(GEOMETRIC, geometricPara,

                          geometricPercentiles, geometricX,

                          geometricProb);

 

        double[] hypergeometricPara = {50, 10, 20};

        double[] hypergeometricPercentiles = {0.0, 4.0};

        double hypergeometricX = 1.0;

        double hypergeometricProb = 0.90;

        Probability hypergeometric =

            new Probability(HYPERGEOMETRIC, hypergeometricPara,

                          hypergeometricPercentiles, hypergeometricX,

                          hypergeometricProb);

 

        double[] lognormalPara = {0.0, 1.0};

        double[] lognormalPercentiles = {0.0, 2.0};

        double lognormalX = 1.0;

        double lognormalProb = 0.95;

        Probability lognormal =

            new Probability(LOGNORMAL, lognormalPara, lognormalPercentiles,

lognormalX, lognormalProb);

 

        double[] negativeBinomialPara = {3.0, 0.7};

        double[] negativeBinomialPercentiles = {0.0, 2.0};

        double negativeBinomialX = 3.0;

        double negativeBinomialProb = 0.95;

        Probability negativeBinomial =

            new Probability(NEGATIVE_BINOMIAL, negativeBinomialPara,

                         negativeBinomialPercentiles, negativeBinomialX,

                         negativeBinomialProb);

        double[] paretoPara = {2.0, 3.0};

        double[] paretoPercentiles = {3.0, 7.0};

        double paretoX = 4.0;

        double paretoProb = 0.9;

        Probability pareto =

            new Probability(PARETO, paretoPara, paretoPercentiles,

                          paretoX, paretoProb);

 

        double[] poissonPara = {5.0};

        double[] poissonPercentiles = {3.0, 7.0};

        double poissonX = 5.0;

        double poissonProb = 0.9;

        Probability poisson =

            new Probability(POISSON, poissonPara, poissonPercentiles,

                          poissonX, poissonProb);

 

        double[] tPara = {9.0};

        double[] tPercentiles = {-2.0, 2.0};

        double tX = 0.0;

        double tProb = 0.95;

        Probability t =

            new Probability(T, tPara, tPercentiles, tX, tProb);

 

        double[] weibullPara = {3.0};

        double[] weibullPercentiles = {0.0, 1.0};

        double weibullX = 1.0;

        double weibullProb = 0.95;

        Probability weibull =

            new Probability(WEIBULL, weibullPara, weibullPercentiles,

weibullX, weibullProb);

 

        Hashtable argument = new Hashtable();

        argument.put(DISTRIBUTION_TYPE, NORMAL);

        argument.put(DISTRIBUTION_PARAMETER, normalPara);

        StatisticalAnalysis testclass1 =

            new Probability(argument, normalPercentiles, normalX,

normalProb).statisticalAnalysis;

    }

 

}

 

Results:

Normal Probability          : 0.950004209703559

Normal Density             : 0.19947114020071632

Normal Percentile           : 3.5631031310892016

Beta Probability             : 0.6875000000000002

Beta Density                : 1.4999999999999993

Beta Percentile              : 0.6795394162781816

Binomial Probability          : 0.9526510126000015

Binomial Density             : 0.10291934520000023

Binomial Percentile           : 6.0

Cauchy Probability           : 0.7048327646991335

Cauchy Density              : 0.3183098861837907

Cauchy Percentile            : 3.0776835371752522

Chi-Square Probability        : 0.16001130081262904

Chi-Square Density           : 0.2419707245191434

Chi-Square Percentile         : 2.7055434540954097

Exponential Probability        : 0.11701964434787848

Exponential Density           : 0.2706705664732254

Exponential Percentile         : 1.151292546497023

F Probability                 : 0.8575728269453381

F Density                    : 0.013082201477078297

F Percentile                  : 9.55209449592116

Gamma Probability           : 0.9826485115999873

Gamma Density              : 0.4480836153107755

Gamma Percentile            : 1.581290000001892

Geometric Probability         : 0.9359999999999999

Geometric Density            : 0.24

Geometric Percentile          : 2.0

Hypergeometric Probability   : 0.6450268898822081

Hypergeometric Density      : 0.027855846119478674

Hypergeometric Percentile    : 6.0

Log-Normal Probability       : 0.7558914042144173

Log-Normal Density          : 0.39894228040143265

Log-Normal Percentile        : 5.180251602233011

Negative-Binomial Probability : 0.8369199999999999

Negative-Binomial Density   : 0.09261000000000001

Negative-Binomial Percentile : 4.0

Pareto Probability           : 0.8163265306122449

Pareto Density              : 0.28125

Pareto Percentile            : 9.48683298050514

Poisson Probability          : 0.7419763064469117

Poisson Density             : 0.17546736976785085

Poisson Percentile           : 8.0

T Probability                : 0.9234471762292991

T Density                   : 0.38803490887166847

T Percentile                 : 1.8331129326562365

Weibull Probability           : 0.6321205588285577

Weibull Density              : 1.103638323514327

Weibull Percentile            : 1.4415653427904531

 

Normal Distribution          :{INVERSE=3.5631031310892016,

   PROBABILITY=0.19947114020071632,

CUMULATIVE=0.950004209703559}

 

See also:

Probability Distribution,

The Binomial Probability Distribution,

The Poisson Probability Distribution,

The Hypergeometric Probability Distribution,

The Uniform Probability Density,

The Normal Probability Density,

The Exponential Density