Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Debian] t_MetaModelAlgorithm_std.py selects the wrong distribution for Uniform[-pi, pi] on Arm v8, IBM power 8 and IBM s390x #2192

Closed
pgrt opened this issue Nov 22, 2022 · 3 comments

Comments

@pgrt
Copy link
Contributor

pgrt commented Nov 22, 2022

Hello,

I am in the progress of packaging version 1.20 for Debian. I met an issue with the t_MetaModelAlgorithm_std.py Python test on arm64, ppc64el and s390x: when testing
ot.ComposedDistribution([ot.Uniform(-pi, pi)] * dim)

the distribution
ComposedDistribution(TruncatedNormal(mu = 1.94e+05, sigma = 4.74e+03, a = -3.14, b = 3.13), Uniform(a = -3.14, b = 3.14), IndependentCopula(dimension = 2))
is selected instead of the targeted one: I get the output


543/581 Test #1047: pyinstallcheck_MetaModelAlgorithm_std ..................................***Failed 20.09 sec
E20221122 17:23:24.506155 2236764 trust_region_minimizer.cc:95] Terminating: Number of consecutive invalid steps more than Solver::Options::max_num_consecutive_invalid_steps: 5
E20221122 17:23:25.012102 2236764 trust_region_minimizer.cc:95] Terminating: Number of consecutive invalid steps more than Solver::Options::max_num_consecutive_invalid_steps: 5
E20221122 17:23:33.809854 2236764 trust_region_minimizer.cc:95] Terminating: Number of consecutive invalid steps more than Solver::Options::max_num_consecutive_invalid_steps: 5
--- /<>/python/test/t_MetaModelAlgorithm_std.expout 2022-11-08 10:49:19.000000000 +0000
+++ /<>/builddir/python/test/t_MetaModelAlgorithm_std.out 2022-11-22 17:23:33.814440566 +0000
@@ -1,4 +1,4 @@
-ComposedDistribution(Uniform(a = -3.14, b = 3.14), Uniform(a = -3.14, b = 3.14), IndependentCopula(dimension = 2))
+ComposedDistribution(TruncatedNormal(mu = 1.94e+05, sigma = 4.74e+03, a = -3.14, b = 3.13), Uniform(a = -3.14, b = 3.14), IndependentCopula(dimension = 2))
ComposedDistribution(Normal(mu = 3.98, sigma = 2.02), Normal(mu = 3.92, sigma = 2.02), IndependentCopula(dimension = 2))
ComposedDistribution(Exponential(lambda = 0.967, gamma = 0.00106), FisherSnedecor(d1 = 1.99, d2 = 157), IndependentCopula(dimension = 2))
ComposedDistribution(WeibullMin(beta = 0.626, alpha = 1.25, gamma = -0.496), Gamma(k = 1.41, lambda = 2.34, gamma = -0.497), IndependentCopula(dimension = 2))


I looked at the verbose output (ot.Log.Show(1)) for this targeted distribution, enclosed. Lines 30 and 31 show that the p-values of the Kolmogorov tests are greater than 0.05 only for the TruncatedNormal and Uniform distributions. I did not dig to find the reasons the TruncatedNormal gets selected (higher p-value? Alphabetical order? ...?) but this is not the desired output anyway.
outputMetaModelAlgorithm_uniform.txt

On other architectures I don't meet this issue.

Cheers,
Pierre

P.S.: thanks for the fixes of the other open issues you addressed today ! :) I had other new issues when packaging 1.20 but I trust they will be solved by your solutions to #2046 and #2047 as they are the same kind of problems.

@jschueller
Copy link
Member

I dont have this one, which version of debian is this ? which version of ceres ?

@pgrt
Copy link
Contributor Author

pgrt commented Nov 23, 2022

Hi,

I got it using Debian experimental (but I have the same ones on Debian unstable), with ceres 2.1.0.

Today I ran the test again, and surprisingly the estimated parameters of TruncatedNormal are different, as I got


DBG - class=TestResult name=Unnamed type=Kolmogorov TruncatedNormal binaryQualityMeasure=true p-value threshold=0.001 p-value=0.853 statistic=0.0135 description=[TruncatedNormal(mu = 6.68, sigma = 16.7, a = -3.14, b = 3.14) vs sample Unnamed]
DBG - class=TestResult name=Unnamed type=Kolmogorov Uniform binaryQualityMeasure=true p-value threshold=0.001 p-value=0.197 statistic=0.024 description=[Uniform(a = -3.14, b = 3.14) vs sample Unnamed]


on ppc64el (IBM Power8) but also on amd64 (exactly the same estimated parameters, the same version of ceres, and also on Debian experimental).
Still, the distribution which is selected is


ComposedDistribution(TruncatedNormal(mu = 1.94e+05, sigma = 4.74e+03, a = -3.14, b = 3.13), Uniform(a = -3.14, b = 3.14), IndependentCopula(dimension = 2))


on ppc64el and


ComposedDistribution(Uniform(a = -3.14, b = 3.14), Uniform(a = -3.14, b = 3.14), IndependentCopula(dimension = 2))


on amd64 although the estimated distributions and p-values of the Kolmogorov tests on both architectures are exactly the same: only the selection of the winning distribution seems to differ.

Are you able to get a p-value higher than 0.05 for TruncatedNormal on your side?

Thanks a lot,

Pierre

@jschueller
Copy link
Member

same as #2046

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants