当前位置: 首页>>代码示例>>Java>>正文


Java EmpiricalDistribution.load方法代码示例

本文整理汇总了Java中org.apache.commons.math3.random.EmpiricalDistribution.load方法的典型用法代码示例。如果您正苦于以下问题:Java EmpiricalDistribution.load方法的具体用法?Java EmpiricalDistribution.load怎么用?Java EmpiricalDistribution.load使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在org.apache.commons.math3.random.EmpiricalDistribution的用法示例。


在下文中一共展示了EmpiricalDistribution.load方法的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: printTaskHistogram

import org.apache.commons.math3.random.EmpiricalDistribution; //导入方法依赖的package包/类
private void printTaskHistogram(ArrayList<DTask> tasks) {

        double[] data = new double[tasks.size()];
        for (int i=0; i<tasks.size(); i++) {
            data[i] = tasks.get(i).getTime();
        }

        EmpiricalDistribution d = new EmpiricalDistribution(30);
        d.load(data);

        for (SummaryStatistics stats : d.getBinStats()) {
            StringBuilder buf = new StringBuilder();
            for (int i=0, len=Math.round(stats.getN()/50f); i<len; i++) {
                buf.append('#');
            }
            System.err.println(buf);
        }
    }
 
开发者ID:MASPlanes,项目名称:MASPlanes,代码行数:19,代码来源:Generator.java

示例2: createDayMockDistribution

import org.apache.commons.math3.random.EmpiricalDistribution; //导入方法依赖的package包/类
public static AbstractRealDistribution createDayMockDistribution(final int seed) {
    final EmpiricalDistribution dayDistributionMock = new EmpiricalDistribution(new Well19937c(seed));

    int[] demandsOverDay = new int[]{/* 0 */9,/* 1 */6,/* 2 */6,
    /* 3 */6,/* 4 */7,/* 5 */12,/* 6 */25,/* 7 */37,/* 8 */49,
    /* 9 */38,/* 10 */30,/* 11 */30,/* 12 */30,/* 13 */30,/* 14 */31,
    /* 15 */36,/* 16 */45,/* 17 */41,/* 18 */31,/* 19 */27,/* 20 */25,/* 21 */22,/* 22 */18,/* 23 */11};

    List<Double> dayHourDistribution = Lists.newArrayList();

    int day = 0;
    for (int demand : demandsOverDay) {
        double hourInMillis = Duration.standardHours(day).getMillis();
        for (int i = 0; i < demand; i++) {
            dayHourDistribution.add(hourInMillis);
        }
        day++;
    }

    dayDistributionMock.load(Doubles.toArray(dayHourDistribution));

    return dayDistributionMock;

}
 
开发者ID:agents4its,项目名称:mobilitytestbed,代码行数:25,代码来源:LenientPassengerGenerator.java

示例3: Histogram

import org.apache.commons.math3.random.EmpiricalDistribution; //导入方法依赖的package包/类
private Histogram(HistogramBuilder histogramBuilder){
    this.data = histogramBuilder.data;
    this.width = histogramBuilder.width;
    this.bins = histogramBuilder.bins;

    // Create a distribution of data for bins number of bins
    dist = new EmpiricalDistribution(bins);
    dist.load(data.getSecond());
}
 
开发者ID:dvdmllr,项目名称:textplots,代码行数:10,代码来源:Histogram.java

示例4: makeEmpirical

import org.apache.commons.math3.random.EmpiricalDistribution; //导入方法依赖的package包/类
/** Create empirical distribution from given samples.
 * 
 * @param samples Samples (does not need to be distinct) to use.
 * @return Empirical distribution built from the samples.
 */
public static EmpiricalDistribution makeEmpirical(double[] samples) {
	/* Be deterministic for now. */
	RandomGenerator gen = new JDKRandomGenerator();
	gen.setSeed(0);
	
	EmpiricalDistribution result = new EmpiricalDistribution(samples.length / 10 + 1, gen);
	result.load(samples);
	
	return result;
}
 
开发者ID:D-iii-S,项目名称:spl-evaluation-java,代码行数:16,代码来源:DistributionUtils.java

示例5: getDistribution

