Click or drag to resize
Poisson Structure
Microsoft Research
A Poisson distribution over the integers [0,infinity).

Namespace: MicrosoftResearch.Infer.Distributions
Assembly: Infer.Runtime (in Infer.Runtime.dll) Version: 2.6.41128.1 (2.6.41128.1)
Syntax
[SerializableAttribute]
[Quality(QualityBand.Stable)]
public struct Poisson : IDistribution<int>, 
	ICloneable, HasPoint<int>, Diffable, SettableToUniform, CanGetLogProb<int>, 
	SettableTo<Poisson>, SettableToProduct<Poisson>, SettableToProduct<Poisson, Poisson>, 
	SettableToRatio<Poisson>, SettableToRatio<Poisson, Poisson>, 
	SettableToPower<Poisson>, SettableToWeightedSum<Poisson>, CanGetLogAverageOf<Poisson>, 
	CanGetLogAverageOfPower<Poisson>, CanGetAverageLog<Poisson>, Sampleable<int>, 
	CanGetMean<double>, CanGetVariance<double>, CanGetMeanAndVarianceOut<double, double>, 
	CanSetMeanAndVariance<double, double>

The Poisson type exposes the following members.

Constructors
  NameDescription
Public methodPoisson(Double)
Creates a Poisson distribution with the given mean.
Public methodPoisson(Poisson)
Copy constructor.
Public methodPoisson(Double, Double)
Create a Com-Poisson distribution with the given rate and precision.
Top
Methods
  NameDescription
Public methodClone
Clones this COM-Poisson.
Public methodStatic memberFromMeanAndMeanLogFactorial
Create a COM-Poisson distribution with the given sufficient statistics.
Public methodGetAverageLog
Gets the expected logarithm of a COM-Poisson under this COM-Poisson.
Public methodGetLogAverageOf
Gets the log of the integral of the product of this COM-Poisson with another COM-Poisson.
Public methodGetLogAverageOfPower
Get the integral of this distribution times another distribution raised to a power.
Public methodGetLogNormalizer
Gets the log normalizer of the distribution
Public methodStatic memberGetLogNormalizer(Double, Double)
Computes log(sum_{x=0..infinity} lambda^x / x!^nu)
Public methodStatic memberGetLogPowerSum
Computes log(sum_{x=0..infinity} x^p lambda^x / x!^nu)
Public methodGetLogProb
Evaluates the log of of the density function of this COM-Poisson at the given value
Public methodGetMean
Gets the expected value E(x)
Public methodGetMeanAndVariance
Gets the mean and variance
Public methodGetMeanLogFactorial
Computes (sum_{x=0..infinity} log(x!) Rate^x / x!^Precision) / (sum_{x=0..infinity} Rate^x / x!^Precision )
Public methodStatic memberGetSumLogFactorial
Computes sum_{x=0..infinity} log(x!) lambda^x / x!^nu
Public methodStatic memberGetSumLogFactorial2
Computes sum_{x=0..infinity} log(x!)^2 lambda^x / x!^nu
Public methodStatic memberGetSumXLogFactorial
Computes sum_{x=0..infinity} x log(x!) lambda^x / x!^nu
Public methodGetVariance
Gets the variance
Public methodIsProper
Asks whether this instance is proper or not. A COM-Poisson distribution is proper if Rate >= 0 and (Precision > 0 or (Precision == 0 and Rate < 1)).
Public methodIsUniform
Asks whether this instance is uniform
Public methodMaxDiff
Returns the maximum difference between the parameters of this COM-Poisson and another COM-Poisson
Public methodStatic memberPointMass
Creates a Com-Poisson distribution which only allows one value.
Public methodSample
Samples from a Poisson distribution
Public methodStatic memberSample(Double)
Samples from a Poisson distribution with given mean
Public methodSample(Int32)
Public methodStatic memberSample(Double, Double)
Samples from a COM-Poisson distribution
Public methodSetMeanAndVariance
Sets the mean and variance
Public methodSetTo
Sets this COM-Poisson instance to have the parameter values of another COM-Poisson instance
Public methodSetToPower
Sets the parameters to represent the power of a COM-Poisson to some exponent.
Public methodSetToProduct
Sets the parameters to represent the product of two COM-Poissons.
Public methodSetToRatio
Sets the parameters to represent the ratio of two COM-Poisson distributions
Public methodSetToSum
Set the parameters to match the moments of a mixture distribution.
Public methodSetToUniform
Sets this COM-Poisson instance to be a uniform distribution
Public methodStatic memberUniform
Instantiates a uniform Com-Poisson distribution
Top
Operators
  NameDescription
Public operatorStatic memberDivision
Creates a new Poisson which is the ratio of two other COM-Poissons
Public operatorStatic memberEquality
Equals operator
Public operatorStatic memberExclusiveOr
Raises a COM-Poisson to a power.
Public operatorStatic memberInequality
Not equals operator
Public operatorStatic memberMultiply
Creates a new COM-Poisson which is the product of two other COM-Poissons
Top
Fields
  NameDescription
Public fieldPrecision
The precision parameter of the COM-Poisson distribution
Public fieldRate
The rate parameter of the COM-Poisson distribution, always >= 0.
Top
Properties
  NameDescription
Public propertyIsPointMass
Asks whether the instance is a point mass
Public propertyPoint
Sets/gets the instance as a point mass
Top
Remarks

The Poisson is often used as a distribution on counts. The formula for the distribution is p(x) = rate^x exp(-rate) / x! where rate is the rate parameter. In this implementation, we use a generalization called the Conway-Maxwell Poisson or "Com-Poisson", which has an extra precision parameter nu. The formula for the distribution is p(x) =propto rate^x / x!^nu. With this extension, we can represent a uniform distribution via (rate=1,nu=0) and a point mass via rate=0 or nu=infinity. This family is closed under multiplication, while the standard Poisson is not.

See Also