Esempio n. 1
0
        public void DynamicConstructorTest()
        {
            var dist = UnivariateDistributionInfo.CreateInstance <HypergeometricDistribution>();

            Assert.AreEqual(1, dist.PopulationSize);
            Assert.AreEqual(0, dist.PopulationSuccess);
            Assert.AreEqual(1, dist.SampleSize);
            Assert.AreEqual(0, dist.Support.Min);
            Assert.AreEqual(0, dist.Support.Max);
        }
Esempio n. 2
0
        public void MedianTest2()
        {
            var target = UnivariateDistributionInfo.CreateInstance <ParetoDistribution>();

            Assert.AreEqual(1, target.Alpha);
            Assert.AreEqual(1, target.Scale);

            double median = target.Median;

            Assert.AreEqual(2, target.Median);

            Assert.AreEqual(median, target.InverseDistributionFunction(0.5), 1e-6);
        }
        public void pdf()
        {
            NegativeBinomialDistribution dist = UnivariateDistributionInfo.CreateInstance <NegativeBinomialDistribution>();

            Assert.AreEqual(0.5, dist.ProbabilityOfSuccess);
            Assert.AreEqual(1, dist.NumberOfFailures);

            double median = dist.Median;

            Assert.AreEqual(0, median);

            int middle = (int)median;

            double pdf  = dist.ProbabilityMassFunction(middle);
            double lpdf = dist.LogProbabilityMassFunction(middle);

            Assert.AreEqual(Math.Log(pdf), lpdf, 1e-10);
            Assert.AreEqual(pdf, Math.Exp(lpdf), 1e-10);
        }