Example usage for org.apache.commons.math.distribution FDistributionImpl FDistributionImpl

List of usage examples for org.apache.commons.math.distribution FDistributionImpl FDistributionImpl

Introduction

In this page you can find the example usage for org.apache.commons.math.distribution FDistributionImpl FDistributionImpl.

Prototype

public FDistributionImpl(double numeratorDegreesOfFreedom, double denominatorDegreesOfFreedom) 

Source Link

Document

Create a F distribution using the given degrees of freedom.

Usage

From source file:geogebra.kernel.statistics.AlgoDistribution.java

FDistribution getFDistribution(double param, double param2) {
    if (f == null)
        f = new FDistributionImpl(param, param2);
    else {//from w  w w.  ja  v  a2 s.  c om
        f.setNumeratorDegreesOfFreedom(param);
        f.setDenominatorDegreesOfFreedom(param2);
    }
    return f;
}

From source file:edu.utexas.cs.tactex.servercustomers.factoredcustomer.ProbabilityDistribution.java

ProbabilityDistribution(FactoredCustomerService service, Element xml) {
    if (null == randomSeedRepo)
        randomSeedRepo = (RandomSeedRepo) SpringApplicationContext.getBean("randomSeedRepo");

    type = Enum.valueOf(DistType.class, xml.getAttribute("distribution"));
    switch (type) {
    case POINTMASS:
    case DEGENERATE:
        param1 = Double.parseDouble(xml.getAttribute("value"));
        sampler = new DegenerateSampler(param1);
        break;/* w  w w  .ja v a  2  s . co m*/
    case UNIFORM:
        param1 = Double.parseDouble(xml.getAttribute("low"));
        param2 = Double.parseDouble(xml.getAttribute("high"));
        sampler = new UniformSampler(param1, param2);
        break;
    case INTERVAL:
        param1 = Double.parseDouble(xml.getAttribute("mean"));
        param2 = Double.parseDouble(xml.getAttribute("stdDev"));
        param3 = Double.parseDouble(xml.getAttribute("low"));
        param4 = Double.parseDouble(xml.getAttribute("high"));
        sampler = new IntervalSampler(param1, param2, param3, param4);
        break;
    case NORMAL:
    case GAUSSIAN:
        param1 = Double.parseDouble(xml.getAttribute("mean"));
        param2 = Double.parseDouble(xml.getAttribute("stdDev"));
        sampler = new ContinuousSampler(new NormalDistributionImpl(param1, param2));
        break;
    case STDNORMAL:
        param1 = 0;
        param2 = 1;
        sampler = new ContinuousSampler(new NormalDistributionImpl(param1, param2));
        break;
    case LOGNORMAL:
        param1 = Double.parseDouble(xml.getAttribute("expMean"));
        param2 = Double.parseDouble(xml.getAttribute("expStdDev"));
        sampler = new LogNormalSampler(param1, param2);
        break;
    case CAUCHY:
        param1 = Double.parseDouble(xml.getAttribute("median"));
        param2 = Double.parseDouble(xml.getAttribute("scale"));
        sampler = new ContinuousSampler(new CauchyDistributionImpl(param1, param2));
        break;
    case BETA:
        param1 = Double.parseDouble(xml.getAttribute("alpha"));
        param2 = Double.parseDouble(xml.getAttribute("beta"));
        sampler = new ContinuousSampler(new BetaDistributionImpl(param1, param2));
        break;
    case BINOMIAL:
        param1 = Double.parseDouble(xml.getAttribute("trials"));
        param2 = Double.parseDouble(xml.getAttribute("success"));
        sampler = new DiscreteSampler(new BinomialDistributionImpl((int) param1, param2));
        break;
    case POISSON:
        param1 = Double.parseDouble(xml.getAttribute("lambda"));
        sampler = new DiscreteSampler(new PoissonDistributionImpl(param1));
        break;
    case CHISQUARED:
        param1 = Double.parseDouble(xml.getAttribute("dof"));
        sampler = new ContinuousSampler(new ChiSquaredDistributionImpl(param1));
        break;
    case EXPONENTIAL:
        param1 = Double.parseDouble(xml.getAttribute("mean"));
        sampler = new ContinuousSampler(new ExponentialDistributionImpl(param1));
        break;
    case GAMMA:
        param1 = Double.parseDouble(xml.getAttribute("alpha"));
        param2 = Double.parseDouble(xml.getAttribute("beta"));
        sampler = new ContinuousSampler(new GammaDistributionImpl(param1, param2));
        break;
    case WEIBULL:
        param1 = Double.parseDouble(xml.getAttribute("alpha"));
        param2 = Double.parseDouble(xml.getAttribute("beta"));
        sampler = new ContinuousSampler(new WeibullDistributionImpl(param1, param2));
        break;
    case STUDENT:
        param1 = Double.parseDouble(xml.getAttribute("dof"));
        sampler = new ContinuousSampler(new TDistributionImpl(param1));
        break;
    case SNEDECOR:
        param1 = Double.parseDouble(xml.getAttribute("d1"));
        param2 = Double.parseDouble(xml.getAttribute("d2"));
        sampler = new ContinuousSampler(new FDistributionImpl(param1, param2));
        break;
    default:
        throw new Error("Invalid probability distribution type!");
    }
    sampler.reseedRandomGenerator(service.getRandomSeedRepo()
            .getRandomSeed("factoredcustomer.ProbabilityDistribution", SeedIdGenerator.getId(), "Sampler")
            .getValue());
}

