NAME
Logic::Probabilistic::Distribution - Stores discrete probability distributions and statistical moments.
SYNOPSIS
my $dist = $prog->query_distribution(call('dice_sum', $total));
say "Mean: " . $dist->mean;
say "Variance: " . $dist->variance;
say "Mode: " . $dist->mode;
say "P(Sum = 7) " . $dist->probability(7);
say $dist; # Pretty ASCII table / histogram
METHODS
probability($val)-
Probability mass of a specific value $P(X = v)$. Aliased as
probandpmf. probabilities-
Hashref (scalar context) or hash (list context) of all values to their probabilities.
values-
Sorted list of all discrete values in the distribution.
support-
List of values having strictly non-zero probability.
mean-
Expected value $E[X] = \sum v \cdot P(X = v)$ for numeric distributions.
variance-
Variance $\text{Var}(X) = E[(X - \mu)^2]$.
std_dev-
Standard deviation $\sqrt{\text{Var}(X)}$. Aliased as
sd. mode-
Value(s) with highest probability.
min,max-
Minimum and maximum values with non-zero probability.
cdf($val)-
Cumulative distribution function $P(X \le val)$.
quantile($q)/percentile($pct)-
Quantile function for numeric distributions.
entropy($base = 2)-
Shannon entropy in bits (default base 2).
sample-
Draws a random value according to the probability mass function.
to_string(%opts)-
Formats the distribution as an ASCII table with a distribution histogram bar chart.