本文整理汇总了C#中MathNet.Numerics.Distributions.Normal.Samples方法的典型用法代码示例。如果您正苦于以下问题:C# Normal.Samples方法的具体用法?C# Normal.Samples怎么用?C# Normal.Samples使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类MathNet.Numerics.Distributions.Normal
的用法示例。
在下文中一共展示了Normal.Samples方法的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: TestData
public static IEnumerable<float> TestData()
{
var g = new Normal(0.0, 1.0);
var randy = new MersenneTwister();
g.RandomSource = randy;
var dbls = new double[100000];
g.Samples(dbls);
return dbls.Select(d => (float) d);
}
示例2: NormalityTestAlgorithmTest
public void NormalityTestAlgorithmTest()
{
int sampleSize = 100;
int numberOfMonteCarloTests = 5;
double result = 0;
NormalityTest.NormalityTestFunc normalityTestFunc = NormalityTest.JaqueBeraTest;
// normal distribution
Console.WriteLine("normal var");
for (int i = 0; i < numberOfMonteCarloTests; i++)
{
var distribution = new Normal(50, 1);
distribution.RandomSource = new Random(DateTime.Now.Millisecond * i);
var normalSamples = distribution.Samples().Take(sampleSize);
double[] reallIsNormalSamples = normalSamples.ToArray();
result = normalityTestFunc(reallIsNormalSamples);
Console.WriteLine("reallIsNormalSamples_" + i + ": " + result);
}
Console.WriteLine();
// random distribution.
Console.WriteLine("rand var");
Random rnd = new Random();
double[] randomArray = new double[sampleSize];
for (int i = 0; i < numberOfMonteCarloTests; i++)
{
for (int j = 0; j < sampleSize; j++)
{
randomArray[j] = rnd.Next(1, 100);
}
result = normalityTestFunc(randomArray);
Console.WriteLine("randomArray_" + i + ": " + result);
}
Console.WriteLine();
// Uniform distribution
Console.WriteLine("rand var");
var uniformSamples = new Normal(100, 0).Samples().Take(sampleSize);
double[] uniformSamplesRandomVar = uniformSamples.ToArray();
result = normalityTestFunc(uniformSamplesRandomVar);
Console.WriteLine("uniformSamples: " + result);
}
示例3: CanEstimateParameters
public void CanEstimateParameters(double mean, double stddev)
{
var original = new Normal(mean, stddev, new Random(100));
var estimated = Normal.Estimate(original.Samples().Take(10000));
AssertHelpers.AlmostEqualRelative(mean, estimated.Mean, 1);
AssertHelpers.AlmostEqualRelative(stddev, estimated.StdDev, 1);
}
示例4: CanSampleSequence
public void CanSampleSequence()
{
var n = new Normal();
var ied = n.Samples();
GC.KeepAlive(ied.Take(5).ToArray());
}
示例5: StabilityMeanVariance
public void StabilityMeanVariance()
{
// Test around 10^9, potential stability issues
var gaussian = new Normal(1e+9, 2, new MersenneTwister(100));
AssertHelpers.AlmostEqualRelative(1e+9, Statistics.Mean(gaussian.Samples().Take(10000)), 10);
AssertHelpers.AlmostEqualRelative(4d, Statistics.Variance(gaussian.Samples().Take(10000)), 0);
AssertHelpers.AlmostEqualRelative(2d, Statistics.StandardDeviation(gaussian.Samples().Take(10000)), 1);
AssertHelpers.AlmostEqualRelative(1e+9, Statistics.RootMeanSquare(gaussian.Samples().Take(10000)), 10);
AssertHelpers.AlmostEqualRelative(1e+9, ArrayStatistics.Mean(gaussian.Samples().Take(10000).ToArray()), 10);
AssertHelpers.AlmostEqualRelative(4d, ArrayStatistics.Variance(gaussian.Samples().Take(10000).ToArray()), 0);
AssertHelpers.AlmostEqualRelative(2d, ArrayStatistics.StandardDeviation(gaussian.Samples().Take(10000).ToArray()), 1);
AssertHelpers.AlmostEqualRelative(1e+9, ArrayStatistics.RootMeanSquare(gaussian.Samples().Take(10000).ToArray()), 10);
AssertHelpers.AlmostEqualRelative(1e+9, StreamingStatistics.Mean(gaussian.Samples().Take(10000)), 10);
AssertHelpers.AlmostEqualRelative(4d, StreamingStatistics.Variance(gaussian.Samples().Take(10000)), 0);
AssertHelpers.AlmostEqualRelative(2d, StreamingStatistics.StandardDeviation(gaussian.Samples().Take(10000)), 1);
AssertHelpers.AlmostEqualRelative(1e+9, StreamingStatistics.RootMeanSquare(gaussian.Samples().Take(10000)), 10);
AssertHelpers.AlmostEqualRelative(1e+9, new RunningStatistics(gaussian.Samples().Take(10000)).Mean, 10);
AssertHelpers.AlmostEqualRelative(4d, new RunningStatistics(gaussian.Samples().Take(10000)).Variance, 0);
AssertHelpers.AlmostEqualRelative(2d, new RunningStatistics(gaussian.Samples().Take(10000)).StandardDeviation, 1);
}
示例6: GenerateNoisePath
private static double[] GenerateNoisePath(int simulationSteps, int mean, double noiseVariance)
{
var standardNormal = new Normal(mean, noiseVariance);
return standardNormal.Samples().Take(simulationSteps).ToArray();
}
示例7: CanSampleSequence
public void CanSampleSequence()
{
var n = new Normal();
var ied = n.Samples();
var e = ied.Take(5).ToArray();
}
示例8: Randn
public static double[] Randn(int n, double mu = 0.0, double sigma = 1.0)
{
Normal d = new Normal(mu, sigma);
double[] ret = d.Samples().Take(n).ToArray();
return ret;
}