statistics-0.15.2.0: A library of statistical types, data, and functions

Copyright(c) 2009 Bryan O'Sullivan
LicenseBSD3
Maintainerbos@serpentine.com
Stabilityexperimental
Portabilityportable
Safe HaskellNone
LanguageHaskell98

Statistics.Distribution

Contents

Description

Type classes for probability distributions

Synopsis

Type classes

class Distribution d where Source #

Type class common to all distributions. Only c.d.f. could be defined for both discrete and continuous distributions.

Minimal complete definition

cumulative

Methods

cumulative :: d -> Double -> Double Source #

Cumulative distribution function. The probability that a random variable X is less or equal than x, i.e. P(Xx). Cumulative should be defined for infinities as well:

cumulative d +∞ = 1
cumulative d -∞ = 0

complCumulative :: d -> Double -> Double Source #

One's complement of cumulative distribution:

complCumulative d x = 1 - cumulative d x

It's useful when one is interested in P(X>x) and expression on the right side begin to lose precision. This function have default implementation but implementors are encouraged to provide more precise implementation.

Instances
Distribution UniformDistribution Source # 
Instance details

Defined in Statistics.Distribution.Uniform

Methods

cumulative :: UniformDistribution -> Double -> Double Source #

complCumulative :: UniformDistribution -> Double -> Double Source #

Distribution StudentT Source # 
Instance details

Defined in Statistics.Distribution.StudentT

Methods

cumulative :: StudentT -> Double -> Double Source #

complCumulative :: StudentT -> Double -> Double Source #

Distribution PoissonDistribution Source # 
Instance details

Defined in Statistics.Distribution.Poisson

Methods

cumulative :: PoissonDistribution -> Double -> Double Source #

complCumulative :: PoissonDistribution -> Double -> Double Source #

Distribution HypergeometricDistribution Source # 
Instance details

Defined in Statistics.Distribution.Hypergeometric

Distribution GeometricDistribution0 Source # 
Instance details

Defined in Statistics.Distribution.Geometric

Methods

cumulative :: GeometricDistribution0 -> Double -> Double Source #

complCumulative :: GeometricDistribution0 -> Double -> Double Source #

Distribution GeometricDistribution Source # 
Instance details

Defined in Statistics.Distribution.Geometric

Methods

cumulative :: GeometricDistribution -> Double -> Double Source #

complCumulative :: GeometricDistribution -> Double -> Double Source #

Distribution GammaDistribution Source # 
Instance details

Defined in Statistics.Distribution.Gamma

Methods

cumulative :: GammaDistribution -> Double -> Double Source #

complCumulative :: GammaDistribution -> Double -> Double Source #

Distribution FDistribution Source # 
Instance details

Defined in Statistics.Distribution.FDistribution

Methods

cumulative :: FDistribution -> Double -> Double Source #

complCumulative :: FDistribution -> Double -> Double Source #

Distribution DiscreteUniform Source # 
Instance details

Defined in Statistics.Distribution.DiscreteUniform

Methods

cumulative :: DiscreteUniform -> Double -> Double Source #

complCumulative :: DiscreteUniform -> Double -> Double Source #

Distribution ChiSquared Source # 
Instance details

Defined in Statistics.Distribution.ChiSquared

Methods

cumulative :: ChiSquared -> Double -> Double Source #

complCumulative :: ChiSquared -> Double -> Double Source #

Distribution CauchyDistribution Source # 
Instance details

Defined in Statistics.Distribution.CauchyLorentz

Methods

cumulative :: CauchyDistribution -> Double -> Double Source #

complCumulative :: CauchyDistribution -> Double -> Double Source #

Distribution BinomialDistribution Source # 
Instance details

Defined in Statistics.Distribution.Binomial

Methods

cumulative :: BinomialDistribution -> Double -> Double Source #

complCumulative :: BinomialDistribution -> Double -> Double Source #

Distribution BetaDistribution Source # 
Instance details

Defined in Statistics.Distribution.Beta

Methods

cumulative :: BetaDistribution -> Double -> Double Source #

complCumulative :: BetaDistribution -> Double -> Double Source #

Distribution NormalDistribution Source # 
Instance details

Defined in Statistics.Distribution.Normal

Methods

cumulative :: NormalDistribution -> Double -> Double Source #

