Binomial
Data Type: int
The binomial distribution is used for modeling the number of successes for a given number of trials n. The distribution has support on the integers between [min_val, min_val + n), where min_val is supplied by the user.
The probability mass function is given by
BinomialDistribution
- class pysp.stats.binomial.BinomialDistribution(p, n, min_val=None, name=None, keys=None)
BinomialDistribution object used for Binomial
- p
Probability of success, between (0, 1.0].
- Type:
float
- log_p
Logarithm of p.
- Type:
float
- log_1p
Logarithm of 1-p.
- Type:
float
- n
Number of trials, n > 0.
- Type:
int
- min_val
Minimum value of the support.
- Type:
Optional[int]
- name
Name of the distribution.
- Type:
Optional[str]
- keys
Key for identifying equivalent distributions.
- Type:
Optional[str]
- __init__(p, n, min_val=None, name=None, keys=None)
Initialize BinomialDistribution.
- Parameters:
p (float) – Probability of success, between (0, 1.0].
n (int) – Number of trials, n > 0.
min_val (Optional[int], optional) – Minimum value of the support. Defaults to None.
name (Optional[str], optional) – Name of the distribution. Defaults to None.
keys (Optional[str], optional) – Key for identifying equivalent distributions. Defaults to None.
- Raises:
Exception – If p is not in (0, 1) or n is not positive.
- density(x)
Return the probability mass at integer value x.
- Parameters:
x (int) – Value for density evaluation.
- Returns:
Probability mass at x. 0.0 if x is not in support.
- Return type:
float
- dist_to_encoder()
Return a BinomialDataEncoder.
- Return type:
BinomialDataEncoder
- estimator(pseudo_count=None)
Create a BinomialEstimator for this distribution.
- Parameters:
pseudo_count (Optional[float], optional) – Pseudo-count for prior. Defaults to None.
- Returns:
Estimator object.
- Return type:
- log_density(x)
Return the log-probability mass at integer value x.
- Parameters:
x (int) – Value for log-density evaluation.
- Returns:
Log-probability mass at x. -inf if x is not in support.
- Return type:
float
- sampler(seed=None)
Return a BinomialSampler for this distribution.
- Parameters:
seed (Optional[int], optional) – Seed for RNG. Defaults to None.
- Returns:
Sampler for this distribution.
- Return type:
- seq_log_density(x)
Vectorized log-density for encoded data.
- Parameters:
x (BinomialEncodedDataSequence) – Encoded data sequence.
- Returns:
Log-density values.
- Return type:
np.ndarray
BinomialEstimator
- class pysp.stats.binomial.BinomialEstimator(max_val=None, min_val=0, pseudo_count=None, suff_stat=None, name=None, keys=None)
Estimator for BinomialDistribution.
- max_val
Max value encountered.
- Type:
Optional[int]
- min_val
Min value for BinomialDistribution.
- Type:
Optional[int]
- pseudo_count
Pseudo-count for prior.
- Type:
Optional[float]
- suff_stat
Sufficient statistic for prior.
- Type:
Optional[float]
- name
Name of the estimator.
- Type:
Optional[str]
- keys
Key for merging estimators.
- Type:
Optional[str]
- __init__(max_val=None, min_val=0, pseudo_count=None, suff_stat=None, name=None, keys=None)
Initialize BinomialEstimator.
- Parameters:
max_val (Optional[int], optional) – Max value encountered. Defaults to None.
min_val (Optional[int], optional) – Min value for BinomialDistribution. Defaults to 0.
pseudo_count (Optional[float], optional) – Pseudo-count for prior. Defaults to None.
suff_stat (Optional[float], optional) – Sufficient statistic for prior. Defaults to None.
name (Optional[str], optional) – Name of the estimator. Defaults to None.
keys (Optional[str], optional) – Key for merging estimators. Defaults to None.
- Raises:
TypeError – If keys is not a string or None.
- accumulator_factory()
Return a BinomialAccumulatorFactory.
- Return type:
BinomialAccumulatorFactory
- estimate(nobs, suff_stat)
Estimate a BinomialDistribution from sufficient statistics.
- Parameters:
nobs (Optional[float]) – Not used.
suff_stat (Tuple[float, float, Optional[int], Optional[int]]) – (count, sum, min_val, max_val).
- Returns:
Estimated distribution.
- Return type:
BinomialSampler
- class pysp.stats.binomial.BinomialSampler(dist, seed=None)
Sampler for BinomialDistribution.
- dist
Distribution to sample from.
- Type:
- rng
Random number generator.
- Type:
RandomState
- sample(size=None)
Draw samples from the distribution.
- Parameters:
size (Optional[int], optional) – Number of samples to draw. Defaults to None.
- Returns:
Single sample or list of samples.
- Return type:
Union[int, List[int]]