Hi Regis, Thank you for this detailed answer.
So now that I am able to construct a composed distribution mixing continuous and discrete parameters, is there any objection to use this for Sobol' indices using the ot.SobolIndicesExperiment? From what I am seeing, it generates some doubloons so I was wondering if this was still correct. Also, I do not quite understand why the sampling is not deterministic. I thought it was based on a deterministic Sobol’ sequence. Can you clarify what’s behind this method? Thank again for you insights. Cheers, Pamphile > Le 8 nov. 2017 à 22:59, regis lebrun <[email protected]> a > écrit : > > Hi Pamphile, > > You can also have a look at the output of > DistributionFactory.GetDiscreteMultivariateFactories() and > DistributionFactory.GetDiscreteUnivariateFactories() to get the list of all > the discrete distributions for which a parametric estimation method has been > implemented. Not exactly what you asked for, but rather close. > > You mentioned the Multinomial distribution. Be aware of the fact that we > don't implement the textbook multinomial distribution (for which > X_1+...+X_d=n) because: > 1) This distribution is not absolutely continuous wrt the discrete Lebesgues > measure on {0,...,n}^d > 2) As such, it does not correspond to the binomial distribution for any > choice of the parameters > 3) Our definition allows to recover the classical one using an obvious trick > (set the d+1 component of the probability vector to 0) > > You have noticed that the UserDefined class allows to define any (ie > arbitrary dimension, arbitrary finite support size) discrete distribution > with finite support. It is why the list of discrete distributions is much > shorter than the list of absolutely continuous distributions. > > For a given distribution, you can check if it is continuous > (myDist.isContinuous()), discrete (myDist.isDiscrete(), which is NOT the > negation of isContinuous()) or integral (myDist.isIntegral()), this last > property allowing to check if the support is part of a lattice, very useful > eg to apply Poisson's summation formula. > > Using the Mixture class, you can easily build a distribution which is neither > continuous nor discrete, think about the waiting time at a traffic light as > an application. > > You can get the discrete distribution of a linear combination of independent > discrete distributions using the RandomMixture class. It is limited to > univariate distributions for now. > > A++ > > Régis > > Le mercredi 8 novembre 2017 à 14:27:36 UTC+1, Julien Schueller | Phimeca > <[email protected]> a écrit : > > > Hi Roy, > > > There are several discrete distributions: > > - Poisson > > - Binomial > > - Multinomial > > - Dirac > > - Geometric > > - Skellam > > - Bernoulli > > - NegativeBinomial > > - UserDefined > > - ZipfMandelbrot > > > > Maybe they should be highlighted in the doc. > > > > j > De : [email protected] <[email protected]> de la part de > roy <[email protected]> > Envoyé : mercredi 8 novembre 2017 14:14:04 > À : users > Objet : [ot-users] Discrete distribution > > Hi everyone, > > I was looking at a way to have discrete distribution. > From the doc there is no discrete distribution (or I missed it) so I wanted > to use scipy’s distributions > and wrap them with ot.SciPyDistribution. But with randint I got this issue : > > >>> ot.SciPyDistribution(randint) > Traceback (most recent call last): > File "<stdin>", line 1, in <module> > File > "/Users/roy/Applications/miniconda3/envs/batman3/lib/python3.6/site-packages/openturns/model_copula.py", > line 3047, in __init__ > raise TypeError('Argument is not a scipy distribution') > TypeError: Argument is not a scipy distribution > > I tried commenting the raise and it seems to work as I expected. But I > suppose the raise is here for a reason. > > Until then I am using this: > > from scipy.stats import randint > import openturns as ot > > rv = randint(10, 20) > points = ot.Sample(10000, 1) > for i in range(10000): > points[i] = (rv.rvs(),) > > disc_dist = ot.UserDefined(points) > > Thanks. > > Sincerely, > > Pamphile ROY > Chercheur doctorant en Quantification d’Incertitudes > CERFACS - Toulouse (31) - France > +33 (0) 5 61 19 31 57 > +33 (0) 7 86 43 24 22 > > > > _______________________________________________ > OpenTURNS users mailing list > [email protected] <mailto:[email protected]> > http://openturns.org/mailman/listinfo/users > <http://openturns.org/mailman/listinfo/users> > _______________________________________________ > OpenTURNS users mailing list > [email protected] > http://openturns.org/mailman/listinfo/users
_______________________________________________ OpenTURNS users mailing list [email protected] http://openturns.org/mailman/listinfo/users
