public void BetaGenerateTest() { Accord.Math.Tools.SetupGenerator(0); int n = 100000; double[] samples = BetaDistribution .Random(alpha: 2, beta: 3, samples: n); Assert.AreEqual(n, samples.Length); var actual = BetaDistribution.Estimate(samples); Assert.AreEqual(2, actual.Alpha, 1e-2); Assert.AreEqual(3, actual.Beta, 1e-2); }
public void BetaGenerateTest3() { Accord.Math.Tools.SetupGenerator(0); int n = 1000000; double[] samples = BetaDistribution .Random(alpha: 0.4, beta: 0.2, samples: n); Assert.AreEqual(n, samples.Length); var actual = BetaDistribution.Estimate(samples, new BetaOptions { Method = BetaEstimationMethod.MaximumLikelihood }); Assert.AreEqual(0.4, actual.Alpha, 0.005); Assert.AreEqual(0.2, actual.Beta, 0.003); }