1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120
|
#! /usr/bin/env python
import openturns as ot
ot.TESTPREAMBLE()
continuousDistributionCollection = ot.DistributionCollection()
discreteDistributionCollection = ot.DistributionCollection()
distributionCollection = ot.DistributionCollection()
beta = ot.Beta(2.0, 1.0, 0.0, 1.0)
distributionCollection.add(beta)
continuousDistributionCollection.add(beta)
gamma = ot.Gamma(1.0, 2.0, 3.0)
distributionCollection.add(gamma)
continuousDistributionCollection.add(gamma)
gumbel = ot.Gumbel(1.0, 2.0)
distributionCollection.add(gumbel)
continuousDistributionCollection.add(gumbel)
lognormal = ot.LogNormal(1.0, 1.0, 2.0)
distributionCollection.add(lognormal)
continuousDistributionCollection.add(lognormal)
logistic = ot.Logistic(1.0, 1.0)
distributionCollection.add(logistic)
continuousDistributionCollection.add(logistic)
normal = ot.Normal(1.0, 2.0)
distributionCollection.add(normal)
continuousDistributionCollection.add(normal)
truncatednormal = ot.TruncatedNormal(1.0, 1.0, 0.0, 3.0)
distributionCollection.add(truncatednormal)
continuousDistributionCollection.add(truncatednormal)
student = ot.Student(10.0, 10.0, 1.0)
distributionCollection.add(student)
continuousDistributionCollection.add(student)
triangular = ot.Triangular(-1.0, 2.0, 4.0)
distributionCollection.add(triangular)
continuousDistributionCollection.add(triangular)
uniform = ot.Uniform(1.0, 2.0)
distributionCollection.add(uniform)
continuousDistributionCollection.add(uniform)
weibull = ot.WeibullMin(1.0, 1.0, 2.0)
distributionCollection.add(weibull)
continuousDistributionCollection.add(weibull)
geometric = ot.Geometric(0.5)
distributionCollection.add(geometric)
discreteDistributionCollection.add(geometric)
poisson = ot.Poisson(2.0)
distributionCollection.add(poisson)
discreteDistributionCollection.add(poisson)
x = [[1.0], [2.0], [3.0]]
p = [0.3, 0.2, 0.5]
userdefined = ot.UserDefined(x, p)
distributionCollection.add(userdefined)
discreteDistributionCollection.add(userdefined)
size = 10000
# Number of continuous distributions
continuousDistributionNumber = continuousDistributionCollection.getSize()
# Number of discrete distributions
discreteDistributionNumber = discreteDistributionCollection.getSize()
# Number of distributions
distributionNumber = continuousDistributionNumber + discreteDistributionNumber
# We create a collection of Sample of size "size" and of
# dimension 1 (scalar values) : the collection has distributionNumber
# Samples
sampleCollection = [ot.Sample(size, 1) for i in range(distributionNumber)]
# We create a collection of Sample of size "size" and of
# dimension 1 (scalar values) : the collection has
# continuousDistributionNumber Samples
continuousSampleCollection = [
ot.Sample(size, 1) for i in range(continuousDistributionNumber)
]
# We create a collection of Sample of size "size" and of
# dimension 1 (scalar values) : the collection has
# discreteDistributionNumber Samples
discreteSampleCollection = [
ot.Sample(size, 1) for i in range(discreteDistributionNumber)
]
for i in range(continuousDistributionNumber):
continuousSampleCollection[i] = continuousDistributionCollection[i].getSample(size)
continuousSampleCollection[i].setName(continuousDistributionCollection[i].getName())
sampleCollection[i] = continuousSampleCollection[i]
for i in range(discreteDistributionNumber):
discreteSampleCollection[i] = discreteDistributionCollection[i].getSample(size)
discreteSampleCollection[i].setName(discreteDistributionCollection[i].getName())
sampleCollection[continuousDistributionNumber + i] = discreteSampleCollection[i]
# Test the normality of several samples using the Anderson Darling test
andersonDarlingResult = ot.Point(distributionNumber)
for i in range(distributionNumber):
result = ot.NormalityTest.AndersonDarlingNormal(sampleCollection[i])
andersonDarlingResult[i] = result.getBinaryQualityMeasure()
print(
"sample ", sampleCollection[i].getName(), " result=", andersonDarlingResult[i]
)
print("andersonDarlingResult=", repr(andersonDarlingResult))
# Test the normality of several samples using the Cramer Von Mises test
cramerVonMisesResult = ot.Point(distributionNumber)
for i in range(distributionNumber):
result = ot.NormalityTest.CramerVonMisesNormal(sampleCollection[i])
cramerVonMisesResult[i] = result.getBinaryQualityMeasure()
print("sample ", sampleCollection[i].getName(), " result=", cramerVonMisesResult[i])
print("cramerVonMisesResult=", repr(cramerVonMisesResult))
|