Accord.Statistics.Distributions.Univariate.ChiSquareDistribution.ProbabilityDensityFunction C# (CSharp) Method

ProbabilityDensityFunction() public method

Gets the probability density function (pdf) for the χ² distribution evaluated at point x.

The Probability Density Function (PDF) describes the probability that a given value x will occur.

References: http://www.mathworks.com/access/helpdesk/help/toolbox/stats/chi2pdf.html

public ProbabilityDensityFunction ( double x ) : double
x double
return double
        public override double ProbabilityDensityFunction(double x)
        {
            double v = degreesOfFreedom;
            double m1 = System.Math.Pow(x, (v - 2.0)/2.0);
            double m2 = System.Math.Exp(-x/2.0);
            double m3 = System.Math.Pow(2, v/2.0)*Special.Gamma(v/2.0);
            return (m1*m2)/m3;
        }

Usage Example

        public void ConstructorTest()
        {
            var chisq = new ChiSquareDistribution(degreesOfFreedom: 7);

            double mean = chisq.Mean;     // 7
            double median = chisq.Median; // 6.345811195595612
            double var = chisq.Variance;  // 14

            double cdf = chisq.DistributionFunction(x: 6.27); // 0.49139966433823956
            double pdf = chisq.ProbabilityDensityFunction(x: 6.27); // 0.11388708001184455
            double lpdf = chisq.LogProbabilityDensityFunction(x: 6.27); // -2.1725478476948092

            double ccdf = chisq.ComplementaryDistributionFunction(x: 6.27); // 0.50860033566176044
            double icdf = chisq.InverseDistributionFunction(p: cdf); // 6.2700000000852318

            double hf = chisq.HazardFunction(x: 6.27); // 0.22392254197721179
            double chf = chisq.CumulativeHazardFunction(x: 6.27); // 0.67609276602233315

            string str = chisq.ToString(); // "χ²(x; df = 7)

            Assert.AreEqual(7, mean);
            Assert.AreEqual(6.345811195595612, median, 1e-6);
            Assert.AreEqual(14, var);
            Assert.AreEqual(0.67609276602233315, chf);
            Assert.AreEqual(0.49139966433823956, cdf);
            Assert.AreEqual(0.11388708001184455, pdf);
            Assert.AreEqual(-2.1725478476948092, lpdf);
            Assert.AreEqual(0.22392254197721179, hf);
            Assert.AreEqual(0.50860033566176044, ccdf);
            Assert.AreEqual(6.2700000000852318, icdf, 1e-6);
            Assert.AreEqual("χ²(x; df = 7)", str);
        }
All Usage Examples Of Accord.Statistics.Distributions.Univariate.ChiSquareDistribution::ProbabilityDensityFunction