complCumulative :: NormalDistribution -> Double -> Double Source #

Distribution LaplaceDistribution Source # 
Instance details

Defined in Statistics.Distribution.Laplace

Methods

cumulative :: LaplaceDistribution -> Double -> Double Source #

complCumulative :: LaplaceDistribution -> Double -> Double Source #

Distribution ExponentialDistribution Source # 
Instance details

Defined in Statistics.Distribution.Exponential

Methods

cumulative :: ExponentialDistribution -> Double -> Double Source #

complCumulative :: ExponentialDistribution -> Double -> Double Source #

Distribution d => Distribution (LinearTransform d) Source # 
Instance details

Defined in Statistics.Distribution.Transform

Methods

cumulative :: LinearTransform d -> Double -> Double Source #

complCumulative :: LinearTransform d -> Double -> Double Source #

class Distribution d => DiscreteDistr d where Source #

Discrete probability distribution.

Minimal complete definition

Nothing

Methods

probability :: d -> Int -> Double Source #

Probability of n-th outcome.

logProbability :: d -> Int -> Double Source #

Logarithm of probability of n-th outcome

class Distribution d => ContDistr d where Source #

Continuous probability distribution.

Minimal complete definition is quantile and either density or logDensity.

Minimal complete definition

quantile

Methods

density :: d -> Double -> Double Source #

Probability density function. Probability that random variable X lies in the infinitesimal interval [x,x+δx) equal to density(x)⋅δx

quantile :: d -> Double -> Double Source #

Inverse of the cumulative distribution function. The value x for which P(Xx) = p. If probability is outside of [0,1] range function should call error

complQuantile :: d -> Double -> Double Source #

1-complement of quantile:

complQuantile x ≡ quantile (1 - x)

logDensity :: d -> Double -> Double Source #

Natural logarithm of density.

Instances
ContDistr UniformDistribution Source # 
Instance details

Defined in Statistics.Distribution.Uniform

Methods

density :: UniformDistribution -> Double -> Double Source #

quantile :: UniformDistribution -> Double -> Double Source #

complQuantile :: UniformDistribution -> Double -> Double Source #

logDensity :: UniformDistribution -> Double -> Double Source #

ContDistr StudentT Source # 
Instance details

Defined in Statistics.Distribution.StudentT

Methods

density :: StudentT -> Double -> Double Source #

quantile :: StudentT -> Double -> Double Source #

complQuantile :: StudentT -> Double -> Double Source #

logDensity :: StudentT -> Double -> Double Source #

ContDistr GammaDistribution Source # 
Instance details

Defined in Statistics.Distribution.Gamma

Methods

density :: GammaDistribution -> Double -> Double Source #

quantile :: GammaDistribution -> Double -> Double Source #

complQuantile :: GammaDistribution -> Double -> Double Source #

logDensity :: GammaDistribution -> Double -> Double Source #

ContDistr FDistribution Source # 
Instance details

Defined in Statistics.Distribution.FDistribution

Methods

density :: FDistribution -> Double -> Double Source #

quantile :: FDistribution -> Double -> Double Source #

complQuantile :: FDistribution -> Double -> Double Source #

logDensity :: FDistribution -> Double -> Double Source #

ContDistr ChiSquared Source # 
Instance details

Defined in Statistics.Distribution.ChiSquared

Methods

density :: ChiSquared -> Double -> Double Source #

quantile :: ChiSquared -> Double -> Double Source #

complQuantile :: ChiSquared -> Double -> Double Source #

logDensity :: ChiSquared -> Double -> Double Source #

ContDistr CauchyDistribution Source # 
Instance details

Defined in Statistics.Distribution.CauchyLorentz

Methods

density :: CauchyDistribution -> Double -> Double Source #

quantile :: CauchyDistribution -> Double -> Double Source #

complQuantile :: CauchyDistribution -> Double -> Double Source #

logDensity :: CauchyDistribution -> Double -> Double Source #

ContDistr BetaDistribution Source # 
Instance details

Defined in Statistics.Distribution.Beta

Methods

density :: BetaDistribution -> Double -> Double Source #

quantile :: BetaDistribution -> Double -> Double Source #

complQuantile :: BetaDistribution -> Double -> Double Source #

logDensity :: BetaDistribution -> Double -> Double Source #

