Class Lognormal

    • Constructor Detail

      • Lognormal

        public Lognormal()
        Constructs a lognormal distribution with mean 1.0 and variance 1.0
      • Lognormal

        public Lognormal​(double[] parameters)
        Constructs a lognormal distribution with mean = parameters[0] and variance = parameters[1]
        Parameters:
        parameters - An array with the mean and variance
      • Lognormal

        public Lognormal​(double mean,
                         double variance)
        Constructs a lognormal distribution with mean and variance. Note: these parameters are the actual mean and variance of the lognormal, not the underlying normal as in many other implementations.
        Parameters:
        mean - must be > 0
        variance - must be > 0
      • Lognormal

        public Lognormal​(double mean,
                         double variance,
                         java.lang.String name)
        Constructs a lognormal distribution with mean and variance. Note: these parameters are the actual mean and variance of the lognormal, not the underlying normal as in many other implementations.
        Parameters:
        mean - must be > 0
        variance - must be > 0
        name - an optional name/lable
    • Method Detail

      • setParameters

        public final void setParameters​(double mean,
                                        double variance)
        Sets the parameters of a lognormal distribution to mean and variance. Note: these parameters are the actual mean and variance of the lognormal, not the underlying normal as in many other implementations.
        Parameters:
        mean - must be > 0
        variance - must be > 0
      • getMean

        public final double getMean()
        Description copied from interface: MeanIfc
        Returns the mean or expected value of a distribution
        Specified by:
        getMean in interface MeanIfc
        Returns:
        double the mean or expected value for the distribution
      • getMoment3

        public final double getMoment3()
        Returns:
        the 3rd moment
      • getMoment4

        public final double getMoment4()
        Returns:
        the 4th moment
      • getVariance

        public final double getVariance()
        Description copied from interface: VarianceIfc
        Returns the variance of the distribution if defined
        Specified by:
        getVariance in interface VarianceIfc
        Returns:
        double the variance of the random variable
      • getNormal

        public final Normal getNormal()
        Provides a normal distribution with correct parameters as related to this lognormal distribution
        Returns:
        The Normal distribution
      • getNormalMean

        public final double getNormalMean()
        The mean of the underlying normal
        Returns:
        mean of the underlying normal
      • getNormalVariance

        public final double getNormalVariance()
        The variance of the underlying normal
        Returns:
        variance of the underlying normal
      • getNormalStdDev

        public final double getNormalStdDev()
        The standard deviation of the underlying normal
        Returns:
        standard deviation of the underlying normal
      • cdf

        public final double cdf​(double x)
        Description copied from interface: CDFIfc
        Returns the F(x) = Pr{X <= x} where F represents the cumulative distribution function
        Specified by:
        cdf in interface CDFIfc
        Parameters:
        x - a double representing the upper limit
        Returns:
        a double representing the probability
      • invCDF

        public final double invCDF​(double p)
        Description copied from interface: InverseCDFIfc
        Provides the inverse cumulative distribution function for the distribution While closed form solutions for the inverse cdf may not exist, numerical search methods can be used to solve F(X) = U.
        Specified by:
        invCDF in interface InverseCDFIfc
        Parameters:
        p - The probability to be evaluated for the inverse, p must be [0,1] or an IllegalArgumentException is thrown
        Returns:
        The inverse cdf evaluated at the supplied probability
      • pdf

        public final double pdf​(double x)
        Description copied from interface: PDFIfc
        Returns the f(x) where f represents the probability density function for the distribution. Note this is not a probability.
        Specified by:
        pdf in interface PDFIfc
        Parameters:
        x - a double representing the value to be evaluated
        Returns:
        f(x)
      • getSkewness

        public final double getSkewness()
        Gets the skewness of the distribution
        Returns:
        the skewness
      • getKurtosis

        public final double getKurtosis()
        Gets the kurtosis of the distribution
        Returns:
        the kurtosis
      • setParameters

        public final void setParameters​(double[] parameters)
        Sets the parameters for the distribution mean = parameters[0] and variance = parameters[1]
        Specified by:
        setParameters in interface ParametersIfc
        Parameters:
        parameters - an array of doubles representing the parameters for the distribution
      • getParameters

        public final double[] getParameters()
        Gets the parameters for the distribution
        Specified by:
        getParameters in interface ParametersIfc
        Returns:
        Returns an array of the parameters for the distribution
      • firstOrderLossFunction

        public double firstOrderLossFunction​(double x)
        Description copied from interface: FirstOrderLossFunctionIfc
        Computes the first order loss function for the function for given value of x, G1(x) = E[max(X-x,0)]
        Specified by:
        firstOrderLossFunction in interface FirstOrderLossFunctionIfc
        Parameters:
        x - The value to be evaluated
        Returns:
        The loss function value, E[max(X-x,0)]
      • secondOrderLossFunction

        public double secondOrderLossFunction​(double x)
        Description copied from interface: SecondOrderLossFunctionIfc
        Computes the 2nd order loss function for the distribution function for given value of x, G2(x) = (1/2)E[max(X-x,0)*max(X-x-1,0)]
        Specified by:
        secondOrderLossFunction in interface SecondOrderLossFunctionIfc
        Parameters:
        x - The value to be evaluated
        Returns:
        The loss function value, (1/2)E[max(X-x,0)*max(X-x-1,0)]