Search Results for

    Show / Hide Table of Contents

    Struct Binomial

    Binomial distribution over the integers [0,n]

    Implements
    IDistribution<Int32>
    IDistribution
    ICloneable
    Diffable
    SettableToUniform
    HasPoint<Int32>
    CanGetLogProb<Int32>
    SettableTo<Binomial>
    SettableToProduct<Binomial>
    SettableToProduct<Binomial, Binomial>
    SettableToRatio<Binomial>
    SettableToRatio<Binomial, Binomial>
    SettableToPower<Binomial>
    SettableToWeightedSum<Binomial>
    CanGetLogAverageOf<Binomial>
    CanGetLogAverageOfPower<Binomial>
    CanGetAverageLog<Binomial>
    Sampleable<Int32>
    CanGetMean<Double>
    CanGetVariance<Double>
    CanGetMeanAndVarianceOut<Double, Double>
    Inherited Members
    ValueType.Equals(Object)
    ValueType.GetHashCode()
    Object.Equals(Object, Object)
    Object.GetType()
    Object.ReferenceEquals(Object, Object)
    Namespace: Microsoft.ML.Probabilistic.Distributions
    Assembly: Microsoft.ML.Probabilistic.dll
    Syntax
    [Serializable]
    [DataContract]
    [Quality(QualityBand.Experimental)]
    public struct Binomial : IDistribution<int>, IDistribution, ICloneable, Diffable, SettableToUniform, HasPoint<int>, CanGetLogProb<int>, SettableTo<Binomial>, SettableToProduct<Binomial>, SettableToProduct<Binomial, Binomial>, SettableToRatio<Binomial>, SettableToRatio<Binomial, Binomial>, SettableToPower<Binomial>, SettableToWeightedSum<Binomial>, CanGetLogAverageOf<Binomial>, CanGetLogAverageOfPower<Binomial>, CanGetAverageLog<Binomial>, Sampleable<int>, CanGetMean<double>, CanGetVariance<double>, CanGetMeanAndVarianceOut<double, double>
    Remarks

    The formula for the distribution is p(x) = n!/(n-x)!/x! p^x (1-p)^(n-x). In this implementation, we use a generalization that includes two extra shape parameters (a,b) The formula for the generalized distribution is p(x) =propto 1/x!^a 1/(n-x)!^b exp(x*logOdds). With this extension, we can represent a uniform distribution via (logOdds=0,a=0,b=0) and a point mass via logOdds=+/-infinity or a=infinity or b=infinity. This family is closed under multiplication, while the standard Binomial is not.

    Constructors

    Binomial(Int32, Double)

    Declaration
    public Binomial(int trialCount, double probSuccess)
    Parameters
    Type Name Description
    Int32 trialCount
    Double probSuccess

    Fields

    A

    Declaration
    [DataMember]
    public double A
    Field Value
    Type Description
    Double

    B

    Declaration
    [DataMember]
    public double B
    Field Value
    Type Description
    Double

    LogOdds

    Declaration
    [DataMember]
    public double LogOdds
    Field Value
    Type Description
    Double

    TrialCount

    Declaration
    [DataMember]
    public int TrialCount
    Field Value
    Type Description
    Int32

    Properties

    IsPointMass

    Declaration
    [IgnoreDataMember]
    public readonly bool IsPointMass { get; }
    Property Value
    Type Description
    Boolean

    Point

    Declaration
    [IgnoreDataMember]
    public int Point { get; set; }
    Property Value
    Type Description
    Int32

    ProbFailure

    Declaration
    public readonly double ProbFailure { get; }
    Property Value
    Type Description
    Double

    ProbSuccess

    Declaration
    public readonly double ProbSuccess { get; }
    Property Value
    Type Description
    Double

    Methods

    Clone()

    Declaration
    public object Clone()
    Returns
    Type Description
    Object

    FromNatural(Int32, Double, Double, Double)

    Declaration
    [Construction(new string[]{"TrialCount", "LogOdds", "A", "B"})]
    public static Binomial FromNatural(int trialCount, double logOdds, double a = 1, double b = 1)
    Parameters
    Type Name Description
    Int32 trialCount
    Double logOdds
    Double a
    Double b
    Returns
    Type Description
    Binomial

    GetAverageLog(Binomial)

    Declaration
    public double GetAverageLog(Binomial that)
    Parameters
    Type Name Description
    Binomial that
    Returns
    Type Description
    Double

    GetLogAverageOf(Binomial)

    Declaration
    public double GetLogAverageOf(Binomial that)
    Parameters
    Type Name Description
    Binomial that
    Returns
    Type Description
    Double

    GetLogAverageOfPower(Binomial, Double)

    Declaration
    public double GetLogAverageOfPower(Binomial that, double power)
    Parameters
    Type Name Description
    Binomial that
    Double power
    Returns
    Type Description
    Double

    GetLogProb(Int32)

    Declaration
    public double GetLogProb(int value)
    Parameters
    Type Name Description
    Int32 value
    Returns
    Type Description
    Double

    GetMean()

    Declaration
    public double GetMean()
    Returns
    Type Description
    Double

    GetMeanAndVariance(out Double, out Double)

    Declaration
    public void GetMeanAndVariance(out double mean, out double variance)
    Parameters
    Type Name Description
    Double mean
    Double variance

    GetVariance()

    Declaration
    public double GetVariance()
    Returns
    Type Description
    Double

    IsUniform()

    Declaration
    public bool IsUniform()
    Returns
    Type Description
    Boolean

    MaxDiff(Object)

    Declaration
    public double MaxDiff(object that)
    Parameters
    Type Name Description
    Object that
    Returns
    Type Description
    Double

    PointMass(Int32, Int32)

    Declaration
    public static Binomial PointMass(int trialCount, int value)
    Parameters
    Type Name Description
    Int32 trialCount
    Int32 value
    Returns
    Type Description
    Binomial

    Sample()

    Declaration
    public int Sample()
    Returns
    Type Description
    Int32

    Sample(Int32)

    Declaration
    public int Sample(int result)
    Parameters
    Type Name Description
    Int32 result
    Returns
    Type Description
    Int32

    SetTo(Binomial)

    Declaration
    public void SetTo(Binomial that)
    Parameters
    Type Name Description
    Binomial that

    SetToPower(Binomial, Double)

    Declaration
    public void SetToPower(Binomial dist, double exponent)
    Parameters
    Type Name Description
    Binomial dist
    Double exponent

    SetToProduct(Binomial, Binomial)

    Declaration
    public void SetToProduct(Binomial a, Binomial b)
    Parameters
    Type Name Description
    Binomial a
    Binomial b

    SetToRatio(Binomial, Binomial, Boolean)

    Set this distribution to equal the ratio of two distributions

    Declaration
    public void SetToRatio(Binomial numerator, Binomial denominator, bool forceProper = false)
    Parameters
    Type Name Description
    Binomial numerator
    Binomial denominator
    Boolean forceProper

    Ignored

    SetToSum(Double, Binomial, Double, Binomial)

    Declaration
    public void SetToSum(double weight1, Binomial value1, double weight2, Binomial value2)
    Parameters
    Type Name Description
    Double weight1
    Binomial value1
    Double weight2
    Binomial value2

    SetToUniform()

    Declaration
    public void SetToUniform()

    ToString()

    Declaration
    public override string ToString()
    Returns
    Type Description
    String
    Overrides
    ValueType.ToString()

    Uniform(Int32)

    Declaration
    public static Binomial Uniform(int trialCount)
    Parameters
    Type Name Description
    Int32 trialCount
    Returns
    Type Description
    Binomial

    Implements

    IDistribution<T>
    IDistribution
    System.ICloneable
    Diffable
    SettableToUniform
    HasPoint<T>
    CanGetLogProb<T>
    SettableTo<T>
    SettableToProduct<T>
    SettableToProduct<T, U>
    SettableToRatio<T>
    SettableToRatio<T, U>
    SettableToPower<T>
    SettableToWeightedSum<T>
    CanGetLogAverageOf<T>
    CanGetLogAverageOfPower<T>
    CanGetAverageLog<T>
    Sampleable<T>
    CanGetMean<MeanType>
    CanGetVariance<VarType>
    CanGetMeanAndVarianceOut<MeanType, VarType>
    In This Article
    Back to top Copyright © .NET Foundation. All rights reserved.