Esempio n. 1
0
        [TestCase(0.9, 1.0, 0.0, 1.0, double.PositiveInfinity, 0.6123, 0.3328656172)]   // Mean shifted Laplace
        public void ValidateCDF(double location, double scale, double skew, double p, double q, double x, double pr)
        {
            var n   = new SkewedGeneralizedT(location, scale, skew, p, q);
            var cpr = n.CumulativeDistribution(x);

            AssertHelpers.AlmostEqualRelative(pr, cpr, 8);
        }
Esempio n. 2
0
        [TestCase(0.9, 1.0, 0.0, 1.0, double.PositiveInfinity, 0.6123, 1.079871174)]     // Mean shifted Laplace
        public void ValidateInvCDF(double location, double scale, double skew, double p, double q, double quantile, double x)
        {
            var n  = new SkewedGeneralizedT(location, scale, skew, p, q);
            var xq = n.InverseCumulativeDistribution(quantile);

            AssertHelpers.AlmostEqualRelative(x, xq, 8);

            AssertHelpers.AlmostEqualRelative(quantile, n.CumulativeDistribution(xq), 8);
        }
Esempio n. 3
0
        public void ValidateSkewedNormalDistribution(double location, double scale, double skew, double x)
        {
            var sn = new SkewedGeneralizedT(location, scale, skew, 2, double.PositiveInfinity);
            var n  = new Normal(location, scale);

            var sp = sn.CumulativeDistribution(x);
            var p  = n.CumulativeDistribution(x);

            if (skew > 0)
            {
                Assert.IsTrue(sp > p);
            }
            else
            {
                Assert.IsTrue(sp < p);
            }
        }