sig
module Features :
sig
module type S =
sig
type elt
type t
val mean :
Distributions.Features.S.t -> Distributions.Features.S.elt
val variance :
Distributions.Features.S.t -> Distributions.Features.S.elt
val skewness :
Distributions.Features.S.t -> Distributions.Features.S.elt
val kurtosis :
Distributions.Features.S.t -> Distributions.Features.S.elt
end
module type Opt =
sig
type elt
type t
val mean_opt :
Distributions.Features.Opt.t ->
Distributions.Features.Opt.elt option
val variance_opt :
Distributions.Features.Opt.t ->
Distributions.Features.Opt.elt option
val skewness_opt :
Distributions.Features.Opt.t ->
Distributions.Features.Opt.elt option
val kurtosis_opt :
Distributions.Features.Opt.t ->
Distributions.Features.Opt.elt option
end
end
module type DiscreteDistribution =
sig
type elt
type t
val sample :
?rng:Gsl.Rng.t ->
size:int ->
Distributions.DiscreteDistribution.t ->
Distributions.DiscreteDistribution.elt array
val cumulative_probability :
Distributions.DiscreteDistribution.t ->
n:Distributions.DiscreteDistribution.elt -> float
val probability :
Distributions.DiscreteDistribution.t ->
n:Distributions.DiscreteDistribution.elt -> float
end
module type ContinuousDistribution =
sig
type elt
type t
val sample :
?rng:Gsl.Rng.t ->
size:int ->
Distributions.ContinuousDistribution.t ->
Distributions.ContinuousDistribution.elt array
val cumulative_probability :
Distributions.ContinuousDistribution.t ->
x:Distributions.ContinuousDistribution.elt -> float
val density :
Distributions.ContinuousDistribution.t ->
x:Distributions.ContinuousDistribution.elt -> float
val quantile :
Distributions.ContinuousDistribution.t ->
p:float -> Distributions.ContinuousDistribution.elt
end
module Normal :
sig
type t = { normal_mean : float; normal_sd : float; }
type elt = float
val sample : ?rng:Gsl.Rng.t -> size:int -> t -> elt array
val cumulative_probability : t -> x:elt -> float
val density : t -> x:elt -> float
val quantile : t -> p:float -> elt
val mean : t -> float
val variance : t -> float
val skewness : t -> float
val kurtosis : t -> float
val create : mean:float -> sd:float -> Distributions.Normal.t
val standard : Distributions.Normal.t
val mle : float array -> Distributions.Normal.t
end
module LogNormal :
sig
type t = { lognormal_mean : float; lognormal_sd : float; }
type elt = float
val sample : ?rng:Gsl.Rng.t -> size:int -> t -> elt array
val cumulative_probability : t -> x:elt -> float
val density : t -> x:elt -> float
val quantile : t -> p:float -> elt
val mean : t -> float
val variance : t -> float
val skewness : t -> float
val kurtosis : t -> float
val create : mean:float -> sd:float -> Distributions.LogNormal.t
val mle : float array -> Distributions.LogNormal.t
end
module Uniform :
sig
type t = { uniform_lower : float; uniform_upper : float; }
type elt = float
val sample : ?rng:Gsl.Rng.t -> size:int -> t -> elt array
val cumulative_probability : t -> x:elt -> float
val density : t -> x:elt -> float
val quantile : t -> p:float -> elt
val mean : t -> float
val variance : t -> float
val skewness : t -> float
val kurtosis : t -> float
val create : lower:float -> upper:float -> Distributions.Uniform.t
val mle : float array -> Distributions.Uniform.t
end
module Exponential :
sig
type t = { exp_rate : float; }
type elt = float
val sample : ?rng:Gsl.Rng.t -> size:int -> t -> elt array
val cumulative_probability : t -> x:elt -> float
val density : t -> x:elt -> float
val quantile : t -> p:float -> elt
val mean : t -> float
val variance : t -> float
val skewness : t -> float
val kurtosis : t -> float
val create : rate:float -> Distributions.Exponential.t
val mle : float array -> Distributions.Exponential.t
end
module ChiSquared :
sig
type t = { chisq_df : float; }
type elt = float
val sample : ?rng:Gsl.Rng.t -> size:int -> t -> elt array
val cumulative_probability : t -> x:elt -> float
val density : t -> x:elt -> float
val quantile : t -> p:float -> elt
val mean : t -> float
val variance : t -> float
val skewness : t -> float
val kurtosis : t -> float
val create : df:int -> Distributions.ChiSquared.t
val mme : float array -> Distributions.ChiSquared.t
end
module F :
sig
type t = { f_df1 : float; f_df2 : float; }
type elt = float
val sample : ?rng:Gsl.Rng.t -> size:int -> t -> elt array
val cumulative_probability : t -> x:elt -> float
val density : t -> x:elt -> float
val quantile : t -> p:float -> elt
val mean_opt : t -> float option
val variance_opt : t -> float option
val skewness_opt : t -> float option
val kurtosis_opt : t -> float option
val create : df1:int -> df2:int -> Distributions.F.t
val mme : float array -> Distributions.F.t
end
module T :
sig
type t = { t_df : float; }
type elt = float
val sample : ?rng:Gsl.Rng.t -> size:int -> t -> elt array
val cumulative_probability : t -> x:elt -> float
val density : t -> x:elt -> float
val quantile : t -> p:float -> elt
val mean_opt : t -> float option
val variance_opt : t -> float option
val skewness_opt : t -> float option
val kurtosis_opt : t -> float option
val create : df:float -> Distributions.T.t
val mme : float array -> Distributions.T.t
end
module Gamma :
sig
type t = { gamma_shape : float; gamma_scale : float; }
type elt = float
val sample : ?rng:Gsl.Rng.t -> size:int -> t -> elt array
val cumulative_probability : t -> x:elt -> float
val density : t -> x:elt -> float
val quantile : t -> p:float -> elt
val mean : t -> float
val variance : t -> float
val skewness : t -> float
val kurtosis : t -> float
val create : shape:float -> scale:float -> Distributions.Gamma.t
val mme : float array -> Distributions.Gamma.t
end
module Cauchy :
sig
type t = { cauchy_location : float; cauchy_scale : float; }
type elt = float
val sample : ?rng:Gsl.Rng.t -> size:int -> t -> elt array
val cumulative_probability : t -> x:elt -> float
val density : t -> x:elt -> float
val quantile : t -> p:float -> elt
val create : location:float -> scale:float -> Distributions.Cauchy.t
val standard : Distributions.Cauchy.t
end
module Beta :
sig
type t = { beta_alpha : float; beta_beta : float; }
type elt = float
val sample : ?rng:Gsl.Rng.t -> size:int -> t -> elt array
val cumulative_probability : t -> x:elt -> float
val density : t -> x:elt -> float
val quantile : t -> p:float -> elt
val mean : t -> float
val variance : t -> float
val skewness : t -> float
val kurtosis : t -> float
val create : alpha:float -> beta:float -> Distributions.Beta.t
val mme : float array -> Distributions.Beta.t
end
module Logistic :
sig
type t = { logistic_location : float; logistic_scale : float; }
type elt = float
val sample : ?rng:Gsl.Rng.t -> size:int -> t -> elt array
val cumulative_probability : t -> x:elt -> float
val density : t -> x:elt -> float
val quantile : t -> p:float -> elt
val mean : t -> float
val variance : t -> float
val skewness : t -> float
val kurtosis : t -> float
val create : location:float -> scale:float -> Distributions.Logistic.t
val mme : float array -> Distributions.Logistic.t
end
module Poisson :
sig
type t = { poisson_rate : float; }
type elt = int
val sample : ?rng:Gsl.Rng.t -> size:int -> t -> elt array
val cumulative_probability : t -> n:elt -> float
val probability : t -> n:elt -> float
val mean : t -> float
val variance : t -> float
val skewness : t -> float
val kurtosis : t -> float
val create : rate:float -> Distributions.Poisson.t
val mle : int array -> Distributions.Poisson.t
end
module Bernoulli :
sig
type t = { bernoulli_p : float; }
type elt = int
val sample : ?rng:Gsl.Rng.t -> size:int -> t -> elt array
val cumulative_probability : t -> n:elt -> float
val probability : t -> n:elt -> float
val mean : t -> float
val variance : t -> float
val skewness : t -> float
val kurtosis : t -> float
val create : p:float -> Distributions.Bernoulli.t
val mle : int array -> Distributions.Bernoulli.t
end
module Binomial :
sig
type t = { binomial_trials : int; binomial_p : float; }
type elt = int
val sample : ?rng:Gsl.Rng.t -> size:int -> t -> elt array
val cumulative_probability : t -> n:elt -> float
val probability : t -> n:elt -> float
val mean : t -> float
val variance : t -> float
val skewness : t -> float
val kurtosis : t -> float
val create : trials:int -> p:float -> Distributions.Binomial.t
val mme : int array -> Distributions.Binomial.t
end
module Geometric :
sig
type t = { geometric_p : float; }
type elt = int
val sample : ?rng:Gsl.Rng.t -> size:int -> t -> elt array
val cumulative_probability : t -> n:elt -> float
val probability : t -> n:elt -> float
val mean : t -> float
val variance : t -> float
val skewness : t -> float
val kurtosis : t -> float
val create : p:float -> Distributions.Geometric.t
val mme : int array -> Distributions.Geometric.t
end
module Hypergeometric :
sig
type t = { hyper_m : int; hyper_t : int; hyper_k : int; }
type elt = int
val sample : ?rng:Gsl.Rng.t -> size:int -> t -> elt array
val cumulative_probability : t -> n:elt -> float
val probability : t -> n:elt -> float
val mean : t -> float
val variance : t -> float
val skewness : t -> float
val kurtosis : t -> float
val create : m:int -> t:int -> k:int -> Distributions.Hypergeometric.t
end
module NegativeBinomial :
sig
type t = { nbinomial_failures : int; nbinomial_p : float; }
type elt = int
val sample : ?rng:Gsl.Rng.t -> size:int -> t -> elt array
val cumulative_probability : t -> n:elt -> float
val probability : t -> n:elt -> float
val mean : t -> float
val variance : t -> float
val skewness : t -> float
val kurtosis : t -> float
val create :
failures:int -> p:float -> Distributions.NegativeBinomial.t
val mme : int array -> Distributions.NegativeBinomial.t
end
module Categorical :
sig
module type OrderedType =
sig
type t
val compare :
Distributions.Categorical.OrderedType.t ->
Distributions.Categorical.OrderedType.t -> int
end
module type S =
sig
type elt
type t
val sample : ?rng:Gsl.Rng.t -> size:int -> t -> elt array
val cumulative_probability : t -> n:elt -> float
val probability : t -> n:elt -> float
val create : (elt * float) array -> t
val mle : elt array -> t
end
module Make :
functor (Elt : Map.OrderedType) ->
sig
type elt = Elt.t
type t
val sample : ?rng:Gsl.Rng.t -> size:int -> t -> elt array
val cumulative_probability : t -> n:elt -> float
val probability : t -> n:elt -> float
val create : (elt * float) array -> t
val mle : elt array -> t
end
end
val normal : mean:float -> sd:float -> Distributions.Normal.t
val log_normal : mean:float -> sd:float -> Distributions.LogNormal.t
val uniform : lower:float -> upper:float -> Distributions.Uniform.t
val exponential : rate:float -> Distributions.Exponential.t
val chi_squared : df:int -> Distributions.ChiSquared.t
val f : df1:int -> df2:int -> Distributions.F.t
val t : df:float -> Distributions.T.t
val gamma : shape:float -> scale:float -> Distributions.Gamma.t
val cauchy : location:float -> scale:float -> Distributions.Cauchy.t
val beta : alpha:float -> beta:float -> Distributions.Beta.t
val logistic : location:float -> scale:float -> Distributions.Logistic.t
val poisson : rate:float -> Distributions.Poisson.t
val bernoulli : p:float -> Distributions.Bernoulli.t
val binomial : trials:int -> p:float -> Distributions.Binomial.t
val geometric : p:float -> Distributions.Geometric.t
val hypergeometric :
m:int -> t:int -> k:int -> Distributions.Hypergeometric.t
val negative_binomial :
failures:int -> p:float -> Distributions.NegativeBinomial.t
end