Class LogNormalDistribution
- java.lang.Object
-
- elki.math.statistics.distribution.LogNormalDistribution
-
- All Implemented Interfaces:
Distribution
@Alias("lognormal") public class LogNormalDistribution extends java.lang.Object implements Distribution
Log-Normal distribution. The parameterization of this class is somewhere inbetween of GNU R and SciPy. Similar to GNU R we use the logmean and logstddev. Similar to Scipy, we also have a location parameter that shifts the distribution. Our implementation maps to SciPy's as follows: scipy.stats.lognorm(logstddev, shift, FastMath.exp(logmean))- Since:
- 0.5.0
- Author:
- Erich Schubert
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classLogNormalDistribution.ParParameterization class-
Nested classes/interfaces inherited from interface elki.math.statistics.distribution.Distribution
Distribution.Parameterizer
-
-
Constructor Summary
Constructors Constructor Description LogNormalDistribution(double logmean, double logstddev, double shift)Constructor for Log-Normal distribution
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description doublecdf(double val)Return the cumulative density function at the given value.static doublecdf(double x, double mu, double sigma)Cumulative probability density function (CDF) of a normal distribution.doublegetLogMean()Get the log mean value.doublegetLogStddev()Get the log standard deviation.doublegetShift()Get the distribution shift.doublelogpdf(double val)Return the log density of an existing valuestatic doublelogpdf(double x, double mu, double sigma)Probability density function of the normal distribution.doublenextRandom(java.util.Random random)Generate a new random valuedoublepdf(double val)Return the density of an existing valuestatic doublepdf(double x, double mu, double sigma)Probability density function of the normal distribution.doublequantile(double val)Quantile aka probit (for normal) aka inverse CDF (invcdf, cdf^-1) function.static doublequantile(double x, double mu, double sigma)Inverse cumulative probability density function (probit) of a normal distribution.java.lang.StringtoString()Describe the distribution
-
-
-
Method Detail
-
getLogMean
public double getLogMean()
Get the log mean value.- Returns:
- logmean
-
getLogStddev
public double getLogStddev()
Get the log standard deviation.- Returns:
- log standard deviation
-
getShift
public double getShift()
Get the distribution shift.- Returns:
- Shift
-
pdf
public double pdf(double val)
Description copied from interface:DistributionReturn the density of an existing value- Specified by:
pdfin interfaceDistribution- Parameters:
val- existing value- Returns:
- distribution density
-
logpdf
public double logpdf(double val)
Description copied from interface:DistributionReturn the log density of an existing value- Specified by:
logpdfin interfaceDistribution- Parameters:
val- existing value- Returns:
- log distribution density
-
cdf
public double cdf(double val)
Description copied from interface:DistributionReturn the cumulative density function at the given value.- Specified by:
cdfin interfaceDistribution- Parameters:
val- existing value- Returns:
- cumulative density
-
quantile
public double quantile(double val)
Description copied from interface:DistributionQuantile aka probit (for normal) aka inverse CDF (invcdf, cdf^-1) function.- Specified by:
quantilein interfaceDistribution- Parameters:
val- Quantile to find- Returns:
- Quantile position
-
pdf
public static double pdf(double x, double mu, double sigma)Probability density function of the normal distribution.1/(SQRT(2*pi)*sigma*x) * e^(-log(x-mu)^2/2sigma^2)
- Parameters:
x- The value.mu- The mean.sigma- The standard deviation.- Returns:
- PDF of the given normal distribution at x.
-
logpdf
public static double logpdf(double x, double mu, double sigma)Probability density function of the normal distribution.1/(SQRT(2*pi)*sigma*x) * e^(-log(x-mu)^2/2sigma^2)
- Parameters:
x- The value.mu- The mean.sigma- The standard deviation.- Returns:
- logPDF of the given normal distribution at x.
-
cdf
public static double cdf(double x, double mu, double sigma)Cumulative probability density function (CDF) of a normal distribution.- Parameters:
x- value to evaluate CDF atmu- Mean valuesigma- Standard deviation.- Returns:
- The CDF of the given normal distribution at x.
-
quantile
public static double quantile(double x, double mu, double sigma)Inverse cumulative probability density function (probit) of a normal distribution.- Parameters:
x- value to evaluate probit function atmu- Mean valuesigma- Standard deviation.- Returns:
- The probit of the given normal distribution at x.
-
nextRandom
public double nextRandom(java.util.Random random)
Description copied from interface:DistributionGenerate a new random value- Specified by:
nextRandomin interfaceDistribution- Parameters:
random- Random number generator- Returns:
- new random value
-
toString
public java.lang.String toString()
Description copied from interface:DistributionDescribe the distribution- Specified by:
toStringin interfaceDistribution- Overrides:
toStringin classjava.lang.Object- Returns:
- description
-
-