import org.apache.commons.math3.random.EmpiricalDistribution; //导入方法依赖的package包/类
private EmpiricalDistribution getDistribution(final Collection<Long> listValues) {
	double[] values = new double[listValues.size()];
	int j = 0;
	for (Long measurements : listValues) {
		values[j] = measurements.doubleValue();
		j++;
	}
	EmpiricalDistribution distribution = new EmpiricalDistribution(listValues.size() > 20 ? listValues.size() / 20 : 1);
	distribution.load(values);
	return distribution;
}
 
开发者ID:DaGeRe,项目名称:KoPeMe,代码行数:12,代码来源:KoPeMeStaticRigorTestcase.java

示例6: createDayMockDistribution

import org.apache.commons.math3.random.EmpiricalDistribution; //导入方法依赖的package包/类
public static AbstractRealDistribution createDayMockDistribution(final int seed) {
    int intermediateStepsCount = 60;
    final EmpiricalDistribution dayDistributionMock = new EmpiricalDistribution(24 * intermediateStepsCount, new Well19937c(seed));

    int[] demandsOverDay = new int[]{/* 0 */9,/* 1 */6,/* 2 */6,
    /* 3 */6,/* 4 */7,/* 5 */12,/* 6 */25,/* 7 */37,/* 8 */49,
    /* 9 */38,/* 10 */30,/* 11 */30,/* 12 */30,/* 13 */30,/* 14 */31,
    /* 15 */36,/* 16 */45,/* 17 */41,/* 18 */31,/* 19 */27,/* 20 */25,/* 21 */22,/* 22 */18,/* 23 */11};


    List<Double> dayHourDistribution = Lists.newArrayList();

    int hour = 0;
    for (int i = 0; i < demandsOverDay.length - 1; ++i) {

        double startHourInMillis = Duration.standardHours(hour).getMillis();
        double endHourInMillis = Duration.standardHours(hour + 1).getMillis();

        double demandsStep = ((double) (demandsOverDay[hour] -
                demandsOverDay[(hour + 1) % 24])) / intermediateStepsCount;
        double timeStep = (endHourInMillis - startHourInMillis) / intermediateStepsCount;

        for (int j = 0; j < intermediateStepsCount; ++j) {
            int demands = (int) (demandsOverDay[i] + demandsStep * j);
            for (int k = 0; k < demands; ++k)
                dayHourDistribution.add(startHourInMillis + j * timeStep);
        }

        hour++;
    }

    dayDistributionMock.load(Doubles.toArray(dayHourDistribution));

    return dayDistributionMock;

}
 
开发者ID:agents4its,项目名称:mobilitytestbed,代码行数:37,代码来源:PassengerGeneratorWithContinousRequestCallTimeDistribution.java

示例7: doBins

import org.apache.commons.math3.random.EmpiricalDistribution; //导入方法依赖的package包/类
public static BinnedData doBins(IDocument<?> o)
{
  // collate the values into an array
  double[] data = new double[o.size()];
  
  // Add the data from the array
  Iterator<Double> oIter = o.getIndexIterator();
  int ctr = 0;
  while(oIter.hasNext())
  {
    data[ctr++] = oIter.next();
  }
  
  // Get a DescriptiveStatistics instance
  DescriptiveStatistics stats = new DescriptiveStatistics(data);

  // also do some frequency binning
  double range = stats.getMax() - stats.getMin();

  // aah, double-check we don't have zero range
  final int binCount;
  final int maxRange = 30;
  if (range > maxRange)
  {
    binCount = maxRange;
  }
  else
  {
    binCount = (int) Math.max(2, range);
  }

  BinnedData res = new BinnedData();

  if (range > THRESHOLD_VALUE)
  {

    long[] histogram = new long[binCount];
    EmpiricalDistribution distribution = new EmpiricalDistribution(binCount);
    distribution.load(data);

    int k = 0;
    for (SummaryStatistics sStats : distribution.getBinStats())
    {
      histogram[k++] = sStats.getN();
    }

    long rangeSoFar = (long) stats.getMin();
    long rangeStep = (long) (range / binCount);
    for (int i = 0; i < histogram.length; i++)
    {
      long l = histogram[i];
      res.add(new Bin(rangeSoFar, rangeSoFar + rangeStep, l));
      rangeSoFar += rangeStep;
    }
  }
  return res;
}
 
开发者ID:debrief,项目名称:limpet,代码行数:58,代码来源:TimeFrequencyBins.java

示例8: binTheseValues

