Class IsBetweenGaussianOp
Inheritance
IsBetweenGaussianOp
Assembly: Microsoft.ML.Probabilistic.dll
Syntax
[FactorMethod(typeof(Factor), "IsBetween", new Type[]{typeof(double), typeof(double), typeof(double)}, Default = true)]
[Quality(QualityBand.Mature)]
[Buffers(new string[]{"logZ"})]
public static class IsBetweenGaussianOp
Fields
ForceProper
Static flag to force a proper distribution
Declaration
public static bool ForceProper
Field Value
LargeMeanThreshold
Declaration
public static double LargeMeanThreshold
Field Value
LowPrecisionThreshold
Declaration
public static double LowPrecisionThreshold
Field Value
TraceAlpha
Declaration
public static bool TraceAlpha
Field Value
Methods
AverageLogFactor(Boolean, Gaussian, Double, Double, Gaussian)
Declaration
[Quality(QualityBand.Preview)]
public static double AverageLogFactor(bool isBetween, Gaussian X, double lowerBound, double upperBound, Gaussian to_X)
Parameters
Returns
IsBetweenAverageConditional(Gaussian, Gaussian, Gaussian)
Declaration
public static Bernoulli IsBetweenAverageConditional(Gaussian X, Gaussian lowerBound, Gaussian upperBound)
Parameters
Returns
IsBetweenAverageConditional(Gaussian, Double, Double)
Declaration
public static Bernoulli IsBetweenAverageConditional(Gaussian X, double lowerBound, double upperBound)
Parameters
Returns
IsBetweenAverageLogarithm(Gaussian, Gaussian, Gaussian)
Declaration
[NotSupported("Variational Message Passing does not support the IsBetween factor with Gaussian distributions, since the factor is not conjugate to the Gaussian.")]
public static Bernoulli IsBetweenAverageLogarithm(Gaussian X, Gaussian lowerBound, Gaussian upperBound)
Parameters
Returns
LogAverageFactor(Bernoulli, Gaussian, Gaussian, Gaussian)
Declaration
public static double LogAverageFactor(Bernoulli isBetween, Gaussian X, Gaussian lowerBound, Gaussian upperBound)
Parameters
Returns
LogAverageFactor(Bernoulli, Gaussian, Double, Double)
Declaration
public static double LogAverageFactor(Bernoulli isBetween, Gaussian x, double lowerBound, double upperBound)
Parameters
Returns
LogAverageFactor(Boolean, Gaussian, Double, Double)
Declaration
public static double LogAverageFactor(bool isBetween, Gaussian x, double lowerBound, double upperBound)
Parameters
Returns
LogEvidenceRatio(Bernoulli, Gaussian, Gaussian, Gaussian)
Declaration
public static double LogEvidenceRatio(Bernoulli isBetween, Gaussian X, Gaussian lowerBound, Gaussian upperBound)
Parameters
Returns
LogEvidenceRatio(Bernoulli, Gaussian, Double, Double)
Declaration
public static double LogEvidenceRatio(Bernoulli isBetween, Gaussian x, double lowerBound, double upperBound)
Parameters
Returns
LogEvidenceRatio(Boolean, Gaussian, Gaussian, Gaussian, Double)
Declaration
public static double LogEvidenceRatio(bool isBetween, Gaussian X, Gaussian lowerBound, Gaussian upperBound, double logZ)
Parameters
Returns
LogEvidenceRatio(Boolean, Gaussian, Double, Double)
Declaration
public static double LogEvidenceRatio(bool isBetween, Gaussian x, double lowerBound, double upperBound)
Parameters
Returns
LogProbBetween(Gaussian, Gaussian, Gaussian)
The logarithm of the probability that L <= X < U.
Declaration
public static double LogProbBetween(Gaussian X, Gaussian L, Gaussian U)
Parameters
Type |
Name |
Description |
Gaussian |
X |
|
Gaussian |
L |
Can be uniform. Can be negative infinity.
|
Gaussian |
U |
Can be uniform. Can be positive infinity.
|
Returns
Type |
Description |
Double |
A real number between -infinity and 0.
|
LogProbBetween(Gaussian, Double, Double)
The logarithm of the probability that L <= X < U.
Declaration
public static double LogProbBetween(Gaussian X, double L, double U)
Parameters
Type |
Name |
Description |
Gaussian |
X |
|
Double |
L |
Can be negative infinity.
|
Double |
U |
Can be positive infinity.
|
Returns
LogZ(Bernoulli, Gaussian, Gaussian, Gaussian)
Declaration
public static double LogZ(Bernoulli isBetween, Gaussian X, Gaussian lowerBound, Gaussian upperBound)
Parameters
Returns
LogZ(Bernoulli, Gaussian, TruncatedGaussian, TruncatedGaussian)
Declaration
public static double LogZ(Bernoulli isBetween, Gaussian X, TruncatedGaussian lowerBound, TruncatedGaussian upperBound)
Parameters
Returns
LowerBoundAverageConditional(Bernoulli, Gaussian, Gaussian, Gaussian, Double)
Declaration
[SkipIfAllUniform(new string[]{"X", "lowerBound"})]
[SkipIfAllUniform(new string[]{"X", "upperBound"})]
public static Gaussian LowerBoundAverageConditional(Bernoulli isBetween, Gaussian X, Gaussian lowerBound, Gaussian upperBound, double logZ)
Parameters
Returns
LowerBoundAverageConditional(Bernoulli, Gaussian, TruncatedGaussian, TruncatedGaussian, Double)
Declaration
public static TruncatedGaussian LowerBoundAverageConditional(Bernoulli isBetween, Gaussian X, TruncatedGaussian lowerBound, TruncatedGaussian upperBound, double logZ)
Parameters
Returns
LowerBoundAverageConditional(Boolean, Double)
Declaration
public static TruncatedGaussian LowerBoundAverageConditional(bool isBetween, double x)
Parameters
Returns
LowerBoundAverageConditional_Slow(Bernoulli, Gaussian, Gaussian, Gaussian)
Declaration
public static Gaussian LowerBoundAverageConditional_Slow(Bernoulli isBetween, Gaussian X, Gaussian lowerBound, Gaussian upperBound)
Parameters
Returns
LowerBoundAverageLogarithm()
Declaration
[NotSupported("VMP does not support truncation with stochastic bounds.")]
public static Gaussian LowerBoundAverageLogarithm()
Returns
LowerBoundAverageLogarithm(Bernoulli, Gaussian, Gaussian, Gaussian)
Declaration
[NotSupported("Variational Message Passing does not support the IsBetween factor with Gaussian distributions, since the factor is not conjugate to the Gaussian.")]
public static Gaussian LowerBoundAverageLogarithm(Bernoulli isBetween, Gaussian X, Gaussian lowerBound, Gaussian upperBound)
Parameters
Returns
NormalCdfRatioSqrMinusDerivative(Double, Double, Double, Double)
Returns (NormalCdfRatio(z)^2 - NormalCdfMomentRatio(1,z))
Declaration
public static double NormalCdfRatioSqrMinusDerivative(double z, double r, double r1, double r3)
Parameters
Type |
Name |
Description |
Double |
z |
A number <= 20
|
Double |
r |
NormalCdfRatio(z)
|
Double |
r1 |
NormalCdfMomentRatio(1,z)
|
Double |
r3 |
NormalCdfMomentRatio(3,z)*6
|
Returns
UpperBoundAverageConditional(Bernoulli, Gaussian, Gaussian, Gaussian, Double)
Declaration
[SkipIfAllUniform(new string[]{"X", "lowerBound"})]
[SkipIfAllUniform(new string[]{"X", "upperBound"})]
public static Gaussian UpperBoundAverageConditional(Bernoulli isBetween, Gaussian X, Gaussian lowerBound, Gaussian upperBound, double logZ)
Parameters
Returns
UpperBoundAverageConditional(Bernoulli, Gaussian, TruncatedGaussian, TruncatedGaussian, Double)
Declaration
public static TruncatedGaussian UpperBoundAverageConditional(Bernoulli isBetween, Gaussian X, TruncatedGaussian lowerBound, TruncatedGaussian upperBound, double logZ)
Parameters
Returns
UpperBoundAverageConditional(Boolean, Double)
Declaration
public static TruncatedGaussian UpperBoundAverageConditional(bool isBetween, double x)
Parameters
Returns
UpperBoundAverageConditional_Slow(Bernoulli, Gaussian, Gaussian, Gaussian)
Declaration
public static Gaussian UpperBoundAverageConditional_Slow(Bernoulli isBetween, Gaussian X, Gaussian lowerBound, Gaussian upperBound)
Parameters
Returns
UpperBoundAverageLogarithm()
Declaration
[NotSupported("VMP does not support truncation with stochastic bounds.")]
public static Gaussian UpperBoundAverageLogarithm()
Returns
UpperBoundAverageLogarithm(Bernoulli, Gaussian, Gaussian, Gaussian)
Declaration
[NotSupported("Variational Message Passing does not support the IsBetween factor with Gaussian distributions, since the factor is not conjugate to the Gaussian.")]
public static Gaussian UpperBoundAverageLogarithm(Bernoulli isBetween, Gaussian X, Gaussian lowerBound, Gaussian upperBound)
Parameters
Returns
XAverageConditional(Bernoulli, Gaussian, Gaussian, Gaussian, Double)
Declaration
[SkipIfAllUniform(new string[]{"lowerBound", "upperBound"})]
[SkipIfAllUniform(new string[]{"X", "lowerBound"})]
[SkipIfAllUniform(new string[]{"X", "upperBound"})]
public static Gaussian XAverageConditional(Bernoulli isBetween, Gaussian X, Gaussian lowerBound, Gaussian upperBound, double logZ)
Parameters
Returns
XAverageConditional(Bernoulli, Gaussian, TruncatedGaussian, TruncatedGaussian)
Declaration
public static Gaussian XAverageConditional(Bernoulli isBetween, Gaussian X, TruncatedGaussian lowerBound, TruncatedGaussian upperBound)
Parameters
Returns
XAverageConditional(Bernoulli, Gaussian, Double, Double)
Declaration
public static Gaussian XAverageConditional(Bernoulli isBetween, Gaussian X, double lowerBound, double upperBound)
Parameters
Returns
XAverageConditional(Boolean, Gaussian, Double, Double)
Declaration
public static Gaussian XAverageConditional(bool isBetween, Gaussian X, double lowerBound, double upperBound)
Parameters
Returns
XAverageConditional_Slow(Bernoulli, Gaussian, Gaussian, Gaussian)
Declaration
public static Gaussian XAverageConditional_Slow(Bernoulli isBetween, Gaussian X, Gaussian lowerBound, Gaussian upperBound)
Parameters
Returns
XAverageLogarithm(Bernoulli, Gaussian, Gaussian, Gaussian)
Declaration
[NotSupported("Variational Message Passing does not support the IsBetween factor with Gaussian distributions, since the factor is not conjugate to the Gaussian.")]
public static Gaussian XAverageLogarithm(Bernoulli isBetween, Gaussian X, Gaussian lowerBound, Gaussian upperBound)
Parameters
Returns
XAverageLogarithm(Boolean, Gaussian, Double, Double, Gaussian)
Declaration
[Quality(QualityBand.Preview)]
public static Gaussian XAverageLogarithm(bool isBetween, Gaussian X, double lowerBound, double upperBound, Gaussian to_X)
Parameters
Returns