Accord.Statistics.Distributions.Multivariate.MultinomialDistribution.ProbabilityMassFunction C# (CSharp) Method

ProbabilityMassFunction() public method

Gets the probability mass function (pmf) for this distribution evaluated at point x.
The Probability Mass Function (PMF) describes the probability that a given value x will occur.
public ProbabilityMassFunction ( int x ) : double
x int A single point in the distribution range.
return double
        public override double ProbabilityMassFunction(int[] x)
        {
            double theta = 1.0;
            double prod = 1.0;
            for (int i = 0; i < x.Length; i++)
            {
                theta *= Special.Factorial(x[i]);
                prod *= System.Math.Pow(probabilities[i], x[i]);
            }

            return (nfac/theta)*prod;
        }

Usage Example

        public void LogProbabilityMassFunctionTest()
        {
            MultivariateDiscreteDistribution target = new MultinomialDistribution(5, 0.25, 0.25, 0.25, 0.25);

            int[] observation = { 1, 1, 1, 2 };

            double expected = System.Math.Log(target.ProbabilityMassFunction(observation));
            double actual = target.LogProbabilityMassFunction(observation);

            Assert.AreEqual(expected, actual, 1e-6);
        }
All Usage Examples Of Accord.Statistics.Distributions.Multivariate.MultinomialDistribution::ProbabilityMassFunction