statistics-dirichlet-0.6.1: Functions for working with Dirichlet densities and mixtures on vectors.

Portability portable experimental felipe.lessa@gmail.com Safe-Infered

Math.Statistics.Dirichlet.Mixture

Contents

Description

Synopsis

# Data types

A Dirichlet mixture.

Constructors

 DM FieldsdmWeights :: !(Vector Double)Weights of each density. dmDensities :: !MatrixValues of all parameters of all densities. This matrix has `length dmWeights` rows.

Number of components in a dirichlet mixture.

Number of parameters each component has.

Separated list of densities.

`dm !!! i` is the `i`-th density. No bounding checks are made.

`empty q n x` is an "empty" Dirichlet mixture with `q` components and `n` parameters. Each component has size `n`, weight inversely proportional to its index and all alphas set to `x`.

type Component = (Double, [Double])Source

A list representation of a component of a Dirichlet mixture. Used by `fromList` and `toList` only.

`fromList xs` constructs a Dirichlet mixture from a non-empty list of components. Each component has a weight and a list of alpha values. The weights sum to 1, all lists must have the same number of values and every number must be non-negative. None of these preconditions are verified.

`toList dm` is the inverse of `fromList`, constructs a list of components from a Dirichlet mixture. There are no error conditions and `toList . fromList == id`.

Constructs a Dirichlet mixture of one component from a Dirichlet density.

# Training data

Pre-processed training vectors (see `prepareTraining`).

Instances

 Eq TrainingData Show TrainingData

Prepares training vectors to be used as training data. Anything that depends only on the training vectors is precalculated here.

We also try to find columns where all training vectors are zero. Those columns are removed from the derivation process and every component will have zero value on that column. Note that at least one column should have non-zero training vectors.

# Functions

Derive a Dirichlet mixture using a maximum likelihood method as described by Karplus et al (equation 25) using CG_DESCENT method by Hager and Zhang (see Numeric.Optimization.Algorithms.HagerZhang05). All training vectors should have the same length, however this is not verified.

Cost function for deriving a Dirichlet mixture (equation 18). This function is minimized by `derive`. Calculated using (17) and (54).

Derivative of the cost function with respect `w_{i,j}`, defined by Equation (22). The result is given in the same size and order as the `dmDensitites` vector.