Skip to content

Commit

Permalink
Fix t_MaximumDistribution_std
Browse files Browse the repository at this point in the history
  • Loading branch information
josephmure committed Mar 25, 2024
1 parent 5a9304b commit fe4b4f9
Show file tree
Hide file tree
Showing 4 changed files with 16 additions and 24 deletions.
12 changes: 9 additions & 3 deletions lib/test/t_MaximumDistribution_std.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -109,11 +109,17 @@ int main(int, char *[])
LevelSet levelSet(distribution.computeMinimumVolumeLevelSetWithThreshold(0.95, beta));
fullprint << "Minimum volume level set=" << levelSet << std::endl;
fullprint << "beta=" << beta << std::endl;
fullprint << "Bilateral confidence interval=" << distribution.computeBilateralConfidenceIntervalWithMarginalProbability(0.95, beta) << std::endl;
Interval interval(distribution.computeBilateralConfidenceIntervalWithMarginalProbability(0.95, beta));
assert_almost_equal(interval.getLowerBound(), {-0.0547313}, 1e-4, 0.0);
assert_almost_equal(interval.getUpperBound(), {2.57233}, 1e-4, 0.0);
fullprint << "beta=" << beta << std::endl;
fullprint << "Unilateral confidence interval (lower tail)=" << distribution.computeUnilateralConfidenceIntervalWithMarginalProbability(0.95, false, beta) << std::endl;
interval = distribution.computeUnilateralConfidenceIntervalWithMarginalProbability(0.95, false, beta);
assert_almost_equal(interval.getLowerBound(), {-7.65063}, 1e-4, 0.0);
assert_almost_equal(interval.getUpperBound(), {2.31868}, 1e-4, 0.0);
fullprint << "beta=" << beta << std::endl;
fullprint << "Unilateral confidence interval (upper tail)=" << distribution.computeUnilateralConfidenceIntervalWithMarginalProbability(0.95, true, beta) << std::endl;
interval = distribution.computeUnilateralConfidenceIntervalWithMarginalProbability(0.95, true, beta);
assert_almost_equal(interval.getLowerBound(), {0.123843}, 1e-4, 0.0);
assert_almost_equal(interval.getUpperBound(), {7.65063}, 1e-4, 0.0);
fullprint << "beta=" << beta << std::endl;
Point mean = distribution.getMean();
fullprint << "mean=" << mean << std::endl;
Expand Down
9 changes: 0 additions & 9 deletions lib/test/t_MaximumDistribution_std.expout
Original file line number Diff line number Diff line change
Expand Up @@ -45,11 +45,8 @@ Minimum volume level set=class=LevelSet name=Unnamed dimension=1 function=class=
[ 0 0 0 1 0 ]
[ 0 0 0 0 1 ]]))) level=2.46478
beta=0.0850272
Bilateral confidence interval=class=Interval name=Unnamed dimension=1 lower bound=class=Point name=Unnamed dimension=1 values=[-0.0547313] upper bound=class=Point name=Unnamed dimension=1 values=[2.57233] finite lower bound=[1] finite upper bound=[1]
beta=0.95
Unilateral confidence interval (lower tail)=class=Interval name=Unnamed dimension=1 lower bound=class=Point name=Unnamed dimension=1 values=[-7.65063] upper bound=class=Point name=Unnamed dimension=1 values=[2.31868] finite lower bound=[1] finite upper bound=[1]
beta=0.95
Unilateral confidence interval (upper tail)=class=Interval name=Unnamed dimension=1 lower bound=class=Point name=Unnamed dimension=1 values=[0.123843] upper bound=class=Point name=Unnamed dimension=1 values=[7.65063] finite lower bound=[1] finite upper bound=[1]
beta=0.95
mean=class=Point name=Unnamed dimension=1 values=[1.16296]
standard deviation=class=Point name=Unnamed dimension=1 values=[0.66898]
Expand Down Expand Up @@ -92,11 +89,8 @@ Minimum volume interval=class=Interval name=Unnamed dimension=1 lower bound=clas
threshold=0.95
Minimum volume level set=class=LevelSet name=Unnamed dimension=1 function=class=Function name=Unnamed implementation=class=FunctionImplementation name=Unnamed description=[X0,-logPDF] evaluationImplementation=MinimumVolumeLevelSetEvaluation(MaximumDistribution(JointDistribution(Normal(mu = 0, sigma = 1), Normal(mu = 0, sigma = 1), Normal(mu = 0, sigma = 1), Normal(mu = 0, sigma = 1), Normal(mu = 0, sigma = 1), IndependentCopula(dimension = 5)))) gradientImplementation=MinimumVolumeLevelSetGradient(MaximumDistribution(JointDistribution(Normal(mu = 0, sigma = 1), Normal(mu = 0, sigma = 1), Normal(mu = 0, sigma = 1), Normal(mu = 0, sigma = 1), Normal(mu = 0, sigma = 1), IndependentCopula(dimension = 5)))) hessianImplementation=class=CenteredFiniteDifferenceHessian name=Unnamed epsilon=class=Point name=Unnamed dimension=1 values=[0.0001] evaluation=MinimumVolumeLevelSetEvaluation(MaximumDistribution(JointDistribution(Normal(mu = 0, sigma = 1), Normal(mu = 0, sigma = 1), Normal(mu = 0, sigma = 1), Normal(mu = 0, sigma = 1), Normal(mu = 0, sigma = 1), IndependentCopula(dimension = 5)))) level=2.46478
beta=0.0850272
Bilateral confidence interval=class=Interval name=Unnamed dimension=1 lower bound=class=Point name=Unnamed dimension=1 values=[-0.0547313] upper bound=class=Point name=Unnamed dimension=1 values=[2.57233] finite lower bound=[1] finite upper bound=[1]
beta=0.95
Unilateral confidence interval (lower tail)=class=Interval name=Unnamed dimension=1 lower bound=class=Point name=Unnamed dimension=1 values=[-7.65063] upper bound=class=Point name=Unnamed dimension=1 values=[2.31868] finite lower bound=[1] finite upper bound=[1]
beta=0.95
Unilateral confidence interval (upper tail)=class=Interval name=Unnamed dimension=1 lower bound=class=Point name=Unnamed dimension=1 values=[0.123843] upper bound=class=Point name=Unnamed dimension=1 values=[7.65063] finite lower bound=[1] finite upper bound=[1]
beta=0.95
mean=class=Point name=Unnamed dimension=1 values=[1.16296]
standard deviation=class=Point name=Unnamed dimension=1 values=[0.66898]
Expand Down Expand Up @@ -134,11 +128,8 @@ Minimum volume interval=class=Interval name=Unnamed dimension=1 lower bound=clas
threshold=0.95
Minimum volume level set=class=LevelSet name=Unnamed dimension=1 function=class=Function name=Unnamed implementation=class=FunctionImplementation name=Unnamed description=[X0,-logPDF] evaluationImplementation=MinimumVolumeLevelSetEvaluation(MaximumDistribution(JointDistribution(Normal(mu = 0, sigma = 1), Normal(mu = 0, sigma = 1), Normal(mu = 0, sigma = 1), Normal(mu = 0, sigma = 1), Normal(mu = 0, sigma = 1), IndependentCopula(dimension = 5)))) gradientImplementation=MinimumVolumeLevelSetGradient(MaximumDistribution(JointDistribution(Normal(mu = 0, sigma = 1), Normal(mu = 0, sigma = 1), Normal(mu = 0, sigma = 1), Normal(mu = 0, sigma = 1), Normal(mu = 0, sigma = 1), IndependentCopula(dimension = 5)))) hessianImplementation=class=CenteredFiniteDifferenceHessian name=Unnamed epsilon=class=Point name=Unnamed dimension=1 values=[0.0001] evaluation=MinimumVolumeLevelSetEvaluation(MaximumDistribution(JointDistribution(Normal(mu = 0, sigma = 1), Normal(mu = 0, sigma = 1), Normal(mu = 0, sigma = 1), Normal(mu = 0, sigma = 1), Normal(mu = 0, sigma = 1), IndependentCopula(dimension = 5)))) level=2.46478
beta=0.0850272
Bilateral confidence interval=class=Interval name=Unnamed dimension=1 lower bound=class=Point name=Unnamed dimension=1 values=[-0.0547313] upper bound=class=Point name=Unnamed dimension=1 values=[2.57233] finite lower bound=[1] finite upper bound=[1]
beta=0.95
Unilateral confidence interval (lower tail)=class=Interval name=Unnamed dimension=1 lower bound=class=Point name=Unnamed dimension=1 values=[-7.65063] upper bound=class=Point name=Unnamed dimension=1 values=[2.31868] finite lower bound=[1] finite upper bound=[1]
beta=0.95
Unilateral confidence interval (upper tail)=class=Interval name=Unnamed dimension=1 lower bound=class=Point name=Unnamed dimension=1 values=[0.123843] upper bound=class=Point name=Unnamed dimension=1 values=[7.65063] finite lower bound=[1] finite upper bound=[1]
beta=0.95
mean=class=Point name=Unnamed dimension=1 values=[1.16296]
standard deviation=class=Point name=Unnamed dimension=1 values=[0.66898]
Expand Down
9 changes: 0 additions & 9 deletions python/test/t_MaximumDistribution_std.expout
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,6 @@ quantile= [2.31868]
cdf(quantile)=0.95
quantile (tail)= [0.123843]
cdf (tail)=0.95
Minimum volume interval= [-0.112778, 2.50221]
threshold= 0.95
Minimum volume level set= {x | f(x) <= 2.46478} with f=
MinimumVolumeLevelSetEvaluation(MaximumDistribution(Normal(mu = [0,0,0,0,0], sigma = [1,1,1,1,1], R = 5x5
Expand All @@ -37,9 +36,7 @@ MinimumVolumeLevelSetEvaluation(MaximumDistribution(Normal(mu = [0,0,0,0,0], sig
beta=0.085027
Bilateral confidence interval= [-0.0547313, 2.57233]
beta=0.95
Unilateral confidence interval (lower tail)= [-0.112778, 2.50221]
beta=0.95
Unilateral confidence interval (upper tail)= [-0.112778, 2.50221]
beta=0.95
mean= [1.16296]
standard deviation= [0.66898]
Expand Down Expand Up @@ -77,16 +74,13 @@ quantile= [2.31868]
cdf(quantile)=0.95
quantile (tail)= [0.123843]
cdf (tail)=0.95
Minimum volume interval= [-0.112778, 2.50221]
threshold= 0.95
Minimum volume level set= {x | f(x) <= 2.46478} with f=
MinimumVolumeLevelSetEvaluation(MaximumDistribution(JointDistribution(Normal(mu = 0, sigma = 1), Normal(mu = 0, sigma = 1), Normal(mu = 0, sigma = 1), Normal(mu = 0, sigma = 1), Normal(mu = 0, sigma = 1), IndependentCopula(dimension = 5))))
beta=0.085027
Bilateral confidence interval= [-0.0547313, 2.57233]
beta=0.95
Unilateral confidence interval (lower tail)= [-0.112778, 2.50221]
beta=0.95
Unilateral confidence interval (upper tail)= [-0.112778, 2.50221]
beta=0.95
mean= [1.16296]
standard deviation= [0.66898]
Expand Down Expand Up @@ -119,16 +113,13 @@ quantile= [2.31868]
cdf(quantile)=0.95
quantile (tail)= [0.123843]
cdf (tail)=0.95
Minimum volume interval= [-0.112778, 2.50221]
threshold= 0.95
Minimum volume level set= {x | f(x) <= 2.46478} with f=
MinimumVolumeLevelSetEvaluation(MaximumDistribution(JointDistribution(Normal(mu = 0, sigma = 1), Normal(mu = 0, sigma = 1), Normal(mu = 0, sigma = 1), Normal(mu = 0, sigma = 1), Normal(mu = 0, sigma = 1), IndependentCopula(dimension = 5))))
beta=0.085027
Bilateral confidence interval= [-0.0547313, 2.57233]
beta=0.95
Unilateral confidence interval (lower tail)= [-0.112778, 2.50221]
beta=0.95
Unilateral confidence interval (upper tail)= [-0.112778, 2.50221]
beta=0.95
mean= [1.16296]
standard deviation= [0.66898]
Expand Down
10 changes: 7 additions & 3 deletions python/test/t_MaximumDistribution_std.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
#! /usr/bin/env python

import openturns as ot
import openturns.testing as ott

ot.TESTPREAMBLE()

Expand Down Expand Up @@ -82,7 +83,8 @@
interval,
threshold,
) = distribution.computeMinimumVolumeIntervalWithMarginalProbability(0.95)
print("Minimum volume interval=", interval)
ott.assert_almost_equal(interval.getLowerBound(), [-0.11278], 1e-4, 0.0)
ott.assert_almost_equal(interval.getUpperBound(), [2.50221], 1e-4, 0.0)
print("threshold=", threshold)
levelSet, beta = distribution.computeMinimumVolumeLevelSetWithThreshold(0.95)
print("Minimum volume level set=", levelSet)
Expand All @@ -99,15 +101,17 @@
) = distribution.computeUnilateralConfidenceIntervalWithMarginalProbability(
0.95, False
)
print("Unilateral confidence interval (lower tail)=", interval)
ott.assert_almost_equal(levelSet.getLowerBound(), [-7.65063], 1e-4, 0.0)
ott.assert_almost_equal(levelSet.getUpperBound(), [2.31868], 1e-4, 0.0)
print("beta=%.5g" % beta)
(
levelSet,
beta,
) = distribution.computeUnilateralConfidenceIntervalWithMarginalProbability(
0.95, True
)
print("Unilateral confidence interval (upper tail)=", interval)
ott.assert_almost_equal(levelSet.getLowerBound(), [0.123843], 1e-4, 0.0)
ott.assert_almost_equal(levelSet.getUpperBound(), [7.65063], 1e-4, 0.0)
print("beta=%.5g" % beta)
mean = distribution.getMean()
print("mean=", mean)
Expand Down

0 comments on commit fe4b4f9

Please sign in to comment.