Exemplo n.º 1
0
        public int Sample()
        {
            if (null == _distribution)
            {
                _distribution = GeneralizedBetaDistribution.Vose(Min, Max, Mode);
            }

            var value = (int)Math.Round(_distribution.Generate());

            return(value);
        }
        public void BetaGenerateTest1()
        {
            Accord.Math.Tools.SetupGenerator(0);

            int n = 100000;

            var beta = new GeneralizedBetaDistribution(alpha: 2, beta: 3, min: 0, max: 1);

            double[] samples = beta.Generate(samples: n);

            Assert.AreEqual(n, samples.Length);

            var actual = GeneralizedBetaDistribution.Estimate(samples, 0, 1);

            Assert.AreEqual(2, actual.Alpha, 1e-2);
            Assert.AreEqual(3, actual.Beta, 1e-2);
        }
        public void BetaGenerateTest2()
        {
            Accord.Math.Tools.SetupGenerator(0);

            int n = 100000;

            var beta = new GeneralizedBetaDistribution(alpha: 2, beta: 3, min: 0, max: 1);

            double[] samples = new double[n];

            for (int i = 0; i < n; i++)
            {
                samples[i] = beta.Generate();
            }

            var actual = GeneralizedBetaDistribution.Estimate(samples, 0, 1);

            Assert.AreEqual(2, actual.Alpha, 3e-2);
            Assert.AreEqual(3, actual.Beta, 3e-2);
        }
        public void BetaGenerateTest2()
        {
            Accord.Math.Tools.SetupGenerator(0);

            int n = 100000;

            var beta = new GeneralizedBetaDistribution(alpha: 2, beta: 3, min: 0, max: 1);
            double[] samples = new double[n];

            for (int i = 0; i < n; i++)
                samples[i] = beta.Generate();

            var actual = GeneralizedBetaDistribution.Estimate(samples, 0, 1);

            Assert.AreEqual(2, actual.Alpha, 3e-2);
            Assert.AreEqual(3, actual.Beta, 3e-2);
        }
        public void BetaGenerateTest1()
        {
            Accord.Math.Tools.SetupGenerator(0);

            int n = 100000;

            var beta = new GeneralizedBetaDistribution(alpha: 2, beta: 3, min: 0, max: 1);
            double[] samples = beta.Generate(samples: n);

            Assert.AreEqual(n, samples.Length);

            var actual = GeneralizedBetaDistribution.Estimate(samples, 0, 1);

            Assert.AreEqual(2, actual.Alpha, 1e-2);
            Assert.AreEqual(3, actual.Beta, 1e-2);
        }