예제 #1
0
        [TestCase(0.9, 1.0, 0.0, 1.0, double.PositiveInfinity, 0.6123, 0.4707430703)]     // Mean shifted Laplace
        public void ValidateDensity(double location, double scale, double skew, double p, double q, double x, double d)
        {
            var n       = new SkewedGeneralizedT(location, scale, skew, p, q);
            var density = n.Density(x);

            AssertHelpers.AlmostEqualRelative(d, density, 8);
        }
예제 #2
0
        public void ValidateNormalDensityEquivalence(double location, double scale, double x)
        {
            var sgt = new SkewedGeneralizedT(location, scale, 0, 2, double.PositiveInfinity);
            var n   = new Normal(location, scale);

            AssertHelpers.AlmostEqualRelative(n.Density(x), sgt.Density(x), 8);
            AssertHelpers.AlmostEqualRelative(n.DensityLn(x), sgt.DensityLn(x), 8);
        }
예제 #3
0
        public void ValidateLaplaceDensityEquivalence(double location, double scale, double x)
        {
            var n = new SkewedGeneralizedT(location, scale, 0, 1, double.PositiveInfinity);

            var b = scale / Math.Sqrt(2.0);
            var l = new Laplace(location, b);

            AssertHelpers.AlmostEqualRelative(l.Density(x), n.Density(x), 8);
            AssertHelpers.AlmostEqualRelative(l.DensityLn(x), n.DensityLn(x), 8);
        }