ContDistr NormalDistribution Source # 
Instance details

Defined in Statistics.Distribution.Normal

Methods

density :: NormalDistribution -> Double -> Double Source #

quantile :: NormalDistribution -> Double -> Double Source #

complQuantile :: NormalDistribution -> Double -> Double Source #

logDensity :: NormalDistribution -> Double -> Double Source #

ContDistr LaplaceDistribution Source # 
Instance details

Defined in Statistics.Distribution.Laplace

Methods

density :: LaplaceDistribution -> Double -> Double Source #

quantile :: LaplaceDistribution -> Double -> Double Source #

complQuantile :: LaplaceDistribution -> Double -> Double Source #

logDensity :: LaplaceDistribution -> Double -> Double Source #

ContDistr ExponentialDistribution Source # 
Instance details

Defined in Statistics.Distribution.Exponential

Methods

density :: ExponentialDistribution -> Double -> Double Source #

quantile :: ExponentialDistribution -> Double -> Double Source #

complQuantile :: ExponentialDistribution -> Double -> Double Source #

logDensity :: ExponentialDistribution -> Double -> Double Source #

ContDistr d => ContDistr (LinearTransform d) Source # 
Instance details

Defined in Statistics.Distribution.Transform

Methods

density :: LinearTransform d -> Double -> Double Source #

quantile :: LinearTransform d -> Double -> Double Source #

complQuantile :: LinearTransform d -> Double -> Double Source #

logDensity :: LinearTransform d -> Double -> Double Source #

Distribution statistics

class Distribution d => MaybeMean d where Source #

Type class for distributions with mean. maybeMean should return Nothing if it's undefined for current value of data

Methods

maybeMean :: d -> Maybe Double Source #

Instances
MaybeMean UniformDistribution Source # 
Instance details

Defined in Statistics.Distribution.Uniform

Methods

maybeMean :: UniformDistribution -> Maybe Double Source #

MaybeMean StudentT Source # 
Instance details

Defined in Statistics.Distribution.StudentT

Methods

maybeMean :: StudentT -> Maybe Double Source #

MaybeMean PoissonDistribution Source # 
Instance details

Defined in Statistics.Distribution.Poisson

Methods

maybeMean :: PoissonDistribution -> Maybe Double Source #

MaybeMean HypergeometricDistribution Source # 
Instance details

Defined in Statistics.Distribution.Hypergeometric

Methods

maybeMean :: HypergeometricDistribution -> Maybe Double Source #

MaybeMean GeometricDistribution0 Source # 
Instance details

Defined in Statistics.Distribution.Geometric

Methods

maybeMean :: GeometricDistribution0 -> Maybe Double Source #

MaybeMean GeometricDistribution Source # 
Instance details

Defined in Statistics.Distribution.Geometric

Methods

maybeMean :: GeometricDistribution -> Maybe Double Source #

MaybeMean GammaDistribution Source # 
Instance details

Defined in Statistics.Distribution.Gamma

Methods

maybeMean :: GammaDistribution -> Maybe Double Source #

MaybeMean FDistribution Source # 
Instance details

Defined in Statistics.Distribution.FDistribution

Methods

maybeMean :: FDistribution -> Maybe Double Source #

MaybeMean DiscreteUniform Source # 
Instance details

Defined in Statistics.Distribution.DiscreteUniform

Methods

maybeMean :: DiscreteUniform -> Maybe Double Source #

MaybeMean ChiSquared Source # 
Instance details

Defined in Statistics.Distribution.ChiSquared

Methods

maybeMean :: ChiSquared -> Maybe Double Source #

MaybeMean BinomialDistribution Source # 
Instance details

Defined in Statistics.Distribution.Binomial

Methods

maybeMean :: BinomialDistribution -> Maybe Double Source #

MaybeMean BetaDistribution Source # 
Instance details

Defined in Statistics.Distribution.Beta

Methods

maybeMean :: BetaDistribution -> Maybe Double Source #

MaybeMean NormalDistribution Source # 
Instance details

Defined in Statistics.Distribution.Normal

Methods

maybeMean :: NormalDistribution -> Maybe Double Source #

MaybeMean LaplaceDistribution Source # 
Instance details

Defined in Statistics.Distribution.Laplace

Methods

