public void TestBinomialWithRange_C()
        {
            int           sample = 10, success = 10;
            float         successRate   = 0.5f;
            BinomialRange binomialRange = BinomialRange.Exact;
            var           expected      = new double[]
            {
                0.000977
            };

            IEnumerable <double> result = Statistics.Binomial(sample, success, successRate, binomialRange)
                                          .Select(value => Math.Round(value, 6));

            CollectionAssert.AreEqual(expected, result.ToArray());
        }
        public void TestPoissonWithRange()
        {
            int           success = 1, sample = 6;
            float         successRate = 0.2f;
            BinomialRange range       = BinomialRange.Max;
            var           expected    = new double[]
            {
                0.301194,
                0.361433
            };

            IEnumerable <double> result = Statistics.Poisson(success, sample, successRate, range)
                                          .Select(value => Math.Round(value, 6));

            CollectionAssert.AreEqual(expected, result.ToArray());
        }
        public void TestBinomialWithRange_B()
        {
            int           sample        = 9;
            float         successRate   = 0.02f;
            BinomialRange binomialRange = BinomialRange.Max;
            int           max           = 3;
            var           expected      = new double[]
            {
                0.833748,
                0.153137,
                0.012501,
                0.000595
            };
            IEnumerable <double> result = Statistics.Binomial(sample, max, successRate, binomialRange)
                                          .Select(value => Math.Round(value, 6));

            CollectionAssert.AreEqual(expected, result.ToArray());
        }
Esempio n. 4
0
        public static IEnumerable <double> Poisson(int success, int sample, float successRate, BinomialRange range)
        {
            switch (range)
            {
            case BinomialRange.Max:
                return(Poisson(sample, 0, success, successRate));

            case BinomialRange.Min:
                return(Poisson(sample, success, sample, successRate));

            default:
                return(Poisson(sample, success, success, successRate));
            }
        }
Esempio n. 5
0
 protected void SetBinomialRange(BinomialRange range)
 {
     BinomialRange = range;
     OnPropertyChanged(nameof(BinomialRange));
 }