[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); }
[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); }
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); } }