mars.tensor.random.triangular¶

mars.tensor.random.
triangular
(left, mode, right, size=None, chunk_size=None, gpu=None, dtype=None)[source]¶ Draw samples from the triangular distribution over the interval
[left, right]
.The triangular distribution is a continuous probability distribution with lower limit left, peak at mode, and upper limit right. Unlike the other distributions, these parameters directly define the shape of the pdf.
 Parameters
left (float or array_like of floats) – Lower limit.
mode (float or array_like of floats) – The value where the peak of the distribution occurs. The value should fulfill the condition
left <= mode <= right
.right (float or array_like of floats) – Upper limit, should be larger than left.
size (int or tuple of ints, optional) – Output shape. If the given shape is, e.g.,
(m, n, k)
, thenm * n * k
samples are drawn. If size isNone
(default), a single value is returned ifleft
,mode
, andright
are all scalars. Otherwise,mt.broadcast(left, mode, right).size
samples are drawn.chunk_size (int or tuple of int or tuple of ints, optional) – Desired chunk size on each dimension
gpu (bool, optional) – Allocate the tensor on GPU if True, False as default
dtype (datatype, optional) – Datatype of the returned tensor.
 Returns
out – Drawn samples from the parameterized triangular distribution.
 Return type
Tensor or scalar
Notes
The probability density function for the triangular distribution is
\[\begin{split}P(x;l, m, r) = \begin{cases} \frac{2(xl)}{(rl)(ml)}& \text{for $l \leq x \leq m$},\\ \frac{2(rx)}{(rl)(rm)}& \text{for $m \leq x \leq r$},\\ 0& \text{otherwise}. \end{cases}\end{split}\]The triangular distribution is often used in illdefined problems where the underlying distribution is not known, but some knowledge of the limits and mode exists. Often it is used in simulations.
References
 1
Wikipedia, “Triangular distribution” http://en.wikipedia.org/wiki/Triangular_distribution
Examples
Draw values from the distribution and plot the histogram:
>>> import matplotlib.pyplot as plt >>> import mars.tensor as mt >>> h = plt.hist(mt.random.triangular(3, 0, 8, 100000).execute(), bins=200, ... normed=True) >>> plt.show()