Log-Gaussian (Log-Normal)
Data Type: float
The log-Gaussian distribution is used to model data that is normal on the log scale. The probability density function is given by
For more info see log-Gaussian Distribution.
LogGaussianDistribution
- class dmx.stats.log_gaussian.LogGaussianDistribution(mu, sigma2, name=None, keys=None)
LogGaussianDistribution object defines Gaussian distribution with mean mu and variance sigma2.
- mu
Location parameter for log-Gaussian distribution.
- Type:
float
- sigma2
Scale for log-Gaussian distribution.
- Type:
float
- const
Normalizing constant (depends on sigma2).
- Type:
float
- log_const
Log of above.
- Type:
float
- name
String for name of object.
- Type:
Optional[str]
- keys
Key for parameters of dist.
- Type:
Optional[str]
- __init__(mu, sigma2, name=None, keys=None)
LogGaussianDistribution object.
- Parameters:
mu (float) – Real-valued number.
sigma2 (float) – Positive real-valued number.
name (Optional[str]) – String for name of object.
keys (Optional[str]) – Key for parameters of dist.
- density(x)
Density of Log-Gaussian distribution at observation x.
See log_density() for details.
- Parameters:
x (float) – Positive real-valued number.
- Returns:
Density of Log-Gaussian at x.
- Return type:
float
- dist_to_encoder()
Create DataSequenceEncoder object for SequenceEncodableProbabilityDistribution instance.
- Return type:
LogGaussianDataEncoder- Returns:
DataSequenceEncoder
- estimator(pseudo_count=None)
Create a ParameterEstimator for corresponding SequenceEncodableProbabilityDistribution.
- Parameters:
pseudo_count (Optional[float]) – Regularize sufficient statistics in estimation step.
- Return type:
- Returns:
ParameterEstimator
- log_density(x)
Log-density of log-Gaussian distribution at observation x.
- Parameters:
x (float) – Positive valued observation of log-Gaussian.
- Returns:
Log-density at observation x.
- Return type:
float
- sampler(seed=None)
Create a DistributionSampler object for a given ProbabilityDistribution.
- Parameters:
seed (Optional[int]) – Set seed for drawing samples from distribution.
- Return type:
- seq_log_density(x)
Vectorized evaluation of the log density.
- Parameters:
x (EncodedDataSequence) – EncodedDataSequence for corresponding SequenceEncodedProbabilityDistribution.
- Return type:
ndarray- Returns:
np.ndarray
LogGaussianEstimator
- class dmx.stats.log_gaussian.LogGaussianEstimator(pseudo_count=(None, None), suff_stat=(None, None), name=None, keys=None)
LogGaussianEstimator object used to estimate LogGaussianDistribution.
- pseudo_count
Weights for suff_stat.
- Type:
Tuple[Optional[float], Optional[float]]
- suff_stat
Tuple of mean (mu) and variance (sigma2).
- Type:
Tuple[Optional[float], Optional[float]]
- name
String name of LogGaussianEstimator instance.
- Type:
Optional[str]
- keys
String keys of LogGaussianEstimator instance for combining sufficient statistics.
- Type:
Optional[str]
- __init__(pseudo_count=(None, None), suff_stat=(None, None), name=None, keys=None)
LogGaussianEstimator object.
- Parameters:
pseudo_count (Tuple[Optional[float], Optional[float]]) – Tuple of two positive floats.
suff_stat (Tuple[Optional[float], Optional[float]]) – Tuple of float and positive float.
name (Optional[str]) – Assign a name to LogGaussianEstimator.
keys (Optional[str]) – Assign keys to LogGaussianEstimator for combining sufficient statistics.
- accumulator_factory()
Create SequenceEncodableStatisticAccumulator object.
- Return type:
LogGaussianAccumulatorFactory
- estimate(nobs, suff_stat)
Estimate SequenceEncodableProbabilityDistribution for sufficient statistics.
- Parameters:
nobs (Optional[float]) – Weighted number of observations.
suff_stat (Tuple[int, np.ndarray, np.ndarray, np.ndarray]) – Sufficient statistics for dirichlet distribution.
- Return type:
- Returns:
SequenceEncodableProbabilityDistribution
LogGaussianSampler
- class dmx.stats.log_gaussian.LogGaussianSampler(dist, seed=None)
LogGaussianSampler for drawing samples from LogGaussianSampler instance.
- dist
LogGaussianDistribution instance to sample from.
- Type:
- rng
RandomState with seed set to seed if passed in args.
- Type:
RandomState
- sample(size=None)
Draw ‘size’ iid samples from LogGaussianSampler object.
Numpy array of length ‘size’ from log-Gaussian distribution with scale beta if size not None. Else a single sample is returned as float.
- Parameters:
size (Optional[int]) – Treated as 1 if None is passed.
- Return type:
Union[float,ndarray]- Returns:
‘size’ iid samples from Gaussian distribution.