maybeMean :: LaplaceDistribution -> Maybe Double Source #

MaybeMean ExponentialDistribution Source # 
Instance details

Defined in Statistics.Distribution.Exponential

Methods

maybeMean :: ExponentialDistribution -> Maybe Double Source #

MaybeMean d => MaybeMean (LinearTransform d) Source # 
Instance details

Defined in Statistics.Distribution.Transform

Methods

maybeMean :: LinearTransform d -> Maybe Double Source #

class MaybeMean d => Mean d where Source #

Type class for distributions with mean. If a distribution has finite mean for all valid values of parameters it should be instance of this type class.

Methods

mean :: d -> Double Source #

Instances
Mean UniformDistribution Source # 
Instance details

Defined in Statistics.Distribution.Uniform

Methods

mean :: UniformDistribution -> Double Source #

Mean PoissonDistribution Source # 
Instance details

Defined in Statistics.Distribution.Poisson

Methods

mean :: PoissonDistribution -> Double Source #

Mean HypergeometricDistribution Source # 
Instance details

Defined in Statistics.Distribution.Hypergeometric

Mean GeometricDistribution0 Source # 
Instance details

Defined in Statistics.Distribution.Geometric

Methods

mean :: GeometricDistribution0 -> Double Source #

Mean GeometricDistribution Source # 
Instance details

Defined in Statistics.Distribution.Geometric

Methods

mean :: GeometricDistribution -> Double Source #

Mean GammaDistribution Source # 
Instance details

Defined in Statistics.Distribution.Gamma

Methods

mean :: GammaDistribution -> Double Source #

Mean DiscreteUniform Source # 
Instance details

Defined in Statistics.Distribution.DiscreteUniform

Methods

mean :: DiscreteUniform -> Double Source #

Mean ChiSquared Source # 
Instance details

Defined in Statistics.Distribution.ChiSquared

Methods

mean :: ChiSquared -> Double Source #

Mean BinomialDistribution Source # 
Instance details

Defined in Statistics.Distribution.Binomial

Methods

mean :: BinomialDistribution -> Double Source #

Mean BetaDistribution Source # 
Instance details

Defined in Statistics.Distribution.Beta

Methods

mean :: BetaDistribution -> Double Source #

Mean NormalDistribution Source # 
Instance details

Defined in Statistics.Distribution.Normal

Methods

mean :: NormalDistribution -> Double Source #

Mean LaplaceDistribution Source # 
Instance details

Defined in Statistics.Distribution.Laplace

Methods

mean :: LaplaceDistribution -> Double Source #

Mean ExponentialDistribution Source # 
Instance details

Defined in Statistics.Distribution.Exponential

Methods

mean :: ExponentialDistribution -> Double Source #

Mean d => Mean (LinearTransform d) Source # 
Instance details

Defined in Statistics.Distribution.Transform

Methods

mean :: LinearTransform d -> Double Source #

class MaybeMean d => MaybeVariance d where Source #

Type class for distributions with variance. If variance is undefined for some parameter values both maybeVariance and maybeStdDev should return Nothing.

Minimal complete definition is maybeVariance or maybeStdDev

Minimal complete definition

Nothing

Methods

maybeVariance :: d -> Maybe Double Source #

maybeStdDev :: d -> Maybe Double Source #

Instances
MaybeVariance UniformDistribution Source # 
Instance details

Defined in Statistics.Distribution.Uniform

Methods

maybeVariance :: UniformDistribution -> Maybe Double Source #

maybeStdDev :: UniformDistribution -> Maybe Double Source #

MaybeVariance StudentT Source # 
Instance details

Defined in Statistics.Distribution.StudentT

Methods

maybeVariance :: StudentT -> Maybe Double Source #

maybeStdDev :: StudentT -> Maybe Double Source #

MaybeVariance PoissonDistribution Source # 
Instance details

Defined in Statistics.Distribution.Poisson

Methods

maybeVariance :: PoissonDistribution -> Maybe Double Source #

maybeStdDev :: PoissonDistribution -> Maybe Double Source #

MaybeVariance HypergeometricDistribution Source # 
Instance details

Defined in Statistics.Distribution.Hypergeometric

MaybeVariance GeometricDistribution0 Source # 
Instance details

Defined in Statistics.Distribution.Geometric

