package prbnmcn-stats

  1. Overview
  2. Docs

The prbnmcn-stats statistical library.


prbnmcn-stats (stats for short) was designed to construct simple probabilistic models and compute basic statistics over empirical data obtained from various experiments.

The core data type is that of a probability distribution. Distributions come under various guises.

  • Empirical distributions are the typical outcome of performing a bunch of measurements or experiments, concretely they are nothing more than a collection of data. The empirical mean, empirical variance and quantiles are typical statistics that can be computed on empirical distributions.
  • Generative distributions a.k.a. samplers are used when constructing probabilistic models, they are typically used to generate synthetic data.
  • Measures are the mathematical representation of a distribution, associating weights to (sets of) data. This is the form we use to compute statistics such as the mean, the variance, etc of a distribution. Typically, we manipulate only finitely supported measures.

stats provides modules dedicated for each case, and maps between the various forms under which probability distributions appear.

module Stats_intf : sig ... end

Type signatures.

module Fin : sig ... end

Finite measures implemented as finitely supported functions.

module Emp : sig ... end

Empirical distributions.

module Gen : sig ... end

Generative distributions.

module Pdfs : sig ... end

Probability density functions.

module Combi : sig ... end

Simple combinatorics.

module Mh : sig ... end

Metropolis-Hastings MCMC

module Finbij : sig ... end

Bijections between finite sets and {0; ...; n-1}.

module Graph : sig ... end

Basic statistics on graphs (experimental)

module Log_space : sig ... end

Log-space computation

module Binning : sig ... end

Binning finitely supported distributions

module Specfun : sig ... end
module Int_table : sig ... end
module String_table : sig ... end
module Float_table : sig ... end
val int_table : (module Hashtbl.S with type key = int)
val string_table : (module Hashtbl.S with type key = string)
val float_table : (module Hashtbl.S with type key = float)