Lognormal

Models the lognormal distribution This distribution is commonly used to model the time of a task

Parameters: mean and variance.

Note: these parameters are the actual mean and variance of the lognormal distribution, not some underlying normal distribution as in many implementations.

Parameters

theMean

must be > 0

theVariance

must be > 0

name

an optional name/label

Constructors

Link copied to clipboard
constructor(parameters: DoubleArray)

Constructs a lognormal distribution with mean = parameters0 and variance = parameters1

constructor(theMean: Double = 1.0, theVariance: Double = 1.0, name: String? = null)

Properties

Link copied to clipboard
open override val id: Int
Link copied to clipboard

Gets the kurtosis of the distribution

Link copied to clipboard
open override var label: String?
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open override val name: String
Link copied to clipboard

The mean of the underlying normal

Link copied to clipboard

The standard deviation of the underlying normal

Link copied to clipboard

The variance of the underlying normal

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open override val rvParameters: RVParameters

the parameters for this type of random variable

Link copied to clipboard

Gets the skewness of the distribution

Link copied to clipboard

Functions

Link copied to clipboard

Returns an array of probabilities each representing F(x_i). The CDF is evaluated for each point in the input array x and the probabilities are returned in the returned array.

open fun cdf(interval: Interval): Double

Returns the probability of being in the interval, F(upper limit) - F(lower limit) Be careful, this is Pr{lower limit < = X < = upper limit} which includes the lower limit and has implications if the distribution is discrete

open fun cdf(x1: Double, x2: Double): Double

Returns the Pr{x1 <= X <= x2} for the distribution. Be careful, this is Pr{x1 <= X <= x2} which includes the lower limit and has implications if the distribution is discrete

open override fun cdf(x: Double): Double

Returns the F(x) = Pr{X <= x} where F represents the cumulative distribution function

Link copied to clipboard

Computes the complementary cumulative probability distribution function for given value of x. This is P{X > x}

Link copied to clipboard
open override fun domain(): Interval
Link copied to clipboard
open override fun firstOrderLossFunction(x: Double): Double

Computes the first order loss function for the function for given value of x, G1(x) = Emax(X-x,0)

Link copied to clipboard
open override fun instance(): Lognormal
Link copied to clipboard
open fun invCDF(probabilities: DoubleArray): DoubleArray

Computes x_p where P(X <= x_p) = p for the supplied array of probabilities. Requires that the values within the supplied array are in (0,1)

open override fun invCDF(p: Double): Double

Provides the inverse cumulative distribution function for the distribution

Link copied to clipboard
open fun likelihood(data: DoubleArray): Double

Assuming that the observations in the array data are from a random sample, this function computes the likelihood function. This is computed using as the sum of the log-likelihood function raised to e. Implementation may want to specify other computationally efficient formulas for this function or (most likely) the sum of the log-likelihood function.

Link copied to clipboard
open override fun logLikelihood(x: Double): Double

Computes the natural log of the pdf function evaluated at x. Implementations may want to specify computationally efficient formulas for this function.

Link copied to clipboard
open override fun mean(): Double

Returns the mean or expected value of a distribution

Link copied to clipboard
fun normal(): Normal

Provides a normal distribution with correct parameters as related to this lognormal distribution

Link copied to clipboard
open override fun parameters(): DoubleArray

Gets the parameters for the distribution

open override fun parameters(params: DoubleArray)

Sets the parameters for the distribution mean = parameters0 and variance = parameters1

fun parameters(theMean: Double, theVariance: Double)

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.

Link copied to clipboard
open override fun pdf(x: Double): Double

Returns the f(x) where f represents the probability density function for the distribution. Note this is not a probability.

Link copied to clipboard
open override fun randomVariable(stream: RNStreamIfc): RVariableIfc
open fun randomVariable(streamNum: Int): RVariableIfc
Link copied to clipboard
open override fun secondOrderLossFunction(x: Double): Double

Computes the 2nd order loss function for the distribution function for given value of x, G2(x) = (1/2)Emax(X-x,0)*max(X-x-1,0)

Link copied to clipboard

Returns the standard deviation for the distribution as the square root of the variance if it exists

Link copied to clipboard

Computes the sum of the log-likelihood function evaluated at each observation in the data. Implementations may want to specify computationally efficient formulas for this function.

Link copied to clipboard
open override fun toString(): String
Link copied to clipboard
open override fun variance(): Double

Returns the variance of the distribution if defined