MaybeVariance GeometricDistribution Source # 
Instance details

Defined in Statistics.Distribution.Geometric

MaybeVariance GammaDistribution Source # 
Instance details

Defined in Statistics.Distribution.Gamma

Methods

maybeVariance :: GammaDistribution -> Maybe Double Source #

maybeStdDev :: GammaDistribution -> Maybe Double Source #

MaybeVariance FDistribution Source # 
Instance details

Defined in Statistics.Distribution.FDistribution

Methods

maybeVariance :: FDistribution -> Maybe Double Source #

maybeStdDev :: FDistribution -> Maybe Double Source #

MaybeVariance DiscreteUniform Source # 
Instance details

Defined in Statistics.Distribution.DiscreteUniform

Methods

maybeVariance :: DiscreteUniform -> Maybe Double Source #

maybeStdDev :: DiscreteUniform -> Maybe Double Source #

MaybeVariance ChiSquared Source # 
Instance details

Defined in Statistics.Distribution.ChiSquared

Methods

maybeVariance :: ChiSquared -> Maybe Double Source #

maybeStdDev :: ChiSquared -> Maybe Double Source #

MaybeVariance BinomialDistribution Source # 
Instance details

Defined in Statistics.Distribution.Binomial

MaybeVariance BetaDistribution Source # 
Instance details

Defined in Statistics.Distribution.Beta

Methods

maybeVariance :: BetaDistribution -> Maybe Double Source #

maybeStdDev :: BetaDistribution -> Maybe Double Source #

MaybeVariance NormalDistribution Source # 
Instance details

Defined in Statistics.Distribution.Normal

Methods

maybeVariance :: NormalDistribution -> Maybe Double Source #

maybeStdDev :: NormalDistribution -> Maybe Double Source #

MaybeVariance LaplaceDistribution Source # 
Instance details

Defined in Statistics.Distribution.Laplace

Methods

maybeVariance :: LaplaceDistribution -> Maybe Double Source #

maybeStdDev :: LaplaceDistribution -> Maybe Double Source #

MaybeVariance ExponentialDistribution Source # 
Instance details

Defined in Statistics.Distribution.Exponential

MaybeVariance d => MaybeVariance (LinearTransform d) Source # 
Instance details

Defined in Statistics.Distribution.Transform

Methods

maybeVariance :: LinearTransform d -> Maybe Double Source #

maybeStdDev :: LinearTransform d -> Maybe Double Source #

class (Mean d, MaybeVariance d) => Variance d where Source #

Type class for distributions with variance. If distribution have finite variance for all valid parameter values it should be instance of this type class.

Minimal complete definition is variance or stdDev

Minimal complete definition

Nothing

Methods

variance :: d -> Double Source #

stdDev :: d -> Double Source #

Instances
Variance UniformDistribution Source # 
Instance details

Defined in Statistics.Distribution.Uniform

Variance PoissonDistribution Source # 
Instance details

Defined in Statistics.Distribution.Poisson

Variance HypergeometricDistribution Source # 
Instance details

Defined in Statistics.Distribution.Hypergeometric

Variance GeometricDistribution0 Source # 
Instance details

Defined in Statistics.Distribution.Geometric

Variance GeometricDistribution Source # 
Instance details

Defined in Statistics.Distribution.Geometric

Variance GammaDistribution Source # 
Instance details

Defined in Statistics.Distribution.Gamma

Variance DiscreteUniform Source # 
Instance details

Defined in Statistics.Distribution.DiscreteUniform

Methods

variance :: DiscreteUniform -> Double Source #

stdDev :: DiscreteUniform -> Double Source #

Variance ChiSquared Source # 
Instance details

Defined in Statistics.Distribution.ChiSquared

Methods

variance :: ChiSquared -> Double Source #

stdDev :: ChiSquared -> Double Source #

Variance BinomialDistribution Source # 
Instance details

Defined in Statistics.Distribution.Binomial

Variance BetaDistribution Source # 
Instance details

Defined in Statistics.Distribution.Beta

Variance NormalDistribution Source # 
Instance details

Defined in Statistics.Distribution.Normal

Variance LaplaceDistribution Source # 
Instance details

Defined in Statistics.Distribution.Laplace

Variance ExponentialDistribution Source # 
Instance details

Defined in Statistics.Distribution.Exponential

