bregman.application.distribution.exponential_family.multinomial package

Submodules

bregman.application.distribution.exponential_family.multinomial.dissimilarity module

class bregman.application.distribution.exponential_family.multinomial.dissimilarity.FisherRaoMultinomialDistance(manifold: TBregmanManifold)

Bases: Dissimilarity[MultinomialManifold]

Fisher-Rao distance on the Multinomial manifold.

dissimilarity(point_1: Point, point_2: Point) ndarray

Calculate Fisher-Rao distance for points on the Multinomial manifold.

Parameters:
  • point_1 – Left-sided argument of the Fisher-Rao distance.

  • point_2 – Right-sided argument of the Fisher-Rao distance.

Returns:

Fisher-Rao distance between point_1 and point_2 on the Multinomial manifold.

bregman.application.distribution.exponential_family.multinomial.geodesic module

class bregman.application.distribution.exponential_family.multinomial.geodesic.FisherRaoMultinomialGeodesic(manifold: MultinomialManifold, source: Point, dest: Point)

Bases: Geodesic[MultinomialManifold]

Fisher-Rao geodesic on the Multinomial manifold.

src_dest_dist

Fisher-Rao distance function for the Multinomial manifold.

f

Constant used for geodesic calculation.

path(t: float) Point

Fisher-Rao geodesic evaluated at point t in [0, 1]. The Fisher-Rao geodesic converts the points into spherical coordinates and then calculates the geodesic on the sphere.

Parameters:

t – Value in [0, 1] corresponding to the parameterization of the geodesic.

Returns:

Fisher-Rao geodesic on the Multinomial manifold at t.

bregman.application.distribution.exponential_family.multinomial.multinomial module

class bregman.application.distribution.exponential_family.multinomial.multinomial.MultinomialDistribution(theta: ndarray, n: int)

Bases: ExponentialFamilyDistribution

Multinomial distributions as exponential family distributions.

Parameters:
  • theta – Natural parameters (\(p_1, \ldots, p_{k-1}\)).

  • n – Number of total draws.

F(x: ndarray) ndarray

\(F(x) = \log \int \exp(\theta^T t(x)) \mathrm{d}x\) normalizer of the Multinomial distribution.

Parameters:

x – Parameter value.

Returns:

Normalizer of the Multinomial distribution evaluated at parameter value x.

static k(x: ndarray) ndarray

\(k(x)\) carrier measure of the Multinomial distribution.

Parameters:

x – Sample space input.

Returns:

Carries measure of the Multinomial distribution evaluated at x.

static t(x: ndarray) ndarray

\(t(x)\) sufficient statistics function of the Multinomial distribution.

Parameters:

x – Sample space input.

Returns:

Sufficient statistics function of the Multinomial distribution evaluated at x.

class bregman.application.distribution.exponential_family.multinomial.multinomial.MultinomialDualGenerator(n: int, k: int)

Bases: AutoDiffGenerator

Multinomial manifold dual Bregman generator.

Parameters:
  • n – Number of total draws.

  • k – Number of categories.

class bregman.application.distribution.exponential_family.multinomial.multinomial.MultinomialManifold(k: int, n: int)

Bases: ExponentialFamilyManifold[MultinomialPoint, MultinomialDistribution]

Multinomial exponential family manifold.

Parameters:
  • n – Number of total draws.

  • k – Number of categories.

distribution_to_point(distribution: MultinomialDistribution) MultinomialPoint

Converts a Multinomial distribution to a point in the manifold.

Parameters:

distribution – Multinomial distribution to be converted.

Returns:

Point corresponding to the Multinomial distribution.

point_to_distribution(point: Point) MultinomialDistribution

Converts a point to a Multinomial distribution.

Parameters:

point – Point to be converted.

Returns:

Multinomial distribution corresponding to the point.

class bregman.application.distribution.exponential_family.multinomial.multinomial.MultinomialPoint(point: Point)

Bases: DisplayPoint

Display point for the Multinomial manifold.

display() str

Generated pretty printed string on display.

Returns:

String of probability values of Multinomial point.

class bregman.application.distribution.exponential_family.multinomial.multinomial.MultinomialPrimalGenerator(n: int, k: int)

Bases: AutoDiffGenerator

Multinomial manifold primal Bregman generator.

Parameters:
  • n – Number of total draws.

  • k – Number of categories.

Module contents