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}^d2) As such, it does not correspond to the 
binomial distribution for any choice of the parameters3) 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 
distributionsand 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 randintimport 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]
http://openturns.org/mailman/listinfo/users
  
_______________________________________________
OpenTURNS users mailing list
[email protected]
http://openturns.org/mailman/listinfo/users

Reply via email to