MicrosoftResearch.Infer.Distributions NamespaceInfer.NET Documentation
Microsoft Research, Cambridge
Infer.NET distributions
Classes

  ClassDescription
Public classAccumulateIntoCollection T 
Public classAccumulatorList T 
Wraps a list of accumulators, adding each sample to all of them.
Public classArray2DEstimator ItemEstimator, DistributionArray, Distribution 
Estimator for a 2-D DistributionArray type, where the samples are distributions
Public classArray2DEstimator ItemEstimator, DistributionArray, Distribution, Sample 
Estimator for a 2-D DistributionArray type.
Public classArrayEstimator
Useful static methods relating to array estimators
Public classArrayEstimator T 
Static class which implements useful functions on estimator arrays.
Public classArrayEstimator ItemEstimator, DistributionArray, Distribution 
Estimator for a DistributionArray type where the sample type is a distribution
Public classArrayEstimator ItemEstimator, DistributionArray, Distribution, Sample 
Estimator for a DistributionArray type.
Public classBernoulliEstimator
Estimates a Bernoulli distribution from samples.
Public classBernoulliIntegerSubset
Represents a list of Bernoulli distributions considered as a distribution over a variable-sized list of integers, which are the indices of elements in the boolean list with value 'true'
Public classBetaEstimator
Estimates a Beta distribution from samples.
Public classBurnInAccumulator T 
Wraps an accumulator, discarding the first BurnIn samples.
Public classConditionalList TDist 
Conditional List
Public classConstantFunction
Class implementing the constant function. Used as a domain prototype for distributions over functions
Public classDirichlet
A Dirichlet distribution on probability vectors.
Public classDirichletEstimator
Estimates a Dirichlet distribution from samples.
Public classDiscrete
An arbitrary distribution over integers [0,D-1].
Public classDiscreteChar
A discrete distribution over characters.
Public classDiscreteEnum TEnum 
A discrete distribution over the values of an enum.
Public classDiscreteEstimator
Estimates a discrete distribution from samples.
Public classDistribution
Static class which implements useful functions on distributions.
Public classDistribution T 
Static class which implements useful functions on distributions.
Public classDistributionFileArray T, DomainType 
Public classEstimatorFactory
Estimator factor. Given a distribution instance, create a compatible estimator instance
Public classGammaEstimator
Estimates a Gamma distribution from samples.
Public classGaussianEstimator
Estimates a Gaussian distribution from samples.
Public classGaussianProcess
A base class for Gaussian process distributions
Public classGenericDiscreteBase T, TThis 
A generic base class for discrete distributions over a type T.
Public classImproperDistributionException
Exception thrown when a distribution is improper and its expectations need to be computed.
Public classLinearSpline
Very simple 1-D linear spline class which implements IFunction. Assumes knots at regular positions - given by a start and increment. The vector of knot values defines how many knots.
Public classMixture T 
A mixture of distributions of the same type
Public classMixture T, DomainType 
Public classPointMass T 
A point mass, which is the 'distribution' you get for an observed variable. All the probability mass is at the point given by observed value.
Public classPoissonEstimator
Estimates a Poisson distribution from samples.
Public classRank1Pot
Rank 1 potential for a sparse GP. This low rank parameterisation is used for messages flowing from a SparseGP evaluation factor to a function variable.
Public classSampleList T 
Sample List
Public classSparseBernoulliList
Represents a list of Bernoulli distributions, optimised for the case where many share the same probability of being true. This class can be used as a distribution over a fixed-sized list of booleans or sparsely as a distribution over a variable-sized list of integers, which are the indices of elements in the boolean list with value 'true'.
Public classSparseBernoulliListBase
Public classSparseBetaList
Represents a list of Beta distributions, optimised for the case where many share the same pseudocount values.
Public classSparseGammaList
Represents a sparse list of Gamma distributions, optimised for the case where many share the same parameterisation.
Public classSparseGaussianList
Represents a sparse list of Gaussian distributions, optimised for the case where many share the same parameterisation.
Public classSparseGP
A Gaussian Process distribution over functions, represented by a GP prior times a set of regression likelihoods on basis points. The GP prior and basis point locations are stored in FixedParameters. The regression likelihoods are stored as a single VectorGaussian called InducingDist. IncludePrior=false does not include the prior in the distribution (i.e. the distribution is degenerate). If pointFunc != null, the distribution is a point mass. If InducingDist is uniform and IncludePrior is false, the distribution is uniform. The GP prior is assumed to be non-uniform.
Public classSparseGPFixed
This class maintains all the fixed parameters for a sparse GP - i.e. parameters which the inference does not change. All SparseGP messages can refer to a single SparseGPFixed class, and cloning of SparseGP instances will just copy the reference
Public classTruncatedGaussianEstimator
Public classUnnormalizedDiscrete
Represents a discrete distribution in the log domain without explicit normalization.
Public classVectorGaussian
Represents a multivariate Gaussian distribution.
Public classVectorGaussianEstimator
Estimates a Gaussian distribution from samples.
Public classWishart
A Wishart distribution on positive definite matrices.
Public classWishartEstimator
Estimates a Wishart distribution from samples.
Structures

  StructureDescription
