本文整理汇总了Java中org.apache.commons.math.random.RandomData.nextGaussian方法的典型用法代码示例。如果您正苦于以下问题:Java RandomData.nextGaussian方法的具体用法?Java RandomData.nextGaussian怎么用?Java RandomData.nextGaussian使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类org.apache.commons.math.random.RandomData
的用法示例。
在下文中一共展示了RandomData.nextGaussian方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: testWeightedConsistency
import org.apache.commons.math.random.RandomData; //导入方法依赖的package包/类
/**
* Tests consistency of weighted statistic computation.
* For statistics that support weighted evaluation, this test case compares
* the result of direct computation on an array with repeated values with
* a weighted computation on the corresponding (shorter) array with each
* value appearing only once but with a weight value equal to its multiplicity
* in the repeating array.
*/
public void testWeightedConsistency() throws Exception {
// See if this statistic computes weighted statistics
// If not, skip this test
UnivariateStatistic statistic = getUnivariateStatistic();
if (!(statistic instanceof WeightedEvaluation)) {
return;
}
// Create arrays of values and corresponding integral weights
// and longer array with values repeated according to the weights
final int len = 10; // length of values array
final double mu = 0; // mean of test data
final double sigma = 5; // std dev of test data
double[] values = new double[len];
double[] weights = new double[len];
RandomData randomData = new RandomDataImpl();
// Fill weights array with random int values between 1 and 5
int[] intWeights = new int[len];
for (int i = 0; i < len; i++) {
intWeights[i] = randomData.nextInt(1, 5);
weights[i] = intWeights[i];
}
// Fill values array with random data from N(mu, sigma)
// and fill valuesList with values from values array with
// values[i] repeated weights[i] times, each i
List<Double> valuesList = new ArrayList<Double>();
for (int i = 0; i < len; i++) {
double value = randomData.nextGaussian(mu, sigma);
values[i] = value;
for (int j = 0; j < intWeights[i]; j++) {
valuesList.add(new Double(value));
}
}
// Dump valuesList into repeatedValues array
int sumWeights = valuesList.size();
double[] repeatedValues = new double[sumWeights];
for (int i = 0; i < sumWeights; i++) {
repeatedValues[i] = valuesList.get(i);
}
// Compare result of weighted statistic computation with direct computation
// on array of repeated values
WeightedEvaluation weightedStatistic = (WeightedEvaluation) statistic;
TestUtils.assertRelativelyEquals(statistic.evaluate(repeatedValues),
weightedStatistic.evaluate(values, weights, 0, values.length),
10E-14);
// Check consistency of weighted evaluation methods
assertEquals(weightedStatistic.evaluate(values, weights, 0, values.length),
weightedStatistic.evaluate(values, weights), Double.MIN_VALUE);
}
示例2: testWeightedConsistency
import org.apache.commons.math.random.RandomData; //导入方法依赖的package包/类
/**
* Tests consistency of weighted statistic computation.
* For statistics that support weighted evaluation, this test case compares
* the result of direct computation on an array with repeated values with
* a weighted computation on the corresponding (shorter) array with each
* value appearing only once but with a weight value equal to its multiplicity
* in the repeating array.
*/
public void testWeightedConsistency() throws Exception {
// See if this statistic computes weighted statistics
// If not, skip this test
UnivariateStatistic statistic = getUnivariateStatistic();
if (!(statistic instanceof WeightedEvaluation)) {
return;
}
// Create arrays of values and corresponding integral weights
// and longer array with values repeated according to the weights
final int len = 10; // length of values array
final double mu = 0; // mean of test data
final double sigma = 5; // std dev of test data
double[] values = new double[len];
double[] weights = new double[len];
RandomData randomData = new RandomDataImpl();
// Fill weights array with random int values between 1 and 5
int[] intWeights = new int[len];
for (int i = 0; i < len; i++) {
intWeights[i] = randomData.nextInt(1, 5);
weights[i] = intWeights[i];
}
// Fill values array with random data from N(mu, sigma)
// and fill valuesList with values from values array with
// values[i] repeated weights[i] times, each i
List<Double> valuesList = new ArrayList<Double>();
for (int i = 0; i < len; i++) {
double value = randomData.nextGaussian(mu, sigma);
values[i] = value;
for (int j = 0; j < intWeights[i]; j++) {
valuesList.add(new Double(value));
}
}
// Dump valuesList into repeatedValues array
int sumWeights = valuesList.size();
double[] repeatedValues = new double[sumWeights];
for (int i = 0; i < sumWeights; i++) {
repeatedValues[i] = valuesList.get(i);
}
// Compare result of weighted statistic computation with direct computation
// on array of repeated values
WeightedEvaluation weightedStatistic = (WeightedEvaluation) statistic;
TestUtils.assertRelativelyEquals(statistic.evaluate(repeatedValues),
weightedStatistic.evaluate(values, weights, 0, values.length),
10E-14);
// Check consistency of weighted evaluation methods
assertEquals(weightedStatistic.evaluate(values, weights, 0, values.length),
weightedStatistic.evaluate(values, weights), Double.MIN_VALUE);
}
示例3: testWeightedConsistency
import org.apache.commons.math.random.RandomData; //导入方法依赖的package包/类
/**
* Tests consistency of weighted statistic computation.
* For statistics that support weighted evaluation, this test case compares
* the result of direct computation on an array with repeated values with
* a weighted computation on the corresponding (shorter) array with each
* value appearing only once but with a weight value equal to its multiplicity
* in the repeating array.
*/
@Test
public void testWeightedConsistency() throws Exception {
// See if this statistic computes weighted statistics
// If not, skip this test
UnivariateStatistic statistic = getUnivariateStatistic();
if (!(statistic instanceof WeightedEvaluation)) {
return;
}
// Create arrays of values and corresponding integral weights
// and longer array with values repeated according to the weights
final int len = 10; // length of values array
final double mu = 0; // mean of test data
final double sigma = 5; // std dev of test data
double[] values = new double[len];
double[] weights = new double[len];
RandomData randomData = new RandomDataImpl();
// Fill weights array with random int values between 1 and 5
int[] intWeights = new int[len];
for (int i = 0; i < len; i++) {
intWeights[i] = randomData.nextInt(1, 5);
weights[i] = intWeights[i];
}
// Fill values array with random data from N(mu, sigma)
// and fill valuesList with values from values array with
// values[i] repeated weights[i] times, each i
List<Double> valuesList = new ArrayList<Double>();
for (int i = 0; i < len; i++) {
double value = randomData.nextGaussian(mu, sigma);
values[i] = value;
for (int j = 0; j < intWeights[i]; j++) {
valuesList.add(new Double(value));
}
}
// Dump valuesList into repeatedValues array
int sumWeights = valuesList.size();
double[] repeatedValues = new double[sumWeights];
for (int i = 0; i < sumWeights; i++) {
repeatedValues[i] = valuesList.get(i);
}
// Compare result of weighted statistic computation with direct computation
// on array of repeated values
WeightedEvaluation weightedStatistic = (WeightedEvaluation) statistic;
TestUtils.assertRelativelyEquals(statistic.evaluate(repeatedValues),
weightedStatistic.evaluate(values, weights, 0, values.length),
10E-14);
// Check consistency of weighted evaluation methods
Assert.assertEquals(weightedStatistic.evaluate(values, weights, 0, values.length),
weightedStatistic.evaluate(values, weights), Double.MIN_VALUE);
}
示例4: testWeightedConsistency
import org.apache.commons.math.random.RandomData; //导入方法依赖的package包/类
/**
* Tests consistency of weighted statistic computation.
* For statistics that support weighted evaluation, this test case compares
* the result of direct computation on an array with repeated values with
* a weighted computation on the corresponding (shorter) array with each
* value appearing only once but with a weight value equal to its multiplicity
* in the repeating array.
*/
public void testWeightedConsistency() throws Exception {
// See if this statistic computes weighted statistics
// If not, skip this test
UnivariateStatistic statistic = getUnivariateStatistic();
Method evaluateMethod = null;
try {
evaluateMethod = statistic.getClass().getDeclaredMethod("evaluate",
double[].class, double[].class, int.class, int.class);
} catch (NoSuchMethodException ex) {
return; // skip test
}
// Create arrays of values and corresponding integral weights
// and longer array with values repeated according to the weights
final int len = 10; // length of values array
final double mu = 0; // mean of test data
final double sigma = 5; // std dev of test data
double[] values = new double[len];
double[] weights = new double[len];
RandomData randomData = new RandomDataImpl();
// Fill weights array with random int values between 1 and 5
int[] intWeights = new int[len];
for (int i = 0; i < len; i++) {
intWeights[i] = randomData.nextInt(1, 5);
weights[i] = intWeights[i];
}
// Fill values array with random data from N(mu, sigma)
// and fill valuesList with values from values array with
// values[i] repeated weights[i] times, each i
List<Double> valuesList = new ArrayList<Double>();
for (int i = 0; i < len; i++) {
double value = randomData.nextGaussian(mu, sigma);
values[i] = value;
for (int j = 0; j < intWeights[i]; j++) {
valuesList.add(new Double(value));
}
}
// Dump valuesList into repeatedValues array
int sumWeights = valuesList.size();
double[] repeatedValues = new double[sumWeights];
for (int i = 0; i < sumWeights; i++) {
repeatedValues[i] = valuesList.get(i);
}
// Compare result of weighted statistic computation with direct computation
// on array of repeated values
double weightedResult = (Double) evaluateMethod.invoke(
statistic, values, weights, 0, values.length);
TestUtils.assertRelativelyEquals(
statistic.evaluate(repeatedValues), weightedResult, 10E-14);
}