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

\[f(x | n, p) = {n \choose x} p^x (1-p)^{n-x}, \: min\_val\leq x < min\_val + n.\]

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:

BinomialEstimator

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:

BinomialSampler

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:

BinomialDistribution

BinomialSampler

class pysp.stats.binomial.BinomialSampler(dist, seed=None)

Sampler for BinomialDistribution.

dist

Distribution to sample from.

Type:

BinomialDistribution

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]]