Public structureBernoulli
Represents a distribution on a binary variable.
Public structureBeta
A Beta distribution over the interval [0,1].
Public structureBinomial
Binomial distribution over the integers [0,n]
Public structureConjugateDirichlet
Represents the distribution proportion to x^{Shape-1} exp(-Rate*x) / B(x,D)^K where B(x,D)=Gamma(x)^D/Gamma(D*x)
Public structureGamma
A Gamma distribution on positive reals.
Public structureGammaPower
The distribution of a Gamma variable raised to a power. The Weibull distribution is a special case.
Public structureGaussian
Represents a one-dimensional Gaussian distribution.
Public structureNonconjugateGaussian
Nonconjugate Gaussian messages for VMP. The mean has a Gaussian distribution and the variance a Gamma distribution.
Public structurePoisson
A Poisson distribution over the integers [0,infinity).
Public structureTruncatedGaussian
A distribution over real numbers between an upper and lower bound. If both bounds are infinite, it reduces to an ordinary Gaussian distribution.
Public structureWrappedGaussian
A Gaussian distribution on a periodic domain, such as angles between 0 and 2*pi.
Interfaces

  InterfaceDescription
Public interfaceAccumulator T 
Indicates support for adding an item to a distribution estimator
Public interfaceCanGetAverageLog T 
Whether the distribution supports the expected logarithm of one instance under another
Public interfaceCanGetLogAverageOf T 
Whether the distribution can compute the expectation of another distribution's value.
Public interfaceCanGetLogAverageOfPower T 
Whether the distribution can compute the expectation of another distribution raised to a power.
Public interfaceCanGetLogNormalizer
Whether the distribution can compute its normalizer.
Public interfaceCanGetLogProb T 
Whether the distribution supports evaluation of its density
Public interfaceCanGetLogProbPrep DistributionType, T 
Whether the distribution supports preallocation of a workspace for density evaluation
Public interfaceCanGetMean MeanType 
Whether the distribution supports retrieval of a mean value
Public interfaceCanGetMeanAndVariance MeanType, VarType 
Whether the distribution supports the joint getting of mean and variance where the mean and variance are reference types
Public interfaceCanGetMeanAndVarianceOut MeanType, VarType 
Whether the distribution supports the joint getting of mean and variance where the mean and variance are returned as 'out' argiments
Public interfaceCanGetVariance VarType 
Whether the distribution supports retrieval of a variance value
Public interfaceCanSamplePrep DistributionType, T 
Whether the distribution supports preallocation of a workspace for sampling
Public interfaceCanSetMean MeanType 
Whether the distribution supports setting of its mean value
Public interfaceCanSetMeanAndVariance MeanType, VarType 
Whether the distribution supports the joint setting of mean and variance
Public interfaceEstimator T 
Indicates support for retrieving an estimated distribution
Public interfaceHasPoint T 
Whether the distribution supports being a point mass
Public interfaceIDistribution T 
Distribution interface
Public interfaceIFunction
Function interface - used for distributions over a function domain
Public interfaceIGaussianProcess
Basic GP interface
Public interfaceIsDistributionWrapper
Marker interface for classes which wrap distributions
Public interfaceSampleable T 
Whether the distribution supports sampling
Public interfaceSettableToUniform
Whether the distribution can be set to uniform
Delegates

  DelegateDescription
Public delegateEvaluator DistributionType, T 
Delegate type for evaluating log densities. This is used for distributions such as VectorGaussian which have a large memory footprint. If a distribution supports CanGetLogProbPrep DistributionType, T , then it can return a delegate of this type to do evaluations without recreating a workspace each time.
Public delegateSampler T 
Delegate type for sampling
Public delegateSampler DistributionType, T 
Delegate type for sampling a distribution. This is used for distributions such as VectorGaussian which have a large memory footprint. If a distribution supports CanSamplePrep DistributionType, T , then it can return a delegate of this type to do successive sampling without recreating a workspace each time.
Enumerations

  EnumerationDescription
Public enumerationConjugateDirichlet ApproximationMethod
Approximation method to use for non-analytic expectations. Asymptotic: use expectations under the approximating Gamma distribution GaussHermiteQuadrature: Use Gauss-Hermite quadrature with 32 quadrature points ClenshawCurtisQuadrature: Use Clenshaw Curtis quadrature with an adaptive number of quadrature points