Search in sources :

Example 11 with Normal

use of cern.jet.random.Normal in project tetrad by cmu-phil.

the class NormalityTests method cramerVonMises.

/**
 * Calculates the Cramer-von-Mises statistic for a variable
 *
 * @param dataSet relevant data set
 * @param variable continuous variable whose normality is in question
 *
 * @return Cramer-von-Mises statistic
 */
public static double cramerVonMises(DataSet dataSet, ContinuousVariable variable) {
    int n = dataSet.getNumRows();
    int columnIndex = dataSet.getColumn(variable);
    Normal idealDistribution = getNormal(dataSet, variable);
    double cvmStatistic = 0.0;
    for (int i = 1; i <= n; i++) {
        double summedTerm = (((2 * i) - 1) / (2 * n)) - idealDistribution.cdf(dataSet.getDouble(i - 1, columnIndex));
        summedTerm *= summedTerm;
        cvmStatistic += summedTerm;
    }
    cvmStatistic += 1 / (12 * n);
    cvmStatistic /= n;
    return cvmStatistic;
}
Also used : Normal(cern.jet.random.Normal)

Example 12 with Normal

use of cern.jet.random.Normal in project tetrad by cmu-phil.

the class NormalityTests method getNormal.

/**
 * Generates an ideal Normal distribution for some variable.
 *
 * @return Ideal Normal distribution for a variable.
 */
private static Normal getNormal(DataSet dataSet, Variable variable) {
    double[] paramsForNormal = normalParams(dataSet, variable);
    double mean = paramsForNormal[0];
    double sd = paramsForNormal[1];
    return new Normal(mean, sd, new MersenneTwister());
}
Also used : Normal(cern.jet.random.Normal) MersenneTwister(cern.jet.random.engine.MersenneTwister)

Example 13 with Normal

use of cern.jet.random.Normal in project tetrad by cmu-phil.

the class DescriptiveStats method getNormal.

/**
 * Generates an ideal Normal distribution for some variable.
 *
 * @return Ideal Normal distribution for a variable.
 */
public static Normal getNormal(double[] data) {
    double[] paramsForNormal = normalParams(data);
    double mean = paramsForNormal[0];
    double sd = paramsForNormal[1];
    return new Normal(mean, sd, new MersenneTwister());
}
Also used : Normal(cern.jet.random.Normal) MersenneTwister(cern.jet.random.engine.MersenneTwister)

Aggregations

Normal (cern.jet.random.Normal)13 RandomEngine (cern.jet.random.engine.RandomEngine)8 MersenneTwister64 (cern.jet.random.engine.MersenneTwister64)7 MeterRegistry (io.micrometer.core.instrument.MeterRegistry)6 SampleConfig (io.micrometer.core.samples.utils.SampleConfig)6 Duration (java.time.Duration)6 AtomicInteger (java.util.concurrent.atomic.AtomicInteger)6 Flux (reactor.core.publisher.Flux)6 MersenneTwister (cern.jet.random.engine.MersenneTwister)4 Timer (io.micrometer.core.instrument.Timer)4 TimeUnit (java.util.concurrent.TimeUnit)4 FunctionTimer (io.micrometer.core.instrument.FunctionTimer)2 DoubleMatrix1D (cern.colt.matrix.DoubleMatrix1D)1 DenseDoubleMatrix1D (cern.colt.matrix.impl.DenseDoubleMatrix1D)1 ChiSquare (cern.jet.random.ChiSquare)1 Gamma (cern.jet.random.Gamma)1 Counter (io.micrometer.core.instrument.Counter)1 LongTaskTimer (io.micrometer.core.instrument.LongTaskTimer)1 Tags (io.micrometer.core.instrument.Tags)1 TimeUtils (io.micrometer.core.instrument.util.TimeUtils)1