This is an automated email from the ASF dual-hosted git repository. aherbert pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/commons-statistics.git
The following commit(s) were added to refs/heads/master by this push: new 7e272d6 Use tighter test tolerances 7e272d6 is described below commit 7e272d61be977c5b754707a1318d42b7ac599ca2 Author: Alex Herbert <aherb...@apache.org> AuthorDate: Mon Nov 28 16:14:04 2022 +0000 Use tighter test tolerances --- .../statistics/distribution/BinomialDistributionTest.java | 3 ++- .../statistics/distribution/ExponentialDistributionTest.java | 3 ++- .../statistics/distribution/GammaDistributionTest.java | 3 ++- .../statistics/distribution/LevyDistributionTest.java | 2 +- .../statistics/distribution/LogNormalDistributionTest.java | 2 +- .../statistics/distribution/LogisticDistributionTest.java | 3 +-- .../statistics/distribution/NormalDistributionTest.java | 5 ++--- .../statistics/distribution/ParetoDistributionTest.java | 3 +-- .../distribution/UniformContinuousDistributionTest.java | 3 ++- .../distribution/UniformDiscreteDistributionTest.java | 3 ++- .../statistics/distribution/test.binomial.2.properties | 3 ++- .../statistics/distribution/test.exponential.3.properties | 10 ++++++++++ .../statistics/distribution/test.logistic.2.properties | 12 ++++++++++++ .../statistics/distribution/test.lognormal.1.properties | 5 +++++ .../statistics/distribution/test.lognormal.2.properties | 7 ++++++- .../statistics/distribution/test.lognormal.3.properties | 3 +++ .../commons/statistics/distribution/test.normal.1.properties | 1 + .../commons/statistics/distribution/test.normal.3.properties | 3 +++ .../commons/statistics/distribution/test.pareto.1.properties | 3 +++ .../commons/statistics/distribution/test.pareto.2.properties | 3 +++ .../commons/statistics/distribution/test.pareto.3.properties | 4 ++++ .../commons/statistics/distribution/test.pareto.8.properties | 3 +++ .../distribution/test.uniformdiscrete.1.properties | 11 +++++++++++ 23 files changed, 82 insertions(+), 16 deletions(-) diff --git a/commons-statistics-distribution/src/test/java/org/apache/commons/statistics/distribution/BinomialDistributionTest.java b/commons-statistics-distribution/src/test/java/org/apache/commons/statistics/distribution/BinomialDistributionTest.java index 143b2b0..6dc6a4e 100644 --- a/commons-statistics-distribution/src/test/java/org/apache/commons/statistics/distribution/BinomialDistributionTest.java +++ b/commons-statistics-distribution/src/test/java/org/apache/commons/statistics/distribution/BinomialDistributionTest.java @@ -53,7 +53,8 @@ class BinomialDistributionTest extends BaseDiscreteDistributionTest { @Override protected double getRelativeTolerance() { - return 1e-15; + // Tolerance is 8.881784197001252E-16 + return 4 * RELATIVE_EPS; } //-------------------- Additional test cases ------------------------------- diff --git a/commons-statistics-distribution/src/test/java/org/apache/commons/statistics/distribution/ExponentialDistributionTest.java b/commons-statistics-distribution/src/test/java/org/apache/commons/statistics/distribution/ExponentialDistributionTest.java index 549ae06..2a3b452 100644 --- a/commons-statistics-distribution/src/test/java/org/apache/commons/statistics/distribution/ExponentialDistributionTest.java +++ b/commons-statistics-distribution/src/test/java/org/apache/commons/statistics/distribution/ExponentialDistributionTest.java @@ -48,7 +48,8 @@ class ExponentialDistributionTest extends BaseContinuousDistributionTest { @Override protected double getRelativeTolerance() { - return 5e-15; + // Tolerance is 8.881784197001252E-16 + return 4 * RELATIVE_EPS; } //------------ Additional tests ------------------------------------------- diff --git a/commons-statistics-distribution/src/test/java/org/apache/commons/statistics/distribution/GammaDistributionTest.java b/commons-statistics-distribution/src/test/java/org/apache/commons/statistics/distribution/GammaDistributionTest.java index ffa787c..67b2895 100644 --- a/commons-statistics-distribution/src/test/java/org/apache/commons/statistics/distribution/GammaDistributionTest.java +++ b/commons-statistics-distribution/src/test/java/org/apache/commons/statistics/distribution/GammaDistributionTest.java @@ -61,7 +61,8 @@ class GammaDistributionTest extends BaseContinuousDistributionTest { @Override protected double getRelativeTolerance() { - return 1e-15; + // Tolerance is 8.881784197001252E-16 + return 4 * RELATIVE_EPS; } //-------------------- Additional test cases ------------------------------- diff --git a/commons-statistics-distribution/src/test/java/org/apache/commons/statistics/distribution/LevyDistributionTest.java b/commons-statistics-distribution/src/test/java/org/apache/commons/statistics/distribution/LevyDistributionTest.java index 67f8b0a..b46559e 100644 --- a/commons-statistics-distribution/src/test/java/org/apache/commons/statistics/distribution/LevyDistributionTest.java +++ b/commons-statistics-distribution/src/test/java/org/apache/commons/statistics/distribution/LevyDistributionTest.java @@ -43,6 +43,6 @@ class LevyDistributionTest extends BaseContinuousDistributionTest { @Override protected double getRelativeTolerance() { - return 1e-14; + return 5e-15; } } diff --git a/commons-statistics-distribution/src/test/java/org/apache/commons/statistics/distribution/LogNormalDistributionTest.java b/commons-statistics-distribution/src/test/java/org/apache/commons/statistics/distribution/LogNormalDistributionTest.java index e9d4a7a..1086148 100644 --- a/commons-statistics-distribution/src/test/java/org/apache/commons/statistics/distribution/LogNormalDistributionTest.java +++ b/commons-statistics-distribution/src/test/java/org/apache/commons/statistics/distribution/LogNormalDistributionTest.java @@ -47,7 +47,7 @@ class LogNormalDistributionTest extends BaseContinuousDistributionTest { @Override protected double getRelativeTolerance() { - return 5e-14; + return 5e-15; } //-------------------- Additional test cases ------------------------------- diff --git a/commons-statistics-distribution/src/test/java/org/apache/commons/statistics/distribution/LogisticDistributionTest.java b/commons-statistics-distribution/src/test/java/org/apache/commons/statistics/distribution/LogisticDistributionTest.java index fba8a3a..3f7555c 100644 --- a/commons-statistics-distribution/src/test/java/org/apache/commons/statistics/distribution/LogisticDistributionTest.java +++ b/commons-statistics-distribution/src/test/java/org/apache/commons/statistics/distribution/LogisticDistributionTest.java @@ -46,8 +46,7 @@ class LogisticDistributionTest extends BaseContinuousDistributionTest { @Override protected double getRelativeTolerance() { - // Limited by the CDF inverse mapping - return 1e-9; + return 5e-15; } //-------------------- Additional test cases ------------------------------- diff --git a/commons-statistics-distribution/src/test/java/org/apache/commons/statistics/distribution/NormalDistributionTest.java b/commons-statistics-distribution/src/test/java/org/apache/commons/statistics/distribution/NormalDistributionTest.java index da769f4..b99a96c 100644 --- a/commons-statistics-distribution/src/test/java/org/apache/commons/statistics/distribution/NormalDistributionTest.java +++ b/commons-statistics-distribution/src/test/java/org/apache/commons/statistics/distribution/NormalDistributionTest.java @@ -54,9 +54,8 @@ class NormalDistributionTest extends BaseContinuousDistributionTest { @Override protected double getRelativeTolerance() { - // Tests are limited by the inverse survival probability - // Tolerance is 4.440892098500626E-15. - return 20 * RELATIVE_EPS; + // Tolerance is 2.220446049250313E-15 + return 10 * RELATIVE_EPS; } //-------------------- Additional test cases ------------------------------- diff --git a/commons-statistics-distribution/src/test/java/org/apache/commons/statistics/distribution/ParetoDistributionTest.java b/commons-statistics-distribution/src/test/java/org/apache/commons/statistics/distribution/ParetoDistributionTest.java index c154b13..ae03e87 100644 --- a/commons-statistics-distribution/src/test/java/org/apache/commons/statistics/distribution/ParetoDistributionTest.java +++ b/commons-statistics-distribution/src/test/java/org/apache/commons/statistics/distribution/ParetoDistributionTest.java @@ -61,8 +61,7 @@ class ParetoDistributionTest extends BaseContinuousDistributionTest { @Override protected double getRelativeTolerance() { - // Limited by CDF inverse mapping test - return 1e-9; + return 5e-15; } //-------------------- Additional test cases ------------------------------- diff --git a/commons-statistics-distribution/src/test/java/org/apache/commons/statistics/distribution/UniformContinuousDistributionTest.java b/commons-statistics-distribution/src/test/java/org/apache/commons/statistics/distribution/UniformContinuousDistributionTest.java index fea2b7a..8cfe5ca 100644 --- a/commons-statistics-distribution/src/test/java/org/apache/commons/statistics/distribution/UniformContinuousDistributionTest.java +++ b/commons-statistics-distribution/src/test/java/org/apache/commons/statistics/distribution/UniformContinuousDistributionTest.java @@ -60,7 +60,8 @@ class UniformContinuousDistributionTest extends BaseContinuousDistributionTest { @Override protected double getRelativeTolerance() { - return 1e-15; + // Tolerance is 4.440892098500626E-16 + return 2 * RELATIVE_EPS; } //-------------------- Additional test cases ------------------------------- diff --git a/commons-statistics-distribution/src/test/java/org/apache/commons/statistics/distribution/UniformDiscreteDistributionTest.java b/commons-statistics-distribution/src/test/java/org/apache/commons/statistics/distribution/UniformDiscreteDistributionTest.java index 2fb4426..8bbad25 100644 --- a/commons-statistics-distribution/src/test/java/org/apache/commons/statistics/distribution/UniformDiscreteDistributionTest.java +++ b/commons-statistics-distribution/src/test/java/org/apache/commons/statistics/distribution/UniformDiscreteDistributionTest.java @@ -55,7 +55,8 @@ class UniformDiscreteDistributionTest extends BaseDiscreteDistributionTest { @Override protected double getRelativeTolerance() { - return 1e-15; + // Tolerance is 4.440892098500626E-16 + return 2 * RELATIVE_EPS; } //-------------------- Additional test cases ------------------------------- diff --git a/commons-statistics-distribution/src/test/resources/org/apache/commons/statistics/distribution/test.binomial.2.properties b/commons-statistics-distribution/src/test/resources/org/apache/commons/statistics/distribution/test.binomial.2.properties index 09ceb2d..3c13fab 100644 --- a/commons-statistics-distribution/src/test/resources/org/apache/commons/statistics/distribution/test.binomial.2.properties +++ b/commons-statistics-distribution/src/test/resources/org/apache/commons/statistics/distribution/test.binomial.2.properties @@ -17,7 +17,8 @@ parameters = 100 0.99 # 100 * 0.99 mean = 99 # 100 * 0.99 * 0.01 -variance = 0.99 +# Computed with BigDecimal as 0.99 is not machine representable +variance = 0.99000000000000087041485130612271980351 lower = 0 upper = 100 # Set values for the required fields. diff --git a/commons-statistics-distribution/src/test/resources/org/apache/commons/statistics/distribution/test.exponential.3.properties b/commons-statistics-distribution/src/test/resources/org/apache/commons/statistics/distribution/test.exponential.3.properties index 51f870d..3fd27b3 100644 --- a/commons-statistics-distribution/src/test/resources/org/apache/commons/statistics/distribution/test.exponential.3.properties +++ b/commons-statistics-distribution/src/test/resources/org/apache/commons/statistics/distribution/test.exponential.3.properties @@ -54,3 +54,13 @@ pdf.values = \ 0.04632230081520102849, 0.03921098109495325251,\ 0.03319137891190929862, 0.02809589567285093736,\ 0.02378266223150159522 +sf.values = \ + 1. , 0.9933555062550344 , 0.9867551618071957 , \ + 0.9801986733067553 , 0.973685749353145 , 0.9672161004820059 , \ + 0.9355069850316178 , 0.8464817248906141 , 0.7165313105737893 , \ + 0.6065306597126334 , 0.513417119032592 , 0.4345982085070782 , \ + 0.36787944117144233 , 0.3114032239145977 , 0.26359713811572677 , \ + 0.22313016014842982 , 0.18887560283756183 , 0.1598797460796939 , \ + 0.1353352832366127 , 0.11455884399268773 , 0.09697196786440505 , \ + 0.0820849986238988 , 0.06948345122280154 , 0.05881647164242988 , \ + 0.049787068367863944, 0.042143843509276406, 0.035673993347252395 \ diff --git a/commons-statistics-distribution/src/test/resources/org/apache/commons/statistics/distribution/test.logistic.2.properties b/commons-statistics-distribution/src/test/resources/org/apache/commons/statistics/distribution/test.logistic.2.properties index 77b7094..2207aaf 100644 --- a/commons-statistics-distribution/src/test/resources/org/apache/commons/statistics/distribution/test.logistic.2.properties +++ b/commons-statistics-distribution/src/test/resources/org/apache/commons/statistics/distribution/test.logistic.2.properties @@ -42,6 +42,18 @@ pdf.values = \ 3.1077352736714892e-05, 8.1921824684442362e-06,\ 2.1594553948504202e-06, 5.6922761977604387e-07,\ 1.5004686585457629e-07 +sf.values = \ + 9.9997669144215851e-01, 9.9991158082998111e-01, \ + 9.9966464986953363e-01, 9.9872898373691865e-01, \ + 9.9519524711284046e-01, 9.8201379003790845e-01, \ + 9.3503083087133598e-01, 7.9139147267395504e-01, \ + 5.0000000000000000e-01, 2.0860852732604496e-01, \ + 6.4969169128664073e-02, 1.7986209962091559e-02, \ + 4.8047528871595184e-03, 1.2710162630813579e-03, \ + 3.3535013046647811e-04, 8.8419170018938430e-05, \ + 2.3308557841404794e-05, 6.1441746022147182e-06, \ + 1.6195941692230884e-06, 4.2692089709348532e-07, \ + 1.1253516205509499e-07 cdf.hp.points = -30 -32 cdf.hp.values = 7.781132241133797e-20 5.406599225349898e-21 sf.hp.points = 33, 37 diff --git a/commons-statistics-distribution/src/test/resources/org/apache/commons/statistics/distribution/test.lognormal.1.properties b/commons-statistics-distribution/src/test/resources/org/apache/commons/statistics/distribution/test.lognormal.1.properties index 8588db2..a130450 100644 --- a/commons-statistics-distribution/src/test/resources/org/apache/commons/statistics/distribution/test.lognormal.1.properties +++ b/commons-statistics-distribution/src/test/resources/org/apache/commons/statistics/distribution/test.lognormal.1.properties @@ -44,3 +44,8 @@ cdf.hp.points = 4e-5, 7e-5 cdf.hp.values = 1.2366527173500762e-18, 3.9216120913158885e-17 sf.hp.points = 999999, 2e6 sf.hp.values = 2.924727705260493e-17, 3.8830698713006447e-19 + +cdf.hp.relative = 5e-14 +cdf.hp.mapping.relative = 5e-14 +sf.hp.relative = 5e-14 +sf.hp.mapping.relative = 5e-14 diff --git a/commons-statistics-distribution/src/test/resources/org/apache/commons/statistics/distribution/test.lognormal.2.properties b/commons-statistics-distribution/src/test/resources/org/apache/commons/statistics/distribution/test.lognormal.2.properties index 93afbd0..64a8903 100644 --- a/commons-statistics-distribution/src/test/resources/org/apache/commons/statistics/distribution/test.lognormal.2.properties +++ b/commons-statistics-distribution/src/test/resources/org/apache/commons/statistics/distribution/test.lognormal.2.properties @@ -14,7 +14,8 @@ # limitations under the License. parameters = 1.0 0.5 -# Computed using scipy.stats lognorm +# Computed using scipy.stats lognorm(0.5, loc=0, scale=2.718281828459045) +# scale = exp(mu) mean = 3.080216848918031 variance = 2.694758124344946 lower = 0 @@ -54,3 +55,7 @@ pdf.values = \ 1.4800157244728182e-01, 1.2591055687217639e-01,\ 1.0666557638466362e-01, 9.0086334161030540e-02,\ 7.5921269497598851e-02 + +# Overridden tolerances +cdf.relative = 5e-14 +cdf.mapping.relative = 5e-14 diff --git a/commons-statistics-distribution/src/test/resources/org/apache/commons/statistics/distribution/test.lognormal.3.properties b/commons-statistics-distribution/src/test/resources/org/apache/commons/statistics/distribution/test.lognormal.3.properties index 273882b..979dfd1 100644 --- a/commons-statistics-distribution/src/test/resources/org/apache/commons/statistics/distribution/test.lognormal.3.properties +++ b/commons-statistics-distribution/src/test/resources/org/apache/commons/statistics/distribution/test.lognormal.3.properties @@ -55,3 +55,6 @@ pdf.values = \ 1.1646158708679376e-01, 1.0479815963713561e-01,\ 9.4307438580933281e-02, 8.4897336488739733e-02,\ 7.6471232330393046e-02 + + # Overridden tolerances +cdf.mapping.relative = 1e-14 diff --git a/commons-statistics-distribution/src/test/resources/org/apache/commons/statistics/distribution/test.normal.1.properties b/commons-statistics-distribution/src/test/resources/org/apache/commons/statistics/distribution/test.normal.1.properties index 88889af..fdff246 100644 --- a/commons-statistics-distribution/src/test/resources/org/apache/commons/statistics/distribution/test.normal.1.properties +++ b/commons-statistics-distribution/src/test/resources/org/apache/commons/statistics/distribution/test.normal.1.properties @@ -78,6 +78,7 @@ sf.hp.points = 14.5, 13.9 sf.hp.values = 4.10456525339190342717686865166e-19, 1.74955280069751640746342569694e-17 # Overridden tolerances +sf.mapping.relative = 5e-14 cdf.hp.relative = 1e-14 cdf.hp.mapping.relative = 5e-14 sf.hp.relative = 1e-14 diff --git a/commons-statistics-distribution/src/test/resources/org/apache/commons/statistics/distribution/test.normal.3.properties b/commons-statistics-distribution/src/test/resources/org/apache/commons/statistics/distribution/test.normal.3.properties index 6d4eadb..785a587 100644 --- a/commons-statistics-distribution/src/test/resources/org/apache/commons/statistics/distribution/test.normal.3.properties +++ b/commons-statistics-distribution/src/test/resources/org/apache/commons/statistics/distribution/test.normal.3.properties @@ -33,3 +33,6 @@ sf.values = \ 5.0000000000000000000e-01 1.5865525393145704647e-01 \ 2.2750131948179212055e-02 1.3498980316300945772e-03 \ 3.1671241833119924327e-05 2.8665157187919391185e-07 + +# Overridden tolerances +sf.relative = 3e-15 diff --git a/commons-statistics-distribution/src/test/resources/org/apache/commons/statistics/distribution/test.pareto.1.properties b/commons-statistics-distribution/src/test/resources/org/apache/commons/statistics/distribution/test.pareto.1.properties index e70491f..aff49ef 100644 --- a/commons-statistics-distribution/src/test/resources/org/apache/commons/statistics/distribution/test.pareto.1.properties +++ b/commons-statistics-distribution/src/test/resources/org/apache/commons/statistics/distribution/test.pareto.1.properties @@ -47,3 +47,6 @@ pdf.values = \ # Computed using WolframAlpha sf.hp.points = 42e35, 64e35 sf.hp.values = 8.451542547285151e-19, 6.8465319688145555e-19 + +# Overridden tolerances +cdf.relative = 2e-14 diff --git a/commons-statistics-distribution/src/test/resources/org/apache/commons/statistics/distribution/test.pareto.2.properties b/commons-statistics-distribution/src/test/resources/org/apache/commons/statistics/distribution/test.pareto.2.properties index a4bcd6c..c847ca8 100644 --- a/commons-statistics-distribution/src/test/resources/org/apache/commons/statistics/distribution/test.pareto.2.properties +++ b/commons-statistics-distribution/src/test/resources/org/apache/commons/statistics/distribution/test.pareto.2.properties @@ -47,3 +47,6 @@ pdf.values = \ # Computed using WolframAlpha sf.hp.points = 42e22, 64e24 sf.hp.values = 4.3692206064732326e-18, 1.0074093110845689e-19 + +# Overridden tolerances +cdf.relative = 1e-14 diff --git a/commons-statistics-distribution/src/test/resources/org/apache/commons/statistics/distribution/test.pareto.3.properties b/commons-statistics-distribution/src/test/resources/org/apache/commons/statistics/distribution/test.pareto.3.properties index ec28e53..35f1763 100644 --- a/commons-statistics-distribution/src/test/resources/org/apache/commons/statistics/distribution/test.pareto.3.properties +++ b/commons-statistics-distribution/src/test/resources/org/apache/commons/statistics/distribution/test.pareto.3.properties @@ -47,3 +47,7 @@ pdf.values = \ # Computed using WolframAlpha sf.hp.points = 42e10, 64e11 sf.hp.values = 1.909008870803043e-17, 3.2093118603818403e-19 + +# Overridden tolerances +cdf.relative = 1e-14 +sf.hp.relative = 1e-14 diff --git a/commons-statistics-distribution/src/test/resources/org/apache/commons/statistics/distribution/test.pareto.8.properties b/commons-statistics-distribution/src/test/resources/org/apache/commons/statistics/distribution/test.pareto.8.properties index 380cc31..6e949e5 100644 --- a/commons-statistics-distribution/src/test/resources/org/apache/commons/statistics/distribution/test.pareto.8.properties +++ b/commons-statistics-distribution/src/test/resources/org/apache/commons/statistics/distribution/test.pareto.8.properties @@ -24,3 +24,6 @@ cdf.points = 0.1, 0.101, 0.11, 0.12 cdf.values = 0.0, 0.9602007494163832, 0.9999999999999613, 1.0 pdf.values = 3239.9999999999504, 127.67284345634626, 1.1426739686199978e-10, 5.979158204731506e-23 sf.values = 1., 0.039799250583616726, 3.879448658895309e-14, 2.2145030387895359e-26 + +# Overridden tolerances +sf.relative = 1e-13 diff --git a/commons-statistics-distribution/src/test/resources/org/apache/commons/statistics/distribution/test.uniformdiscrete.1.properties b/commons-statistics-distribution/src/test/resources/org/apache/commons/statistics/distribution/test.uniformdiscrete.1.properties index 0242d55..6c103ca 100644 --- a/commons-statistics-distribution/src/test/resources/org/apache/commons/statistics/distribution/test.uniformdiscrete.1.properties +++ b/commons-statistics-distribution/src/test/resources/org/apache/commons/statistics/distribution/test.uniformdiscrete.1.properties @@ -42,6 +42,17 @@ pmf.values = \ 0.111111111111111111,\ 0.111111111111111111,\ 0 +sf.values = \ + 1.0 \ + 0.8888888888888888 \ + 0.7777777777777778 \ + 0.6666666666666666 \ + 0.5555555555555555 \ + 0.4444444444444444 \ + 0.3333333333333333 \ + 0.2222222222222222 \ + 0.1111111111111111 \ + 0, 0 icdf.points = \ 0, 0.001, 0.010, 0.025, 0.050, 0.100, 0.200,\ 0.5, 0.999, 0.990, 0.975, 0.950, 0.900, 1