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

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

Introduction

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

Prototype

public WeibullDistributionImpl(double alpha, double beta) 

Source Link

Document

Creates weibull distribution with the given shape and scale and a location equal to zero.

Usage

From source file:de.tud.kom.p2psim.impl.churn.KadChurnModel.java

public KadChurnModel() {
    sessionTime = new WeibullDistributionImpl(0.61511, 169.5385);
    interSessionTime = new WeibullDistributionImpl(0.47648, 413.6765);
}

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;//ww w  .  j  a v a 2  s . c  o  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:eu.optimis.infrastructureproviderriskassessmenttool.core.InfrastructureProviderRiskAssessmentServer.java

public double calculatePhyHostPoF(String hostName, Long timePeriod) {
    if (timePeriod == null) {
        timePeriod = new Long(24);
    }/*from w w  w .ja v a2  s.  c  om*/
    double pof = 0.0;
    long alreadyOnTime = 1000 * 3600 * 24;
    String last_reboot_ts = null;
    double a = 0.3455;
    double m = 265000;
    getClient MonClient = null;

    try {
        PropertiesConfiguration configOptimis = ConfigManager
                .getPropertiesConfiguration(ConfigManager.OPTIMIS_CONFIG_FILE);
        PropertiesConfiguration configIPRA = ConfigManager
                .getPropertiesConfiguration(ConfigManager.IPRA_CONFIG_FILE);
        a = Double.parseDouble(configIPRA.getString("config.weibullpara1"));
        m = Double.parseDouble(configIPRA.getString("config.weibullpara2"));
        MonClient = new getClient(configOptimis.getString("optimis-ipvm"),
                Integer.parseInt(configOptimis.getString("monitoringport")),
                configOptimis.getString("monitoringpath"));
    } catch (Throwable ex) {
        ex.printStackTrace();
    }

    WeibullDistribution wbd = new WeibullDistributionImpl(a, m);
    log.info("IPRA: hostName is: " + hostName);
    MonitoringResourceDatasets mrd = MonClient.getLatestReportForPhysical(hostName);
    List<MonitoringResourceDataset> resources = mrd.getMonitoring_resource();

    for (MonitoringResourceDataset resource : resources) {
        if (resource.getMetric_name().equals("last_reboot")) {
            last_reboot_ts = resource.getMetric_value().toString();
            log.debug("IPRA: last reboot time stamp is: " + last_reboot_ts);
            alreadyOnTime = Long.parseLong(
                    last_reboot_ts.substring(last_reboot_ts.indexOf('(') + 1, last_reboot_ts.indexOf(')')));
            log.debug("IPRA: elapse_time_secs: " + alreadyOnTime);
            break;
        }
    }

    try {
        pof = (wbd.cumulativeProbability(alreadyOnTime + timePeriod * 3600)
                - wbd.cumulativeProbability(alreadyOnTime)) / (1 - wbd.cumulativeProbability(alreadyOnTime));
        log.debug("IPRA: Prob(X < " + timePeriod + " hours) is " + pof);
    } catch (Exception e) {
    }

    return pof;
}

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

WeibullDistribution getWeibullDistribution(double param, double param2) {
    if (weibull == null)
        weibull = new WeibullDistributionImpl(param, param2);
    else {//from  w  w w . j  av a 2s .c om
        weibull.setShape(param);
        weibull.setScale(param2);
    }
    return weibull;
}

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

/**
 * @param param//  w ww. j ava 2s.  c o m
 *            shape
 * @param param2
 *            scale
 * @return Weibull distribution
 */
WeibullDistribution getWeibullDistribution(double param, double param2) {
    if (weibull == null || weibull.getShape() != param || weibull.getScale() != param2)
        weibull = new WeibullDistributionImpl(param, param2);

    return weibull;
}

From source file:org.peerfact.impl.churn.model.ZeroAccessChurnModel.java

public ZeroAccessChurnModel() {
    sessionTime = new WeibullDistributionImpl(1.098592, 50.7444);
    interSessionTime = new WeibullDistributionImpl(5.8533, 181.004);
}

From source file:org.renjin.Distributions.java

public static double dweibull(final double x, final double shape, final double scale, boolean log) {
    return d(new WeibullDistributionImpl(shape, scale), x, log);
}

From source file:org.renjin.Distributions.java

public static double pweibull(final double q, final double shape, final double scale, boolean lowerTail,
        boolean logP) {
    return p(new WeibullDistributionImpl(shape, scale), q, lowerTail, logP);
}

From source file:org.renjin.Distributions.java

public static double qweibull(final double p, final double shape, final double scale, boolean lowerTail,
        boolean logP) {
    return q(new WeibullDistributionImpl(shape, scale), p, lowerTail, logP);
}

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

public static double dweibull(@Recycle double x, @Recycle double shape, @Recycle double scale, boolean log) {
    return d(new WeibullDistributionImpl(shape, scale), x, log);
}