Variance d => Variance (LinearTransform d) Source # 
Instance details

Defined in Statistics.Distribution.Transform

Methods

variance :: LinearTransform d -> Double Source #

stdDev :: LinearTransform d -> Double Source #

class Distribution d => MaybeEntropy d where Source #

Type class for distributions with entropy, meaning Shannon entropy in the case of a discrete distribution, or differential entropy in the case of a continuous one. maybeEntropy should return Nothing if entropy is undefined for the chosen parameter values.

Methods

maybeEntropy :: d -> Maybe Double Source #

Returns the entropy of a distribution, in nats, if such is defined.

Instances
MaybeEntropy UniformDistribution Source # 
Instance details

Defined in Statistics.Distribution.Uniform

Methods

maybeEntropy :: UniformDistribution -> Maybe Double Source #

MaybeEntropy StudentT Source # 
Instance details

Defined in Statistics.Distribution.StudentT

Methods

maybeEntropy :: StudentT -> Maybe Double Source #

MaybeEntropy PoissonDistribution Source # 
Instance details

Defined in Statistics.Distribution.Poisson

Methods

maybeEntropy :: PoissonDistribution -> Maybe Double Source #

MaybeEntropy HypergeometricDistribution Source # 
Instance details

Defined in Statistics.Distribution.Hypergeometric

MaybeEntropy GeometricDistribution0 Source # 
Instance details

Defined in Statistics.Distribution.Geometric

Methods

maybeEntropy :: GeometricDistribution0 -> Maybe Double Source #

MaybeEntropy GeometricDistribution Source # 
Instance details

Defined in Statistics.Distribution.Geometric

Methods

maybeEntropy :: GeometricDistribution -> Maybe Double Source #

MaybeEntropy GammaDistribution Source # 
Instance details

Defined in Statistics.Distribution.Gamma

Methods

maybeEntropy :: GammaDistribution -> Maybe Double Source #

MaybeEntropy FDistribution Source # 
Instance details

Defined in Statistics.Distribution.FDistribution

Methods

maybeEntropy :: FDistribution -> Maybe Double Source #

MaybeEntropy DiscreteUniform Source # 
Instance details

Defined in Statistics.Distribution.DiscreteUniform

Methods

maybeEntropy :: DiscreteUniform -> Maybe Double Source #

MaybeEntropy ChiSquared Source # 
Instance details

Defined in Statistics.Distribution.ChiSquared

Methods

maybeEntropy :: ChiSquared -> Maybe Double Source #

MaybeEntropy CauchyDistribution Source # 
Instance details

Defined in Statistics.Distribution.CauchyLorentz

Methods

maybeEntropy :: CauchyDistribution -> Maybe Double Source #

MaybeEntropy BinomialDistribution Source # 
Instance details

Defined in Statistics.Distribution.Binomial

Methods

maybeEntropy :: BinomialDistribution -> Maybe Double Source #

MaybeEntropy BetaDistribution Source # 
Instance details

Defined in Statistics.Distribution.Beta

Methods

maybeEntropy :: BetaDistribution -> Maybe Double Source #

MaybeEntropy NormalDistribution Source # 
Instance details

Defined in Statistics.Distribution.Normal

Methods

maybeEntropy :: NormalDistribution -> Maybe Double Source #

MaybeEntropy LaplaceDistribution Source # 
Instance details

Defined in Statistics.Distribution.Laplace

Methods

maybeEntropy :: LaplaceDistribution -> Maybe Double Source #

MaybeEntropy ExponentialDistribution Source # 
Instance details

Defined in Statistics.Distribution.Exponential

Methods

maybeEntropy :: ExponentialDistribution -> Maybe Double Source #

MaybeEntropy d => MaybeEntropy (LinearTransform d) Source # 
Instance details

Defined in Statistics.Distribution.Transform

Methods

maybeEntropy :: LinearTransform d -> Maybe Double Source #

class MaybeEntropy d => Entropy d where Source #

Type class for distributions with entropy, meaning Shannon entropy in the case of a discrete distribution, or differential entropy in the case of a continuous one. If the distribution has well-defined entropy for all valid parameter values then it should be an instance of this type class.

Methods

entropy :: d -> Double Source #

Returns the entropy of a distribution, in nats.

