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()); }
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)); } }
protected void SetBinomialRange(BinomialRange range) { BinomialRange = range; OnPropertyChanged(nameof(BinomialRange)); }