Documentation of 'smile.stat.distribution.ExponentialDistribution' Java class
ExponentialDistribution
smile.stat.distribution

Class ExponentialDistribution

  • All Implemented Interfaces:
    Distribution, ExponentialFamily


    public class ExponentialDistribution
    extends AbstractDistribution
    implements ExponentialFamily
    An exponential distribution describes the times between events in a Poisson process, in which events occur continuously and independently at a constant average rate. Exponential variables can also be used to model situations where certain events occur with a constant probability per unit length, such as the distance between mutations on a DNA strand. In real world scenarios, the assumption of a constant rate is rarely satisfied. But if we focus on a time interval during which the rate is roughly constant, the exponential distribution can be used as a good approximate model.

    The exponential distribution may be viewed as a continuous counterpart of the geometric distribution, which describes the number of Bernoulli trials necessary for a discrete process to change state. In contrast, the exponential distribution describes the time for a continuous process to change state.

    The probability density function of an exponential distribution is f(x; λ) = λe-λx for x ≥ 0. The cumulative distribution function is given by F(x; λ) = 1 - e-λ x for x ≥ 0. An important property of the exponential distribution is that it is memoryless. This means that if a random variable T is exponentially distributed, its conditional probability obeys Pr(T > s + t | T > s) = Pr(T > t) for all s, t ≥ 0.

    In queuing theory, the service times of agents in a system are often modeled as exponentially distributed variables. Reliability theory and reliability engineering also make extensive use of the exponential distribution. Because of the memoryless property of this distribution, it is well-suited to model the constant hazard rate portion of the bathtub curve used in reliability theory. The exponential distribution is however not appropriate to model the overall lifetime of organisms or technical devices, because the "failure rates" here are not constant: more failures occur for very young and for very old systems.

    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method and Description
      double cdf(double x)
      Cumulative distribution function.
      double entropy()
      Shannon entropy of the distribution.
      double getLambda()
      Returns the rate parameter.
      double logp(double x)
      The density at x in log scale, which may prevents the underflow problem.
      Mixture.Component M(double[] x, double[] posteriori)
      The M step in the EM algorithm, which depends the specific distribution.
      double mean()
      The mean of distribution.
      int npara()
      The number of parameters of the distribution.
      double p(double x)
      The probability density function for continuous distribution or probability mass function for discrete distribution at x.
      double quantile(double p)
      The quantile, the probability to the left of quantile is p.
      double rand()
      Generates a random number following this distribution.
      double sd()
      The standard deviation of distribution.
      java.lang.String toString() 
      double var()
      The variance of distribution.
      • Methods inherited from class java.lang.Object

        equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • Constructor Detail

      • ExponentialDistribution

        public ExponentialDistribution(double lambda)
        Constructor.
        Parameters:
        lambda - rate parameter.
      • ExponentialDistribution

        public ExponentialDistribution(double[] data)
        Constructor. Parameter will be estimated from the data by MLE.
    • Method Detail

      • getLambda

        public double getLambda()
        Returns the rate parameter.
      • npara

        public int npara()
        Description copied from interface: Distribution
        The number of parameters of the distribution.
        Specified by:
        npara in interface Distribution
      • mean

        public double mean()
        Description copied from interface: Distribution
        The mean of distribution.
        Specified by:
        mean in interface Distribution
      • var

        public double var()
        Description copied from interface: Distribution
        The variance of distribution.
        Specified by:
        var in interface Distribution
      • sd

        public double sd()
        Description copied from interface: Distribution
        The standard deviation of distribution.
        Specified by:
        sd in interface Distribution
      • entropy

        public double entropy()
        Description copied from interface: Distribution
        Shannon entropy of the distribution.
        Specified by:
        entropy in interface Distribution
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object
      • rand

        public double rand()
        Description copied from interface: Distribution
        Generates a random number following this distribution.
        Specified by:
        rand in interface Distribution
      • p

        public double p(double x)
        Description copied from interface: Distribution
        The probability density function for continuous distribution or probability mass function for discrete distribution at x.
        Specified by:
        p in interface Distribution
      • logp

        public double logp(double x)
        Description copied from interface: Distribution
        The density at x in log scale, which may prevents the underflow problem.
        Specified by:
        logp in interface Distribution
      • cdf

        public double cdf(double x)
        Description copied from interface: Distribution
        Cumulative distribution function. That is the probability to the left of x.
        Specified by:
        cdf in interface Distribution
      • quantile

        public double quantile(double p)
        Description copied from interface: Distribution
        The quantile, the probability to the left of quantile is p. It is actually the inverse of cdf.
        Specified by:
        quantile in interface Distribution
      • M

        public Mixture.Component M(double[] x,
                                   double[] posteriori)
        Description copied from interface: ExponentialFamily
        The M step in the EM algorithm, which depends the specific distribution.
        Specified by:
        M in interface ExponentialFamily
        Parameters:
        x - the input data for estimation
        posteriori - the posteriori probability.
        Returns:
        the (unnormalized) weight of this distribution in the mixture.

DataMelt 3.0 © DataMelt by jWork.ORG

You see the box below because you did not login.