import org.apache.commons.math3.random.EmpiricalDistribution; //导入方法依赖的package包/类
public static BinnedData binTheseValues(double[] data)
{
  // Get a DescriptiveStatistics instance
  DescriptiveStatistics stats = new DescriptiveStatistics(data);

  // also do some frequency binning
  double range = stats.getMax() - stats.getMin();

  // aah, double-check we don't have zero range
  final int binCount;
  if (range > DEFAULT_NUM_BINS)
  {
    binCount = DEFAULT_NUM_BINS;
  }
  else if(range > MIN_NUM_BINS)
  {
    binCount = (int) range;
  }
  else 
  {
    binCount = MIN_NUM_BINS;
  }

  BinnedData res = new BinnedData();

  if (range > THRESHOLD_VALUE)
  {

    long[] histogram = new long[binCount];
    EmpiricalDistribution distribution = new EmpiricalDistribution(binCount);
    distribution.load(data);

    int k = 0;
    for (SummaryStatistics sStats : distribution.getBinStats())
    {
      histogram[k++] = sStats.getN();
    }

    double rangeSoFar = stats.getMin();
    double rangeStep = range / binCount;
    for (int i = 0; i < histogram.length; i++)
    {
      long l = histogram[i];
      res.add(new Bin(rangeSoFar, rangeSoFar + rangeStep, l));
      rangeSoFar += rangeStep;
    }
  }
  return res;
}
 
开发者ID:debrief,项目名称:limpet,代码行数:50,代码来源:QuantityFrequencyBins.java

示例9: Statistics

import org.apache.commons.math3.random.EmpiricalDistribution; //导入方法依赖的package包/类
public Statistics(List<Integer> list) {
	scores = intsToDoubles(list);
	DescriptiveStatistics dStats = new DescriptiveStatistics(scores);

	summaryStatistics.put("min", dStats.getMin()); // Minimum
	summaryStatistics.put("q1", dStats.getPercentile(25)); // Lower Quartile (Q1)
	summaryStatistics.put("q2", dStats.getPercentile(50)); // Middle Quartile (Median - Q2)
	summaryStatistics.put("q3", dStats.getPercentile(75)); // High Quartile (Q3)
	summaryStatistics.put("max", dStats.getMax()); // Maxiumum

	summaryStatistics.put("mean", dStats.getMean()); // Mean
	summaryStatistics.put("sd", dStats.getStandardDeviation()); // Standard Deviation

	EmpiricalDistribution distribution = new EmpiricalDistribution(NUM_BINS);
	distribution.load(scores);
	List<SummaryStatistics> binStats = distribution.getBinStats();
	double[] upperBounds = distribution.getUpperBounds();

	Double lastUpperBound = upperBounds[0];
	bins.add(new Pair<Pair<Double, Double>, Long>(new Pair<Double, Double>(summaryStatistics.get("min"), lastUpperBound), binStats.get(0).getN()));
	for (int i = 1; i < binStats.size(); i++) {
		bins.add(new Pair<Pair<Double, Double>, Long>(new Pair<Double, Double>(lastUpperBound, upperBounds[i]), binStats.get(i).getN()));
		lastUpperBound = upperBounds[i];
	}

	if (list.size() > 5 && dStats.getStandardDeviation() > 0) // Only remove outliers if relatively normal
	{
		double mean = dStats.getMean();
		double stDev = dStats.getStandardDeviation();
		NormalDistribution normalDistribution = new NormalDistribution(mean, stDev);

		Iterator<Integer> listIterator = list.iterator();
		double significanceLevel = .50 / list.size(); // Chauvenet's Criterion for Outliers
		while (listIterator.hasNext()) {
			int num = listIterator.next();
			double pValue = normalDistribution.cumulativeProbability(num);
			if (pValue < significanceLevel) {
				outliers.add(num);
				listIterator.remove();
			}
		}

		if (list.size() != dStats.getN()) // If and only if outliers have been removed
		{
			double[] significantData = intsToDoubles(list);
			dStats = new DescriptiveStatistics(significantData);

			summaryStatistics.put("min", dStats.getMin());
			summaryStatistics.put("max", dStats.getMax());
			summaryStatistics.put("mean", dStats.getMean());
			summaryStatistics.put("sd", dStats.getStandardDeviation());
		}
	}
}
 
开发者ID:sushain97,项目名称:contestManagement,代码行数:55,代码来源:Statistics.java


注:本文中的org.apache.commons.math3.random.EmpiricalDistribution.load方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。