Safe Haskell | None |
---|
- data Multinom a
- dirMulti :: Enum a => [(a, Double)] -> Multinom a
- symDirMulti :: Enum a => Double -> [a] -> Multinom a
- multinom :: Enum a => [(a, Double)] -> Multinom a
- dmTotal :: Multinom a -> Int
- dmAlpha :: Multinom a -> Alpha a
- dmDomain :: Multinom a -> Seq a
- setMultinom :: (Enum a, Ord a) => SetUnset -> a -> Multinom a -> Multinom a
- data SetUnset
- decMultinom :: (Ord a, Enum a) => a -> Multinom a -> Multinom a
- incMultinom :: (Ord a, Enum a) => a -> Multinom a -> Multinom a
- prettyMultinom :: (Ord a, Enum a) => Int -> (a -> String) -> Multinom a -> Doc
- updatePrior :: (Alpha a -> Alpha a) -> Multinom a -> Multinom a
- estimatePrior :: Enum a => Double -> [Multinom a] -> Alpha a
- reestimatePriors :: (Foldable f, Functor f, Enum a) => f (Multinom a) -> f (Multinom a)
- reestimateSymPriors :: (Foldable f, Functor f, Enum a) => f (Multinom a) -> f (Multinom a)
- probabilities :: (Ord a, Enum a) => Multinom a -> Seq (Double, a)
- decProbabilities :: (Ord a, Enum a) => Multinom a -> Seq (Double, a)
Dirichlet/multinomial pair
'Multinom a' represents multinomial distribution over domain a
.
Optionally, this can include a collapsed Dirichlet prior.
'Multinom alpha count total' is a multinomial with Dirichlet prior
with symmetric parameter alpha
, ...
dirMulti :: Enum a => [(a, Double)] -> Multinom aSource
Create an asymmetric Dirichlet/multinomial from items and alphas
symDirMulti :: Enum a => Double -> [a] -> Multinom aSource
Create a symmetric Dirichlet/multinomial
Do not do record updates with these
updatePrior :: (Alpha a -> Alpha a) -> Multinom a -> Multinom aSource
Update the prior of a Dirichlet/multinomial