Geometric
Data Type: int
The geometric distribution is used to model the number of trials until the first success. The probability mass function is given by
For more info see Geometric Distribution.
GeometricDistribution
- class dml.stats.geometric.GeometricDistribution(p, name=None, keys=None)
Geometric distribution with probability of success p.
- p
Probability of success, must be between (0,1).
- Type:
float
- log_p
Log of probability of success p.
- Type:
float
- log_1p
Log of 1-p (probability of failure).
- Type:
float
- name
Name for the GeometricDistribution object.
- Type:
Optional[str]
- keys
Key for parameter p.
- Type:
Optional[str]
- __init__(p, name=None, keys=None)
Initialize GeometricDistribution.
- Parameters:
p (float) – Probability of success, must be between (0,1).
name (Optional[str], optional) – Name for the GeometricDistribution object.
keys (Optional[str], optional) – Key for parameter p.
- density(x)
Evaluate the density of the geometric distribution at x.
\[P(x=k) = (k-1)\log(1-p) + \log(p), \quad x = 1,2,...\]- Parameters:
x (int) – Observed geometric value (1,2,3,…).
- Returns:
Density of geometric distribution evaluated at x.
- Return type:
float
- dist_to_encoder()
Return a GeometricDataEncoder for this distribution.
- Returns:
Encoder object.
- Return type:
GeometricDataEncoder
- estimator(pseudo_count=None)
Return a GeometricEstimator for this distribution.
- Parameters:
pseudo_count (Optional[float], optional) – Pseudo-count for regularization.
- Returns:
Estimator object.
- Return type:
- log_density(x)
Evaluate the log-density of the geometric distribution at x.
- Parameters:
x (int) – Must be a natural number (1,2,3,…).
- Returns:
Log-density of geometric distribution evaluated at x.
- Return type:
float
- sampler(seed=None)
Return a GeometricSampler for this distribution.
- Parameters:
seed (Optional[int], optional) – Seed for random number generator.
- Returns:
Sampler object.
- Return type:
- seq_log_density(x)
Vectorized log-density for encoded data.
- Parameters:
x (GeometricEncodedDataSequence) – Encoded data sequence.
- Returns:
Log-density values.
- Return type:
np.ndarray
GeometricEstimator
- class dml.stats.geometric.GeometricEstimator(pseudo_count=None, suff_stat=None, name=None, keys=None)
Estimator for the geometric distribution from aggregated sufficient statistics.
- pseudo_count
Pseudo-count for regularization.
- Type:
Optional[float]
- suff_stat
Probability of success (value between (0,1)).
- Type:
Optional[float]
- name
Name for the estimator.
- Type:
Optional[str]
- keys
Key for merging sufficient statistics.
- Type:
Optional[str]
- __init__(pseudo_count=None, suff_stat=None, name=None, keys=None)
Initialize GeometricEstimator.
- Parameters:
pseudo_count (Optional[float], optional) – Pseudo-count for regularization.
suff_stat (Optional[float], optional) – Probability of success (value between (0,1)).
name (Optional[str], optional) – Name for the estimator.
keys (Optional[str], optional) – Key for merging sufficient statistics.
- Raises:
TypeError – If keys is not a string or None.
- accumulator_factory()
Return a GeometricAccumulatorFactory for this estimator.
- Returns:
Factory object.
- Return type:
GeometricAccumulatorFactory
- estimate(nobs, suff_stat)
Estimate a GeometricDistribution from sufficient statistics.
- Parameters:
nobs (Optional[float]) – Number of observations (not used).
suff_stat (Tuple[float, float]) – (count, sum) sufficient statistics.
- Returns:
Estimated distribution.
- Return type:
GeometricSampler
- class dml.stats.geometric.GeometricSampler(dist, seed=None)
Sampler for the geometric distribution.
- rng
RandomState with seed set for sampling.
- Type:
RandomState
- dist
GeometricDistribution to sample from.
- Type:
- sample(size=None)
Generate iid samples from geometric distribution.
- Parameters:
size (Optional[int], optional) – Number of iid samples to draw. If None, returns a single sample.
- Returns:
Single sample (int) or numpy array of ints.
- Return type:
Union[int, np.ndarray]