goal-probability-0.20: Optimization on manifolds of probability distributions with Goal
Safe HaskellNone
LanguageHaskell2010

Goal.Probability.ExponentialFamily

Description

Definitions for working with exponential families.

Synopsis

Exponential Families

class Statistical x => ExponentialFamily x where Source #

An ExponentialFamily is a Statistical Manifold \( \mathcal M \) determined by a fixed-length sufficientStatistic \(s_i\) and a logBaseMeasure \(\mu\). Each distribution \(P \in \mathcal M\) may then be identified with Natural parameters \(\theta_i\) such that \(p(x) \propto e^{\sum_{i=1}^n \theta_i s_i(x)}\mu(x)\). ExponentialFamily distributions theoretically have a Riemannian geometry, with metric Tensor given by the Fisher information metric. However, not all distributions (e.g. the von Mises distribution) afford closed-form expressions for all the relevant structures.

Minimal complete definition

sufficientStatistic, logBaseMeasure

Instances

Instances details
ExponentialFamily VonMises Source # 
Instance details

Defined in Goal.Probability.Distributions

ExponentialFamily Poisson Source # 
Instance details

Defined in Goal.Probability.Distributions

ExponentialFamily Bernoulli Source # 
Instance details

Defined in Goal.Probability.Distributions

ExponentialFamily Normal Source # 
Instance details

Defined in Goal.Probability.Distributions.Gaussian

ExponentialFamily NormalMean Source # 
Instance details

Defined in Goal.Probability.Distributions.Gaussian

ExponentialFamily CoMPoisson Source # 
Instance details

Defined in Goal.Probability.Distributions.CoMPoisson

KnownNat k => ExponentialFamily (Dirichlet k) Source # 
Instance details

Defined in Goal.Probability.Distributions

KnownNat n => ExponentialFamily (Categorical n) Source # 
Instance details

Defined in Goal.Probability.Distributions

KnownNat n => ExponentialFamily (Binomial n) Source # 
Instance details

Defined in Goal.Probability.Distributions

(KnownNat n, KnownNat (Triangular n)) => ExponentialFamily (MultivariateNormal n) Source # 
Instance details

Defined in Goal.Probability.Distributions.Gaussian

KnownNat n => ExponentialFamily (MVNMean n) Source # 
Instance details

Defined in Goal.Probability.Distributions.Gaussian

(ExponentialFamily x, ExponentialFamily y) => ExponentialFamily (x, y) Source # 
Instance details

Defined in Goal.Probability.ExponentialFamily

Methods

sufficientStatistic :: SamplePoint (x, y) -> Mean # (x, y) Source #

averageSufficientStatistic :: Sample (x, y) -> Mean # (x, y) Source #

logBaseMeasure :: Proxy (x, y) -> SamplePoint (x, y) -> Double Source #

(ExponentialFamily x, Storable (SamplePoint x), KnownNat k) => ExponentialFamily (Replicated k x) Source # 
Instance details

Defined in Goal.Probability.ExponentialFamily

Methods

sufficientStatistic :: SamplePoint (Replicated k x) -> Mean # Replicated k x Source #

averageSufficientStatistic :: Sample (Replicated k x) -> Mean # Replicated k x Source #

logBaseMeasure :: Proxy (Replicated k x) -> SamplePoint (Replicated k x) -> Double Source #

type LegendreExponentialFamily x = (PotentialCoordinates x ~ Natural, Legendre x, ExponentialFamily x, Transition (PotentialCoordinates x) (Dual (PotentialCoordinates x)) x) Source #

When the log-partition function and its derivative of the given ExponentialFamily may be computed in closed-form, then we refer to it as a LegendreExponentialFamily.

Note that the log-partition function is the potential of the Legendre class, and its derivative maps Natural coordinates to Mean coordinates.

type DuallyFlatExponentialFamily x = (LegendreExponentialFamily x, DuallyFlat x, Transition (Dual (PotentialCoordinates x)) (PotentialCoordinates x) x) Source #

When additionally, the (negative) entropy and its derivative of the given ExponentialFamily may be computed in closed-form, then we refer to it as a DuallyFlatExponentialFamily.

Note that the negative entropy is the dualPotential of the DuallyFlat class, and its derivative maps Mean coordinates to Natural coordinates.