From source file:geogebra.common.kernel.statistics.AlgoDistribution.java

/**
 * @param param// w w  w .  j a v a  2  s .  c o  m
 *            degrees of freedom (numerator)
 * @param param2
 *            degrees of freedom (denominator)
 * @return F-distribution
 */
protected FDistribution getFDistribution(double param, double param2) {
    if (f == null || f.getDenominatorDegreesOfFreedom() != param2 || f.getNumeratorDegreesOfFreedom() != param)
        f = new FDistributionImpl(param, param2);

    return f;
}

From source file:org.renjin.Distributions.java

public static double df(final double x, final double df1, final double df2, boolean log) {
    return d(new FDistributionImpl(df1, df2), x, log);
}

From source file:org.renjin.Distributions.java

public static double pf(final double q, final double df1, final double df2, boolean lowerTail, boolean logP) {
    return p(new FDistributionImpl(df1, df2), q, lowerTail, logP);
}

From source file:org.renjin.Distributions.java

public static double qf(final double p, final double df1, final double df2, boolean lowerTail, boolean logP) {
    return q(new FDistributionImpl(df1, df2), p, lowerTail, logP);
}

From source file:org.renjin.primitives.random.Distributions.java

public static double df(@Recycle double x, @Recycle double df1, @Recycle double df2, boolean log) {
    return d(new FDistributionImpl(df1, df2), x, log);
}

From source file:org.renjin.primitives.random.Distributions.java

public static double pf(@Recycle double q, @Recycle double df1, @Recycle double df2, boolean lowerTail,
        boolean logP) {
    return p(new FDistributionImpl(df1, df2), q, lowerTail, logP);
}

From source file:org.renjin.primitives.random.Distributions.java

public static double qf(@Recycle double p, @Recycle double df1, @Recycle double df2, boolean lowerTail,
        boolean logP) {
    return q(new FDistributionImpl(df1, df2), p, lowerTail, logP);
}

From source file:org.renjin.stats.internals.Distributions.java

@DataParallel
@Internal//from  w  w w  .  j  a  va  2 s  .com
public static double df(@Recycle double x, @Recycle double df1, @Recycle double df2, boolean log) {
    return d(new FDistributionImpl(df1, df2), x, log);
}