discrete_rv¶
Filename: discrete_rv.py
Authors: Thomas Sargent, John Stachurski
Generates an array of draws from a discrete random variable with a specified vector of probabilities.

class
quantecon.discrete_rv.
DiscreteRV
(q)[source]¶ Bases:
object
Generates an array of draws from a discrete random variable with vector of probabilities given by q.
Parameters: q : array_like(float)
Nonnegative numbers that sum to 1
Attributes
q
Getter method for q. Q (array_like(float)) The cumulative sum of q Methods
draw
([k])Returns k draws from q. 
draw
(k=1)[source]¶ Returns k draws from q.
For each such draw, the value i is returned with probability q[i].
Parameters: k : scalar(int), optional
Number of draws to be returned
Returns: array_like(int)
An array of k independent draws from q

q
¶ Getter method for q.


quantecon.discrete_rv.
uniform
(low=0.0, high=1.0, size=None)¶ Draw samples from a uniform distribution.
Samples are uniformly distributed over the halfopen interval
[low, high)
(includes low, but excludes high). In other words, any value within the given interval is equally likely to be drawn by uniform.Parameters: low : float, optional
Lower boundary of the output interval. All values generated will be greater than or equal to low. The default value is 0.
high : float
Upper boundary of the output interval. All values generated will be less than high. The default value is 1.0.
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. Default is None, in which case a single value is returned.Returns: out : ndarray
Drawn samples, with shape size.
See also
randint
 Discrete uniform distribution, yielding integers.
random_integers
 Discrete uniform distribution over the closed interval
[low, high]
. random_sample
 Floats uniformly distributed over
[0, 1)
. random
 Alias for random_sample.
rand
 Convenience function that accepts dimensions as input, e.g.,
rand(2,2)
would generate a 2by2 array of floats, uniformly distributed over[0, 1)
.
Notes
The probability density function of the uniform distribution is
\[p(x) = \frac{1}{b  a}\]anywhere within the interval
[a, b)
, and zero elsewhere.Examples
Draw samples from the distribution:
>>> s = np.random.uniform(1,0,1000)
All values are within the given interval:
>>> np.all(s >= 1) True >>> np.all(s < 0) True
Display the histogram of the samples, along with the probability density function:
>>> import matplotlib.pyplot as plt >>> count, bins, ignored = plt.hist(s, 15, normed=True) >>> plt.plot(bins, np.ones_like(bins), linewidth=2, color='r') >>> plt.show()