类 RealDistributionAbstractTest

java.lang.Object
org.hipparchus.distribution.continuous.RealDistributionAbstractTest
直接已知子类:
CauchyDistributionTest, ChiSquaredDistributionTest, ConstantRealDistributionTest, EmpiricalDistributionTest, ExponentialDistributionTest, FDistributionTest, GammaDistributionTest, GumbelDistributionTest, LaplaceDistributionTest, LevyDistributionTest, LogisticsDistributionTest, LogNormalDistributionTest, NakagamiDistributionTest, NormalDistributionTest, ParetoDistributionTest, TDistributionTest, TriangularDistributionTest, UniformRealDistributionTest, WeibullDistributionTest

public abstract class RealDistributionAbstractTest extends Object

用于 RealDistribution 测试的抽象基类。

要为连续分布实现创建一个具体的测试类,首先实现 makeDistribution() 方法以返回在测试中使用的分布实例。然后实现以下每个测试数据生成方法。在每种情况下,返回的测试点和测试值数组表示用于 makeDistribution() 返回的分布的输入和期望值的并行数组。为 makeInverseXxx 方法提供了默认实现,只是反转由 makeCumulativeXxx 方法返回的数组定义的映射。

makeCumulativeTestPoints() -- 用于测试累积概率的参数 makeCumulativeTestValues() -- 预期的累积概率 makeDensityTestValues() -- 累积测试点处的预期密度值 makeInverseCumulativeTestPoints() -- 用于测试反向 cdf 的参数 makeInverseCumulativeTestValues() -- 预期的反向 cdf 值

要使用不同的分布实例和测试数据实现额外的测试用例,使用测试用例中的实例数据的 setXxx 方法,并调用 verifyXxx 方法来验证结果。

可以通过实现 getTolerance() 来覆盖错误容差。

测试数据应尽可能针对参考表或其他软件包进行验证,并应在测试用例中记录参考数据和/或验证的来源。用于将分布数据与 R 进行验证的框架包含在 /src/test/R 源树中。

参见 NormalDistributionTestChiSquaredDistributionTest 以获取示例。

  • 构造器详细资料

    • RealDistributionAbstractTest

      public RealDistributionAbstractTest()
  • 方法详细资料

    • makeDistribution

      public abstract RealDistribution makeDistribution()
      创建默认的连续分布实例以在测试中使用。
    • makeCumulativeTestPoints

      public abstract double[] makeCumulativeTestPoints()
      创建默认的累积概率测试输入值
    • makeCumulativeTestValues

      public abstract double[] makeCumulativeTestValues()
      创建默认的累积概率测试预期值
    • makeDensityTestValues

      public abstract double[] makeDensityTestValues()
      创建默认的密度测试预期值
    • makeLogDensityTestValues

      public double[] makeLogDensityTestValues()
      创建默认的对数密度测试预期值。默认实现只是计算 makeDensityTestValues() 返回的每个值的对数。
    • makeInverseCumulativeTestPoints

      public double[] makeInverseCumulativeTestPoints()
      创建默认的反向累积概率测试输入值
    • makeInverseCumulativeTestValues

      public double[] makeInverseCumulativeTestValues()
      创建默认的反向累积概率密度测试预期值
    • setUp

      public void setUp()
      设置所有测试实例数据为默认值
    • tearDown

      public void tearDown()
      清除测试实例数据
    • verifyCumulativeProbabilities

      protected void verifyCumulativeProbabilities()
      验证使用当前测试实例数据的累积概率密度计算是否与预期值匹配
    • verifyInverseCumulativeProbabilities

      protected void verifyInverseCumulativeProbabilities()
      验证使用当前测试实例数据的反向累积概率密度计算是否与预期值匹配
    • verifyDensities

      protected void verifyDensities()
      验证密度计算是否与预期值匹配
    • verifyLogDensities

      protected void verifyLogDensities()
      验证对数密度计算是否与预期值匹配
    • testCumulativeProbabilities

      public void testCumulativeProbabilities()
      验证使用默认测试实例数据的累积概率密度计算是否与预期值匹配
    • testInverseCumulativeProbabilities

      public void testInverseCumulativeProbabilities()
      验证使用默认测试实例数据的反向累积概率密度计算是否与预期值匹配
    • testDensities

      public void testDensities()
      验证密度计算是否返回默认测试实例数据的预期值
    • testLogDensities

      public void testLogDensities()
      验证对数密度计算是否返回默认测试实例数据的预期值
    • testConsistency

      public void testConsistency()
      验证概率计算是否一致
    • testIllegalArguments

      public void testIllegalArguments()
      验证非法参数是否被正确处理
    • testDensityIntegrals

      public void testDensityIntegrals()
      验证密度积分是否与分布匹配。使用 (过滤、排序) cumulativeTestPoints 数组作为积分限制。密度的积分(使用 Legendre-Gauss 积分器估计)与相同区间上的 cdf 进行比较。在密度函数域之外的测试点将被丢弃。
    • getCumulativeTestPoints

      protected double[] getCumulativeTestPoints()
      返回:
      返回 cumulativeTestPoints。
    • setCumulativeTestPoints

      protected void setCumulativeTestPoints(double[] cumulativeTestPoints)
      参数:
      cumulativeTestPoints - 要设置的 cumulativeTestPoints。
    • getCumulativeTestValues

      protected double[] getCumulativeTestValues()
      返回:
      返回 cumulativeTestValues。
    • setCumulativeTestValues

      protected void setCumulativeTestValues(double[] cumulativeTestValues)
      参数:
      cumulativeTestValues - 要设置的 cumulativeTestValues。
    • getDensityTestValues

      protected double[] getDensityTestValues()
    • setDensityTestValues

      protected void setDensityTestValues(double[] densityTestValues)
    • getDistribution

      protected RealDistribution getDistribution()
      返回:
      返回分布。
    • setDistribution

      protected void setDistribution(RealDistribution distribution)
      参数:
      distribution - 要设置的分布。
    • getInverseCumulativeTestPoints

      protected double[] getInverseCumulativeTestPoints()
      返回:
      返回逆累积测试点。
    • setInverseCumulativeTestPoints

      protected void setInverseCumulativeTestPoints(double[] inverseCumulativeTestPoints)
      参数:
      inverseCumulativeTestPoints - 要设置的逆累积测试点。
    • getInverseCumulativeTestValues

      protected double[] getInverseCumulativeTestValues()
      返回:
      返回逆累积测试值。
    • setInverseCumulativeTestValues

      protected void setInverseCumulativeTestValues(double[] inverseCumulativeTestValues)
      参数:
      inverseCumulativeTestValues - 要设置的逆累积测试值。
    • getTolerance

      protected double getTolerance()
      返回:
      返回容差。
    • setTolerance

      protected void setTolerance(double tolerance)
      参数:
      tolerance - 要设置的容差。