Instances
Entropy UniformDistribution Source # 
Instance details

Defined in Statistics.Distribution.Uniform

Methods

entropy :: UniformDistribution -> Double Source #

Entropy StudentT Source # 
Instance details

Defined in Statistics.Distribution.StudentT

Methods

entropy :: StudentT -> Double Source #

Entropy PoissonDistribution Source # 
Instance details

Defined in Statistics.Distribution.Poisson

Methods

entropy :: PoissonDistribution -> Double Source #

Entropy HypergeometricDistribution Source # 
Instance details

Defined in Statistics.Distribution.Hypergeometric

Entropy GeometricDistribution0 Source # 
Instance details

Defined in Statistics.Distribution.Geometric

Entropy GeometricDistribution Source # 
Instance details

Defined in Statistics.Distribution.Geometric

Entropy FDistribution Source # 
Instance details

Defined in Statistics.Distribution.FDistribution

Methods

entropy :: FDistribution -> Double Source #

Entropy DiscreteUniform Source # 
Instance details

Defined in Statistics.Distribution.DiscreteUniform

Methods

entropy :: DiscreteUniform -> Double Source #

Entropy ChiSquared Source # 
Instance details

Defined in Statistics.Distribution.ChiSquared

Methods

entropy :: ChiSquared -> Double Source #

Entropy CauchyDistribution Source # 
Instance details

Defined in Statistics.Distribution.CauchyLorentz

Methods

entropy :: CauchyDistribution -> Double Source #

Entropy BinomialDistribution Source # 
Instance details

Defined in Statistics.Distribution.Binomial

Methods

entropy :: BinomialDistribution -> Double Source #

Entropy BetaDistribution Source # 
Instance details

Defined in Statistics.Distribution.Beta

Methods

entropy :: BetaDistribution -> Double Source #

Entropy NormalDistribution Source # 
Instance details

Defined in Statistics.Distribution.Normal

Methods

entropy :: NormalDistribution -> Double Source #

Entropy LaplaceDistribution Source # 
Instance details

Defined in Statistics.Distribution.Laplace

Methods

entropy :: LaplaceDistribution -> Double Source #

Entropy ExponentialDistribution Source # 
Instance details

Defined in Statistics.Distribution.Exponential

Entropy d => Entropy (LinearTransform d) Source # 
Instance details

Defined in Statistics.Distribution.Transform

Methods

entropy :: LinearTransform d -> Double Source #

class FromSample d a where Source #

Estimate distribution from sample. First parameter in sample is distribution type and second is element type.

Methods

fromSample :: Vector v a => v a -> Maybe d Source #

Estimate distribution from sample. Returns nothing is there's not enough data to estimate or sample clearly doesn't come from distribution in question. For example if there's negative samples in exponential distribution.

Instances
FromSample NormalDistribution Double Source #

Variance is estimated using maximum likelihood method (biased estimation).

Returns Nothing if sample contains less than one element or variance is zero (all elements are equal)

Instance details

Defined in Statistics.Distribution.Normal

Methods

fromSample :: Vector v Double => v Double -> Maybe NormalDistribution Source #

FromSample LaplaceDistribution Double Source #

Create Laplace distribution from sample. No tests are made to check whether it truly is Laplace. Location of distribution estimated as median of sample.

Instance details

Defined in Statistics.Distribution.Laplace

Methods

fromSample :: Vector v Double => v Double -> Maybe LaplaceDistribution Source #

FromSample ExponentialDistribution Double Source #

Create exponential distribution from sample. Returns Nothing if sample is empty or contains negative elements. No other tests are made to check whether it truly is exponential.

Instance details

Defined in Statistics.Distribution.Exponential

Methods

fromSample :: Vector v Double => v Double -> Maybe ExponentialDistribution Source #

Random number generation

class Distribution d => ContGen d where Source #

Generate discrete random variates which have given distribution.

Methods

genContVar :: PrimMonad m => d -> Gen (PrimState m) -> m Double Source #

Instances
ContGen UniformDistribution Source # 
Instance details

Defined in Statistics.Distribution.Uniform

Methods

genContVar :: PrimMonad m => UniformDistribution -> Gen (PrimState m) -> m Double Source #

ContGen StudentT Source # 
Instance details

Defined in Statistics.Distribution.StudentT

Methods

