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

ProbabilityDensityFunction() public method

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

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

public ProbabilityDensityFunction ( double x ) : double
x double A single point in the distribution range.
return double
        public override double ProbabilityDensityFunction(double x)
        {
            double c = x - location;

            double a = Math.Sqrt(c / scale);
            double b = Math.Sqrt(scale / c);

            double alpha = (a + b) / (2 * shape * c);
            double z = (a - b) / shape;


            // Normal cumulative distribution function
            return alpha * Special.Erfc(-z / Constants.Sqrt2) * 0.5;
        }

Usage Example

コード例 #1
0
        public void ConstructorTest1()
        {
            var bs = new BirnbaumSaundersDistribution(shape: 0.42);

            double mean = bs.Mean;     // 1.0882000000000001
            double median = bs.Median; // 1.0
            double var = bs.Variance;  // 0.21529619999999997

            double cdf = bs.DistributionFunction(x: 1.4); // 0.78956384911580346
            double pdf = bs.ProbabilityDensityFunction(x: 1.4); // 1.3618433601225426
            double lpdf = bs.LogProbabilityDensityFunction(x: 1.4); // 0.30883919386130815

            double ccdf = bs.ComplementaryDistributionFunction(x: 1.4); // 0.21043615088419654
            double icdf = bs.InverseDistributionFunction(p: cdf); // 2.0618330099769064

            double hf = bs.HazardFunction(x: 1.4); // 6.4715276077824093
            double chf = bs.CumulativeHazardFunction(x: 1.4); // 1.5585729930861034

            string str = bs.ToString(CultureInfo.InvariantCulture); // BirnbaumSaunders(x; μ = 0, β = 1, γ = 0.42)

            Assert.AreEqual(1.0882000000000001, mean);
            Assert.AreEqual(1.0, median);
            Assert.AreEqual(0.21529619999999997, var);
            Assert.AreEqual(1.5585729930861034, chf);
            Assert.AreEqual(0.78956384911580346, cdf);
            Assert.AreEqual(1.3618433601225426, pdf);
            Assert.AreEqual(0.30883919386130815, lpdf);
            Assert.AreEqual(6.4715276077824093, hf);
            Assert.AreEqual(0.21043615088419654, ccdf);
            Assert.AreEqual(2.0618330099769064, icdf);
            Assert.AreEqual("BirnbaumSaunders(x; μ = 0, β = 1, γ = 0.42)", str);
        }
All Usage Examples Of Accord.Statistics.Distributions.Univariate.BirnbaumSaundersDistribution::ProbabilityDensityFunction