Accord.Tests.Statistics.ShiftedLogLogisticDistributionTest.EquivalencyTest1 C# (CSharp) Method

EquivalencyTest1() private method

private EquivalencyTest1 ( ) : void
return void
        public void EquivalencyTest1()
        {
            // when mu = sigma / ksi, the shifted log-logistic reduces to the log-logistic distribution.

            double sigma = 4.2;     // scale
            double ksi = 0.42;        // shape
            double mu = sigma / ksi; // location

            var target = new ShiftedLogLogisticDistribution(location: mu, scale: sigma, shape: ksi);
            var log = LogLogisticDistribution.FromLocationShape(location: mu, shape: ksi);

            Assert.AreEqual(log.Mean, target.Mean, 1e-10);
            Assert.AreEqual(log.Median, target.Median);
            Assert.AreEqual(log.Mode, target.Mode, 1e-10);
            Assert.AreEqual(log.Variance, target.Variance, 1e-10);

            double actual, expected;

            for (double i = -10; i < 10; i += 0.1)
            {
                expected = log.DistributionFunction(i);
                actual = target.DistributionFunction(i);
                Assert.IsTrue(expected.IsRelativelyEqual(actual, 1e-5));

                expected = log.ProbabilityDensityFunction(i);
                actual = target.ProbabilityDensityFunction(i);
                Assert.IsTrue(expected.IsRelativelyEqual(actual, 1e-5));

                expected = log.LogProbabilityDensityFunction(i);
                actual = target.LogProbabilityDensityFunction(i);
                Assert.IsTrue(expected.IsRelativelyEqual(actual, 1e-5));

                expected = log.ComplementaryDistributionFunction(i);
                actual = target.ComplementaryDistributionFunction(i);
                Assert.IsTrue(expected.IsRelativelyEqual(actual, 1e-5));

                double p = log.DistributionFunction(i);
                expected = log.InverseDistributionFunction(p);
                actual = target.InverseDistributionFunction(p);
                Assert.AreEqual(expected, actual, 1e-5);

                expected = log.HazardFunction(i);
                actual = target.HazardFunction(i);
                Assert.IsTrue(expected.IsRelativelyEqual(actual, 1e-5));

                expected = log.CumulativeHazardFunction(i);
                actual = target.CumulativeHazardFunction(i);
                Assert.IsTrue(expected.IsRelativelyEqual(actual, 1e-5));
            }
        }