public void StabilityMeanVariance() { // Test around 10^9, potential stability issues var gaussian = new Distributions.Normal(1e+9, 2) { RandomSource = new Numerics.Random.MersenneTwister(100) }; AssertHelpers.AlmostEqual(1e+9, gaussian.Samples().Take(10000).Mean(), 11); AssertHelpers.AlmostEqual(4d, gaussian.Samples().Take(10000).Variance(), 1); AssertHelpers.AlmostEqual(2d, gaussian.Samples().Take(10000).StandardDeviation(), 2); }
public void StabilityMeanVariance() { // Test around 10^9, potential stability issues var gaussian = new Distributions.Normal(1e+9, 2, new MersenneTwister(100)); AssertHelpers.AlmostEqual(1e+9, Statistics.Mean(gaussian.Samples().Take(10000)), 11); AssertHelpers.AlmostEqual(4d, Statistics.Variance(gaussian.Samples().Take(10000)), 1); AssertHelpers.AlmostEqual(2d, Statistics.StandardDeviation(gaussian.Samples().Take(10000)), 2); AssertHelpers.AlmostEqual(1e+9, ArrayStatistics.Mean(gaussian.Samples().Take(10000).ToArray()), 11); AssertHelpers.AlmostEqual(4d, ArrayStatistics.Variance(gaussian.Samples().Take(10000).ToArray()), 1); AssertHelpers.AlmostEqual(2d, ArrayStatistics.StandardDeviation(gaussian.Samples().Take(10000).ToArray()), 2); AssertHelpers.AlmostEqual(1e+9, StreamingStatistics.Mean(gaussian.Samples().Take(10000)), 11); AssertHelpers.AlmostEqual(4d, StreamingStatistics.Variance(gaussian.Samples().Take(10000)), 1); AssertHelpers.AlmostEqual(2d, StreamingStatistics.StandardDeviation(gaussian.Samples().Take(10000)), 2); }