exponentialFamilyLogDensities :: (ExponentialFamily x, Legendre x, PotentialCoordinates x ~ Natural) => (Natural # x) -> Sample x -> [Double] Source #

The density of an exponential family distribution that has an exact expression for the log-partition function.

unnormalizedLogDensities :: forall x. ExponentialFamily x => (Natural # x) -> Sample x -> [Double] Source #

The unnormalized log-density of an arbitrary exponential family distribution.

Coordinate Systems

data Natural Source #

A parameterization in terms of the natural parameters of an exponential family.

Instances

Instances details
Primal Natural Source # 
Instance details

Defined in Goal.Probability.ExponentialFamily

Associated Types

type Dual Natural

Riemannian Natural Bernoulli 
Instance details

Defined in Goal.Probability.Distributions

Riemannian Natural Normal 
Instance details

Defined in Goal.Probability.Distributions.Gaussian

Methods

metric :: (Natural # Normal) -> Natural #* Tensor Normal Normal

flat :: (Natural # Normal) -> (Natural # Normal) -> Natural #* Normal

sharp :: (Natural # Normal) -> (Natural #* Normal) -> Natural # Normal

AbsolutelyContinuous Natural VonMises Source # 
Instance details

Defined in Goal.Probability.Distributions

AbsolutelyContinuous Natural Poisson Source # 
Instance details

Defined in Goal.Probability.Distributions

AbsolutelyContinuous Natural Bernoulli Source # 
Instance details

Defined in Goal.Probability.Distributions

AbsolutelyContinuous Natural Normal Source # 
Instance details

Defined in Goal.Probability.Distributions.Gaussian

AbsolutelyContinuous Natural CoMPoisson Source # 
Instance details

Defined in Goal.Probability.Distributions.CoMPoisson

Generative Natural VonMises Source # 
Instance details

Defined in Goal.Probability.Distributions

Transition Mean Natural Poisson 
Instance details

Defined in Goal.Probability.Distributions

Transition Mean Natural Bernoulli 
Instance details

Defined in Goal.Probability.Distributions

Transition Mean Natural Normal 
Instance details

Defined in Goal.Probability.Distributions.Gaussian

Methods

transition :: (Mean # Normal) -> Natural # Normal

Transition Mean Natural NormalMean 
Instance details

Defined in Goal.Probability.Distributions.Gaussian

Transition Natural Mean VonMises 
Instance details

Defined in Goal.Probability.Distributions

Transition Natural Mean Poisson 
Instance details

Defined in Goal.Probability.Distributions

Transition Natural Mean Bernoulli 
Instance details

Defined in Goal.Probability.Distributions

Transition Natural Mean Normal 
Instance details

Defined in Goal.Probability.Distributions.Gaussian

Methods

transition :: (Natural # Normal) -> Mean # Normal

Transition Natural Mean NormalMean 
Instance details

Defined in Goal.Probability.Distributions.Gaussian

Transition Natural Mean CoMPoisson 
Instance details

Defined in Goal.Probability.Distributions.CoMPoisson

Transition Natural Natural x Source # 
Instance details

Defined in Goal.Probability.ExponentialFamily

Methods

transition :: (Natural # x) -> Natural # x

Transition Natural Source VonMises 
Instance details

Defined in Goal.Probability.Distributions

Transition Natural Source Poisson 
Instance details

Defined in Goal.Probability.Distributions

Transition Natural Source Bernoulli 
Instance details

Defined in Goal.Probability.Distributions

Transition Natural Source Normal 
Instance details

Defined in Goal.Probability.Distributions.Gaussian

Transition Natural Source NormalMean 
Instance details

Defined in Goal.Probability.Distributions.Gaussian

Transition Natural Source CoMPoisson 
Instance details

Defined in Goal.Probability.Distributions.CoMPoisson

Transition Source Natural VonMises 
Instance details

Defined in Goal.Probability.Distributions

Transition Source Natural Poisson 
Instance details

Defined in Goal.Probability.Distributions

Transition Source Natural Bernoulli 
Instance details

Defined in Goal.Probability.Distributions

Transition Source Natural Normal 
Instance details

Defined in Goal.Probability.Distributions.Gaussian

Transition Source Natural NormalMean 
Instance details

Defined in Goal.Probability.Distributions.Gaussian

Transition Source Natural CoMPoisson 
Instance details

Defined in Goal.Probability.Distributions.CoMPoisson

LogLikelihood Natural VonMises Double Source # 
Instance details

Defined in Goal.Probability.Distributions

LogLikelihood Natural Poisson Int Source # 
Instance details

Defined in Goal.Probability.Distributions

LogLikelihood Natural Bernoulli Bool Source # 
Instance details

Defined in Goal.Probability.Distributions

LogLikelihood Natural Normal Double Source # 
Instance details

Defined in Goal.Probability.Distributions.Gaussian

LogLikelihood Natural NormalMean Double Source # 
Instance details

Defined in Goal.Probability.Distributions.Gaussian

LogLikelihood Natural CoMPoisson Int Source # 
Instance details

Defined in Goal.Probability.Distributions.CoMPoisson

KnownNat n => Transition Mean Natural (Categorical n) 
Instance details

Defined in Goal.Probability.Distributions

KnownNat n => Transition Mean Natural (Binomial n) 
Instance details

Defined in Goal.Probability.Distributions

Methods

transition :: (Mean # Binomial n) -> Natural # Binomial n

(KnownNat n, KnownNat (Triangular n)) => Transition Mean Natural (MultivariateNormal n) 
Instance details

Defined in Goal.Probability.Distributions.Gaussian

KnownNat k => Transition Natural Mean (Dirichlet k) 
Instance details

Defined in Goal.Probability.Distributions

Methods

transition :: (Natural # Dirichlet k) -> Mean # Dirichlet k

KnownNat n => Transition Natural Mean (Categorical n) 
Instance details

Defined in Goal.Probability.Distributions

KnownNat n => Transition Natural Mean (Binomial n) 
Instance details

Defined in Goal.Probability.Distributions

Methods

transition :: (Natural # Binomial n) -> Mean # Binomial n

(KnownNat n, KnownNat (Triangular n)) => Transition Natural Mean (MultivariateNormal n) 
Instance details

Defined in Goal.Probability.Distributions.Gaussian

KnownNat k => Transition Natural Source (Dirichlet k) 
Instance details

Defined in Goal.Probability.Distributions

KnownNat n => Transition Natural Source (Categorical n) 
Instance details

Defined in Goal.Probability.Distributions

KnownNat n => Transition Natural Source (Binomial n) 
Instance details

Defined in Goal.Probability.Distributions

Methods

transition :: (Natural # Binomial n) -> Source # Binomial n

KnownNat n => Transition Natural Source (MultivariateNormal n) 
Instance details

Defined in Goal.Probability.Distributions.Gaussian

KnownNat k => Transition Source Natural (Dirichlet k) 
Instance details

Defined in Goal.Probability.Distributions

KnownNat n => Transition Source Natural (Categorical n) 
Instance details

Defined in Goal.Probability.Distributions

KnownNat n => Transition Source Natural (Binomial n) 
Instance details

Defined in Goal.Probability.Distributions

Methods

transition :: (Source # Binomial n) -> Natural # Binomial n

KnownNat n => Transition Source Natural (MultivariateNormal n) 
Instance details

Defined in Goal.Probability.Distributions.Gaussian

(KnownNat n, KnownNat k) => Transition Natural Source (Affine Tensor (MVNMean n) (Replicated n Normal) (MVNMean k)) 
Instance details

Defined in Goal.Probability.Distributions.Gaussian

Methods

transition :: (Natural # Affine Tensor (MVNMean n) (Replicated n Normal) (MVNMean k)) -> Source # Affine Tensor (MVNMean n) (Replicated n Normal) (MVNMean k)

(KnownNat n, KnownNat k) => Transition Natural Source (Affine Tensor (MVNMean n) (MultivariateNormal n) (MVNMean k)) 
Instance details

Defined in Goal.Probability.Distributions.Gaussian

Methods

transition :: (Natural # Affine Tensor (MVNMean n) (MultivariateNormal n) (MVNMean k)) -> Source # Affine Tensor (MVNMean n) (MultivariateNormal n) (MVNMean k)

Transition Natural Source (Affine Tensor NormalMean Normal NormalMean) 
Instance details

Defined in Goal.Probability.Distributions.Gaussian

Methods

transition :: (Natural # Affine Tensor NormalMean Normal NormalMean) -> Source # Affine Tensor NormalMean Normal NormalMean

(KnownNat n, KnownNat k) => Transition Source Natural (Affine Tensor (MVNMean n) (Replicated n Normal) (MVNMean k)) 
Instance details

Defined in Goal.Probability.Distributions.Gaussian

Methods

transition :: (Source # Affine Tensor (MVNMean n) (Replicated n Normal) (MVNMean k)) -> Natural # Affine Tensor (MVNMean n) (Replicated n Normal) (MVNMean k)

(KnownNat n, KnownNat k) => Transition Source Natural (Affine Tensor (MVNMean n) (MultivariateNormal n) (MVNMean k)) 
Instance details

Defined in Goal.Probability.Distributions.Gaussian

Methods

transition :: (Source # Affine Tensor (MVNMean n) (MultivariateNormal n) (MVNMean k)) -> Natural # Affine Tensor (MVNMean n) (MultivariateNormal n) (MVNMean k)

Transition Source Natural (Affine Tensor NormalMean Normal NormalMean) 
Instance details

Defined in Goal.Probability.Distributions.Gaussian

Methods

transition :: (Source # Affine Tensor NormalMean Normal NormalMean) -> Natural # Affine Tensor NormalMean Normal NormalMean

KnownNat k => AbsolutelyContinuous Natural (Dirichlet k) Source # 
Instance details

Defined in Goal.Probability.Distributions

KnownNat n => AbsolutelyContinuous Natural (Categorical n) Source # 
Instance details

Defined in Goal.Probability.Distributions

KnownNat n => AbsolutelyContinuous Natural (Binomial n) Source # 
Instance details

Defined in Goal.Probability.Distributions

Methods

logDensities :: Point Natural (Binomial n) -> Sample (Binomial n) -> [Double] Source #

densities :: Point Natural (Binomial n) -> Sample (Binomial n) -> [Double] Source #

(KnownNat n, KnownNat (Triangular n)) => AbsolutelyContinuous Natural (MultivariateNormal n) Source # 
Instance details

Defined in Goal.Probability.Distributions.Gaussian

KnownNat n => LogLikelihood Natural (Categorical n) Int Source # 
Instance details

Defined in Goal.Probability.Distributions

KnownNat n => LogLikelihood Natural (Binomial n) Int Source # 
Instance details

Defined in Goal.Probability.Distributions

KnownNat k => LogLikelihood Natural (Dirichlet k) (Vector k Double) Source # 
Instance details

Defined in Goal.Probability.Distributions

KnownNat n => LogLikelihood Natural (MultivariateNormal n) (Vector n Double) Source # 
Instance details

Defined in Goal.Probability.Distributions.Gaussian

KnownNat k => Riemannian Natural (Replicated k Bernoulli) 
Instance details

Defined in Goal.Probability.Distributions

Methods

metric :: (Natural # Replicated k Bernoulli) -> Natural #* Tensor (Replicated k Bernoulli) (Replicated k Bernoulli)

flat :: (Natural # Replicated k Bernoulli) -> (Natural # Replicated k Bernoulli) -> Natural #* Replicated k Bernoulli

sharp :: (Natural # Replicated k Bernoulli) -> (Natural #* Replicated k Bernoulli) -> Natural # Replicated k Bernoulli

type Dual Natural Source # 
Instance details

Defined in Goal.Probability.ExponentialFamily

type Dual Natural = Mean

data Mean Source #

A parameterization in terms of the mean sufficientStatistic of an exponential family.

Instances

Instances details
Primal Mean Source # 
Instance details

Defined in Goal.Probability.ExponentialFamily

Associated Types

type Dual Mean

Riemannian Mean Normal 
Instance details

Defined in Goal.Probability.Distributions.Gaussian

Methods

metric :: (Mean # Normal) -> Mean #* Tensor Normal Normal

flat :: (Mean # Normal) -> (Mean # Normal) -> Mean #* Normal

sharp :: (Mean # Normal) -> (Mean #* Normal) -> Mean # Normal

AbsolutelyContinuous Mean Poisson Source # 
Instance details

Defined in Goal.Probability.Distributions

AbsolutelyContinuous Mean Bernoulli Source # 
Instance details

Defined in Goal.Probability.Distributions

AbsolutelyContinuous Mean Normal Source # 
Instance details

Defined in Goal.Probability.Distributions.Gaussian

Transition Mean Mean x Source # 
Instance details

Defined in Goal.Probability.ExponentialFamily

Methods

transition :: (Mean # x) -> Mean # x

Transition Mean Natural Poisson 
Instance details

Defined in Goal.Probability.Distributions

Transition Mean Natural Bernoulli 
Instance details

Defined in Goal.Probability.Distributions

Transition Mean Natural Normal 
Instance details

Defined in Goal.Probability.Distributions.Gaussian

Methods

transition :: (Mean # Normal) -> Natural # Normal

Transition Mean Natural NormalMean 
Instance details

Defined in Goal.Probability.Distributions.Gaussian

Transition Mean Source Poisson 
Instance details

Defined in Goal.Probability.Distributions

Methods

transition :: (Mean # Poisson) -> Source # Poisson

Transition Mean Source Bernoulli 
Instance details

Defined in Goal.Probability.Distributions

Transition Mean Source Normal 
Instance details

Defined in Goal.Probability.Distributions.Gaussian

Methods

transition :: (Mean # Normal) -> Source # Normal

Transition Mean Source NormalMean 
Instance details

Defined in Goal.Probability.Distributions.Gaussian

Transition Natural Mean VonMises 
Instance details

Defined in Goal.Probability.Distributions

Transition Natural Mean Poisson 
Instance details

Defined in Goal.Probability.Distributions

Transition Natural Mean Bernoulli 
Instance details

Defined in Goal.Probability.Distributions

Transition Natural Mean Normal 
Instance details

Defined in Goal.Probability.Distributions.Gaussian

Methods

transition :: (Natural # Normal) -> Mean # Normal

Transition Natural Mean NormalMean 
Instance details

Defined in Goal.Probability.Distributions.Gaussian

Transition Natural Mean CoMPoisson 
Instance details

Defined in Goal.Probability.Distributions.CoMPoisson

Transition Source Mean VonMises 
Instance details

Defined in Goal.Probability.Distributions

Transition Source Mean Poisson 
Instance details

Defined in Goal.Probability.Distributions

Methods

transition :: (Source # Poisson) -> Mean # Poisson

Transition Source Mean Bernoulli 
Instance details

Defined in Goal.Probability.Distributions

Transition Source Mean Normal 
Instance details

Defined in Goal.Probability.Distributions.Gaussian

Methods

transition :: (Source # Normal) -> Mean # Normal

Transition Source Mean NormalMean 
Instance details

Defined in Goal.Probability.Distributions.Gaussian

Transition Source Mean CoMPoisson 
Instance details

Defined in Goal.Probability.Distributions.CoMPoisson

KnownNat n => Transition Mean Natural (Categorical n) 
Instance details

Defined in Goal.Probability.Distributions

KnownNat n => Transition Mean Natural (Binomial n) 
Instance details

Defined in Goal.Probability.Distributions

Methods

transition :: (Mean # Binomial n) -> Natural # Binomial n

(KnownNat n, KnownNat (Triangular n)) => Transition Mean Natural (MultivariateNormal n) 
Instance details

Defined in Goal.Probability.Distributions.Gaussian

Transition Mean Source (Categorical n) 
Instance details

Defined in Goal.Probability.Distributions

KnownNat n => Transition Mean Source (Binomial n) 
Instance details

Defined in Goal.Probability.Distributions

Methods

transition :: (Mean # Binomial n) -> Source # Binomial n

KnownNat n => Transition Mean Source (MultivariateNormal n) 
Instance details

Defined in Goal.Probability.Distributions.Gaussian

KnownNat k => Transition Natural Mean (Dirichlet k) 
Instance details

Defined in Goal.Probability.Distributions

Methods

transition :: (Natural # Dirichlet k) -> Mean # Dirichlet k

KnownNat n => Transition Natural Mean (Categorical n) 
Instance details

Defined in Goal.Probability.Distributions

KnownNat n => Transition Natural Mean (Binomial n) 
Instance details

Defined in Goal.Probability.Distributions

Methods

transition :: (Natural # Binomial n) -> Mean # Binomial n

(KnownNat n, KnownNat (Triangular n)) => Transition Natural Mean (MultivariateNormal n) 
Instance details

Defined in Goal.Probability.Distributions.Gaussian

Transition Source Mean (Categorical n) 
Instance details

Defined in Goal.Probability.Distributions

KnownNat n => Transition Source Mean (Binomial n) 
Instance details

Defined in Goal.Probability.Distributions

Methods

transition :: (Source # Binomial n) -> Mean # Binomial n

KnownNat n => Transition Source Mean (MultivariateNormal n) 
Instance details

Defined in Goal.Probability.Distributions.Gaussian

KnownNat n => AbsolutelyContinuous Mean (Categorical n) Source # 
Instance details

Defined in Goal.Probability.Distributions

KnownNat n => AbsolutelyContinuous Mean (Binomial n) Source # 
Instance details

Defined in Goal.Probability.Distributions

Methods

logDensities :: Point Mean (Binomial n) -> Sample (Binomial n) -> [Double] Source #

densities :: Point Mean (Binomial n) -> Sample (Binomial n) -> [Double] Source #

KnownNat k => Riemannian Mean (Replicated k Bernoulli) 
Instance details

Defined in Goal.Probability.Distributions

Methods

metric :: (Mean # Replicated k Bernoulli) -> Mean #* Tensor (Replicated k Bernoulli) (Replicated k Bernoulli)

flat :: (Mean # Replicated k Bernoulli) -> (Mean # Replicated k Bernoulli) -> Mean #* Replicated k Bernoulli

sharp :: (Mean # Replicated k Bernoulli) -> (Mean #* Replicated k Bernoulli) -> Mean # Replicated k Bernoulli

type Dual Mean Source # 
Instance details

Defined in Goal.Probability.ExponentialFamily

type Dual Mean = Natural

data Source Source #

A parameterization which represents the standard or typical parameterization of the given manifold, e.g. the Poisson rate or Normal mean and standard deviation.

Instances

Instances details
Primal Source Source # 
Instance details

Defined in Goal.Probability.ExponentialFamily

Associated Types

type Dual Source

AbsolutelyContinuous Source VonMises Source # 
Instance details

Defined in Goal.Probability.Distributions

AbsolutelyContinuous Source Poisson Source # 
Instance details

Defined in Goal.Probability.Distributions

AbsolutelyContinuous Source Bernoulli Source # 
Instance details

Defined in Goal.Probability.Distributions

AbsolutelyContinuous Source Normal Source # 
Instance details

Defined in Goal.Probability.Distributions.Gaussian

Generative Source VonMises Source # 
Instance details

Defined in Goal.Probability.Distributions

Transition Mean Source Poisson 
Instance details

Defined in Goal.Probability.Distributions

Methods

transition :: (Mean # Poisson) -> Source # Poisson

Transition Mean Source Bernoulli 
Instance details

Defined in Goal.Probability.Distributions

Transition Mean Source Normal 
Instance details

Defined in Goal.Probability.Distributions.Gaussian

Methods

transition :: (Mean # Normal) -> Source # Normal

Transition Mean Source NormalMean 
Instance details

Defined in Goal.Probability.Distributions.Gaussian

Transition Natural Source VonMises 
Instance details

Defined in Goal.Probability.Distributions

Transition Natural Source Poisson 
Instance details

Defined in Goal.Probability.Distributions

Transition Natural Source Bernoulli 
Instance details

Defined in Goal.Probability.Distributions

Transition Natural Source Normal 
Instance details

Defined in Goal.Probability.Distributions.Gaussian

Transition Natural Source NormalMean 
Instance details

Defined in Goal.Probability.Distributions.Gaussian

Transition Natural Source CoMPoisson 
Instance details

Defined in Goal.Probability.Distributions.CoMPoisson

Transition Source Mean VonMises 
Instance details

Defined in Goal.Probability.Distributions

Transition Source Mean Poisson 
Instance details

Defined in Goal.Probability.Distributions

Methods

transition :: (Source # Poisson) -> Mean # Poisson

Transition Source Mean Bernoulli 
Instance details

Defined in Goal.Probability.Distributions

Transition Source Mean Normal 
Instance details

Defined in Goal.Probability.Distributions.Gaussian

Methods

transition :: (Source # Normal) -> Mean # Normal

Transition Source Mean NormalMean 
Instance details

Defined in Goal.Probability.Distributions.Gaussian

Transition Source Mean CoMPoisson 
Instance details

Defined in Goal.Probability.Distributions.CoMPoisson

Transition Source Natural VonMises 
Instance details

Defined in Goal.Probability.Distributions

Transition Source Natural Poisson 
Instance details

Defined in Goal.Probability.Distributions

Transition Source Natural Bernoulli 
Instance details

Defined in Goal.Probability.Distributions

Transition Source Natural Normal 
Instance details

Defined in Goal.Probability.Distributions.Gaussian

Transition Source Natural NormalMean 
Instance details

Defined in Goal.Probability.Distributions.Gaussian

Transition Source Natural CoMPoisson 
Instance details

Defined in Goal.Probability.Distributions.CoMPoisson

Transition Source Source x Source # 
Instance details

Defined in Goal.Probability.ExponentialFamily

Methods

transition :: (Source # x) -> Source # x

Transition Mean Source (Categorical n) 
Instance details

Defined in Goal.Probability.Distributions

KnownNat n => Transition Mean Source (Binomial n) 
Instance details

Defined in Goal.Probability.Distributions

Methods

transition :: (Mean # Binomial n) -> Source # Binomial n

KnownNat n => Transition Mean Source (MultivariateNormal n) 
Instance details

Defined in Goal.Probability.Distributions.Gaussian

KnownNat k => Transition Natural Source (Dirichlet k) 
Instance details

Defined in Goal.Probability.Distributions

KnownNat n => Transition Natural Source (Categorical n) 
Instance details

Defined in Goal.Probability.Distributions

KnownNat n => Transition Natural Source (Binomial n) 
Instance details

Defined in Goal.Probability.Distributions

Methods

transition :: (Natural # Binomial n) -> Source # Binomial n

KnownNat n => Transition Natural Source (MultivariateNormal n) 
Instance details

Defined in Goal.Probability.Distributions.Gaussian

Transition Source Mean (Categorical n) 
Instance details

Defined in Goal.Probability.Distributions

KnownNat n => Transition Source Mean (Binomial n) 
Instance details

Defined in Goal.Probability.Distributions

Methods

transition :: (Source # Binomial n) -> Mean # Binomial n

KnownNat n => Transition Source Mean (MultivariateNormal n) 
Instance details

Defined in Goal.Probability.Distributions.Gaussian

KnownNat k => Transition Source Natural (Dirichlet k) 
Instance details

Defined in Goal.Probability.Distributions

KnownNat n => Transition Source Natural (Categorical n) 
Instance details

Defined in Goal.Probability.Distributions

KnownNat n => Transition Source Natural (Binomial n) 
Instance details

Defined in Goal.Probability.Distributions

Methods

transition :: (Source # Binomial n) -> Natural # Binomial n

KnownNat n => Transition Source Natural (MultivariateNormal n) 
Instance details

Defined in Goal.Probability.Distributions.Gaussian

(KnownNat n, KnownNat k) => Transition Natural Source (Affine Tensor (MVNMean n) (Replicated n Normal) (MVNMean k)) 
Instance details

Defined in Goal.Probability.Distributions.Gaussian

Methods

transition :: (Natural # Affine Tensor (MVNMean n) (Replicated n Normal) (MVNMean k)) -> Source # Affine Tensor (MVNMean n) (Replicated n Normal) (MVNMean k)

(KnownNat n, KnownNat k) => Transition Natural Source (Affine Tensor (MVNMean n) (MultivariateNormal n) (MVNMean k)) 
Instance details

Defined in Goal.Probability.Distributions.Gaussian

Methods

transition :: (Natural # Affine Tensor (MVNMean n) (MultivariateNormal n) (MVNMean k)) -> Source # Affine Tensor (MVNMean n) (MultivariateNormal n) (MVNMean k)

Transition Natural Source (Affine Tensor NormalMean Normal NormalMean) 
Instance details

Defined in Goal.Probability.Distributions.Gaussian

Methods

transition :: (Natural # Affine Tensor NormalMean Normal NormalMean) -> Source # Affine Tensor NormalMean Normal NormalMean

(KnownNat n, KnownNat k) => Transition Source Natural (Affine Tensor (MVNMean n) (Replicated n Normal) (MVNMean k)) 
Instance details

Defined in Goal.Probability.Distributions.Gaussian

Methods

transition :: (Source # Affine Tensor (MVNMean n) (Replicated n Normal) (MVNMean k)) -> Natural # Affine Tensor (MVNMean n) (Replicated n Normal) (MVNMean k)

(KnownNat n, KnownNat k) => Transition Source Natural (Affine Tensor (MVNMean n) (MultivariateNormal n) (MVNMean k)) 
Instance details

Defined in Goal.Probability.Distributions.Gaussian

Methods

transition :: (Source # Affine Tensor (MVNMean n) (MultivariateNormal n) (MVNMean k)) -> Natural # Affine Tensor (MVNMean n) (MultivariateNormal n) (MVNMean k)

Transition Source Natural (Affine Tensor NormalMean Normal NormalMean) 
Instance details

Defined in Goal.Probability.Distributions.Gaussian

Methods

transition :: (Source # Affine Tensor NormalMean Normal NormalMean) -> Natural # Affine Tensor NormalMean Normal NormalMean

KnownNat k => AbsolutelyContinuous Source (Dirichlet k) Source # 
Instance details

Defined in Goal.Probability.Distributions

KnownNat n => AbsolutelyContinuous Source (Categorical n) Source # 
Instance details

Defined in Goal.Probability.Distributions

KnownNat n => AbsolutelyContinuous Source (Binomial n) Source # 
Instance details

Defined in Goal.Probability.Distributions

Methods

logDensities :: Point Source (Binomial n) -> Sample (Binomial n) -> [Double] Source #

densities :: Point Source (Binomial n) -> Sample (Binomial n) -> [Double] Source #

(KnownNat n, KnownNat (Triangular n)) => AbsolutelyContinuous Source (MultivariateNormal n) Source # 
Instance details

Defined in Goal.Probability.Distributions.Gaussian

type Dual Source Source # 
Instance details

Defined in Goal.Probability.ExponentialFamily

type Dual Source = Source

Coordinate Transforms

toNatural :: Transition c Natural x => (c # x) -> Natural # x Source #

Expresses an exponential family distribution in Natural coordinates.

toMean :: Transition c Mean x => (c # x) -> Mean # x Source #

Expresses an exponential family distribution in Mean coordinates.

toSource :: Transition c Source x => (c # x) -> Source # x Source #

Expresses an exponential family distribution in Source coordinates.

Entropies

relativeEntropy :: DuallyFlatExponentialFamily x => (Mean # x) -> (Natural # x) -> Double Source #

The relative entropy \(D(P \parallel Q)\), also known as the KL-divergence. This is simply the canonicalDivergence with its arguments flipped.

crossEntropy :: DuallyFlatExponentialFamily x => (Mean # x) -> (Natural # x) -> Double Source #

A function for computing the cross-entropy, which is the relative entropy plus the entropy of the first distribution.

Differentials

relativeEntropyDifferential :: LegendreExponentialFamily x => (Mean # x) -> (Natural # x) -> Mean # x Source #

The differential of the relative entropy with respect to the Natural parameters of the second argument.

stochasticRelativeEntropyDifferential Source #

Arguments

:: ExponentialFamily x 
=> Sample x

True Samples

-> Sample x

Model Samples

-> Mean # x

Differential Estimate

Monte Carlo estimate of the differential of the relative entropy with respect to the Natural parameters of the second argument, based on samples from the two distributions.

stochasticInformationProjectionDifferential Source #

Arguments

:: ExponentialFamily x 
=> (Natural # x)

Model Distribution

-> Sample x

Model Samples

-> (SamplePoint x -> Double)

Unnormalized log-density of target distribution

-> Mean # x

Differential Estimate

Estimate of the differential of relative entropy with respect to the Natural parameters of the first argument, based a Sample from the first argument and the unnormalized log-density of the second.

Maximum Likelihood Instances