genContVar :: PrimMonad m => StudentT -> Gen (PrimState m) -> m Double Source #

ContGen GeometricDistribution0 Source # 
Instance details

Defined in Statistics.Distribution.Geometric

Methods

genContVar :: PrimMonad m => GeometricDistribution0 -> Gen (PrimState m) -> m Double Source #

ContGen GeometricDistribution Source # 
Instance details

Defined in Statistics.Distribution.Geometric

Methods

genContVar :: PrimMonad m => GeometricDistribution -> Gen (PrimState m) -> m Double Source #

ContGen GammaDistribution Source # 
Instance details

Defined in Statistics.Distribution.Gamma

Methods

genContVar :: PrimMonad m => GammaDistribution -> Gen (PrimState m) -> m Double Source #

ContGen FDistribution Source # 
Instance details

Defined in Statistics.Distribution.FDistribution

Methods

genContVar :: PrimMonad m => FDistribution -> Gen (PrimState m) -> m Double Source #

ContGen ChiSquared Source # 
Instance details

Defined in Statistics.Distribution.ChiSquared

Methods

genContVar :: PrimMonad m => ChiSquared -> Gen (PrimState m) -> m Double Source #

ContGen CauchyDistribution Source # 
Instance details

Defined in Statistics.Distribution.CauchyLorentz

Methods

genContVar :: PrimMonad m => CauchyDistribution -> Gen (PrimState m) -> m Double Source #

ContGen BetaDistribution Source # 
Instance details

Defined in Statistics.Distribution.Beta

Methods

genContVar :: PrimMonad m => BetaDistribution -> Gen (PrimState m) -> m Double Source #

ContGen NormalDistribution Source # 
Instance details

Defined in Statistics.Distribution.Normal

Methods

genContVar :: PrimMonad m => NormalDistribution -> Gen (PrimState m) -> m Double Source #

ContGen LaplaceDistribution Source # 
Instance details

Defined in Statistics.Distribution.Laplace

Methods

genContVar :: PrimMonad m => LaplaceDistribution -> Gen (PrimState m) -> m Double Source #

ContGen ExponentialDistribution Source # 
Instance details

Defined in Statistics.Distribution.Exponential

Methods

genContVar :: PrimMonad m => ExponentialDistribution -> Gen (PrimState m) -> m Double Source #

ContGen d => ContGen (LinearTransform d) Source # 
Instance details

Defined in Statistics.Distribution.Transform

Methods

genContVar :: PrimMonad m => LinearTransform d -> Gen (PrimState m) -> m Double Source #

class (DiscreteDistr d, ContGen d) => DiscreteGen d where Source #

Generate discrete random variates which have given distribution. ContGen is superclass because it's always possible to generate real-valued variates from integer values

Methods

genDiscreteVar :: PrimMonad m => d -> Gen (PrimState m) -> m Int Source #

Instances
DiscreteGen GeometricDistribution0 Source # 
Instance details

Defined in Statistics.Distribution.Geometric

Methods

genDiscreteVar :: PrimMonad m => GeometricDistribution0 -> Gen (PrimState m) -> m Int Source #

DiscreteGen GeometricDistribution Source # 
Instance details

Defined in Statistics.Distribution.Geometric

Methods

genDiscreteVar :: PrimMonad m => GeometricDistribution -> Gen (PrimState m) -> m Int Source #

genContinuous :: (ContDistr d, PrimMonad m) => d -> Gen (PrimState m) -> m Double Source #

Generate variates from continuous distribution using inverse transform rule.

genContinous :: (ContDistr d, PrimMonad m) => d -> Gen (PrimState m) -> m Double Source #

Deprecated: Use genContinuous

Backwards compatibility with genContinuous.

Helper functions

findRoot Source #

Arguments

:: ContDistr d 
=> d

Distribution

-> Double

Probability p

-> Double

Initial guess

-> Double

Lower bound on interval

-> Double

Upper bound on interval

-> Double 

Approximate the value of X for which P(x>X)=p.

This method uses a combination of Newton-Raphson iteration and bisection with the given guess as a starting point. The upper and lower bounds specify the interval in which the probability distribution reaches the value p.

sumProbabilities :: DiscreteDistr d => d -> Int -> Int -> Double Source #

Sum probabilities in inclusive interval.