Package org.drip.measure.exponential
Class R1RateDistribution
java.lang.Object
org.drip.measure.continuous.R1Univariate
org.drip.measure.exponential.R1RateDistribution
- Direct Known Subclasses:
RealizedMinimaR1RateDistribution
public class R1RateDistribution extends R1Univariate
R1RateDistribution implements the Rate Parameterization of the R1 Exponential
Distribution. The References are:
- Devroye, L. (1986): Non-Uniform Random Variate Generation Springer-Verlag New York
- Exponential Distribution (2019): Exponential Distribution https://en.wikipedia.org/wiki/Exponential_distribution
- Norton, M., V. Khokhlov, and S. Uryasev (2019): Calculating CVaR and bPOE for Common Probability Distributions with Application to Portfolio Optimization and Density Estimation Annals of Operations Research 299 (1-2) 1281-1315
- Ross, S. M. (2009): Introduction to Probability and Statistics for Engineers and Scientists 4th Edition Associated Press New York, NY
- Schmidt, D. F., and D. Makalic (2009): Universal Models for the Exponential Distribution IEEE Transactions on Information Theory 55 (7) 3087-3090
- Module = Computational Core Module
- Library = Numerical Analysis Library
- Project = Rd Continuous/Discrete Probability Measures
- Package = R1 Exponential Distribution Implementation/Properties
- Author:
- Lakshmi Krishnamurthy
-
Constructor Summary
Constructors Constructor Description R1RateDistribution(double lambda)
R1RateDistribution Constructor -
Method Summary
Modifier and Type Method Description double
bPOE(double x)
Retrieve the Buffered Probability of Existencedouble
centralMoment(int n)
Retrieve the nth Central Momentdouble
cumulative(double t)
Compute the cumulative under the distribution to the given valuedouble
cvar(double p)
Retrieve the Quantile CVaR (Conditional Value-at-Risk) of the Distributiondouble
density(double t)
Compute the Density under the Distribution at the given Variatedouble
excessKurtosis()
Retrieve the Excess Kurtosis of the Distributiondouble
fisherInformation()
Retrieve the Fisher Information of the Distributiondouble
iqr()
Retrieve the Inter-quantile Range (IQR) of the Distributiondouble
kullbackLeiblerDivergence(R1Univariate r1UnivariateOther)
Compute the Kullback-Leibler Divergence against the other R1 Distributiondouble
lambda()
Retrieve the Lambdadouble
mean()
Retrieve the Mean of the Distributiondouble
median()
Retrieve the Median of the Distributiondouble
mode()
Retrieve the Mode of the DistributionR1ToR1
momentGeneratingFunction()
Construct the Moment Generating Functiondouble
nonCentralMoment(int n)
Retrieve the nth Non-central Momentdouble
quantile(double p)
Retrieve the Quantile Variate of the Distributiondouble
rate()
Retrieve the Rate Parameterdouble
scale()
Retrieve the Scale Parameterstatic R1RateDistribution
ScaleStandard(double beta)
Construct a Standard Scale Parameterized Instance of R1 Exponential Distributiondouble
skewness()
Retrieve the Skewness of the Distributiondouble[]
support()
Lay out the Support of the PDF Rangedouble
variance()
Retrieve the Variance of the DistributionMethods inherited from class org.drip.measure.continuous.R1Univariate
differentialEntropy, expectedShortfall, histogram, incremental, invCumulative, populationCentralMeasures, probabilityGeneratingFunction, random, randomArray, supported, tukeyAnomaly, tukeyCriterion
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Constructor Details
-
R1RateDistribution
public R1RateDistribution(double lambda) throws java.lang.ExceptionR1RateDistribution Constructor- Parameters:
lambda
- Rate Parameter- Throws:
java.lang.Exception
- Thrown if lambda is invalid
-
-
Method Details
-
ScaleStandard
Construct a Standard Scale Parameterized Instance of R1 Exponential Distribution- Parameters:
beta
- The Scale Parameter Beta- Returns:
- Scale Parameterized Instance of R1 Exponential Distribution
-
lambda
public double lambda()Retrieve the Lambda- Returns:
- Lambda
-
rate
public double rate()Retrieve the Rate Parameter- Returns:
- Rate Parameter
-
scale
public double scale()Retrieve the Scale Parameter- Returns:
- Scale Parameter
-
support
public double[] support()Description copied from class:R1Univariate
Lay out the Support of the PDF Range- Specified by:
support
in classR1Univariate
- Returns:
- Support of the PDF Range
-
density
public double density(double t) throws java.lang.ExceptionDescription copied from class:R1Univariate
Compute the Density under the Distribution at the given Variate- Specified by:
density
in classR1Univariate
- Parameters:
t
- Variate at which the Density needs to be computed- Returns:
- The Density
- Throws:
java.lang.Exception
- Thrown if the input is invalid
-
cumulative
public double cumulative(double t) throws java.lang.ExceptionDescription copied from class:R1Univariate
Compute the cumulative under the distribution to the given value- Specified by:
cumulative
in classR1Univariate
- Parameters:
t
- Variate to which the cumulative is to be computed- Returns:
- The cumulative
- Throws:
java.lang.Exception
- Thrown if the inputs are invalid
-
mean
public double mean() throws java.lang.ExceptionDescription copied from class:R1Univariate
Retrieve the Mean of the Distribution- Specified by:
mean
in classR1Univariate
- Returns:
- The Mean of the Distribution
- Throws:
java.lang.Exception
- Thrown if the Mean cannot be estimated
-
median
public double median() throws java.lang.ExceptionDescription copied from class:R1Univariate
Retrieve the Median of the Distribution- Overrides:
median
in classR1Univariate
- Returns:
- The Median of the Distribution
- Throws:
java.lang.Exception
- Thrown if the Median cannot be estimated
-
mode
public double mode() throws java.lang.ExceptionDescription copied from class:R1Univariate
Retrieve the Mode of the Distribution- Overrides:
mode
in classR1Univariate
- Returns:
- The Mode of the Distribution
- Throws:
java.lang.Exception
- Thrown if the Mode cannot be estimated
-
quantile
public double quantile(double p) throws java.lang.ExceptionDescription copied from class:R1Univariate
Retrieve the Quantile Variate of the Distribution- Overrides:
quantile
in classR1Univariate
- Parameters:
p
- The Quantile Fraction- Returns:
- The Quantile Variate of the Distribution
- Throws:
java.lang.Exception
- Thrown if the Quantile Variate cannot be estimated
-
variance
public double variance() throws java.lang.ExceptionDescription copied from class:R1Univariate
Retrieve the Variance of the Distribution- Specified by:
variance
in classR1Univariate
- Returns:
- The Variance of the Distribution
- Throws:
java.lang.Exception
- Thrown if the Variance cannot be estimated
-
skewness
public double skewness() throws java.lang.ExceptionDescription copied from class:R1Univariate
Retrieve the Skewness of the Distribution- Overrides:
skewness
in classR1Univariate
- Returns:
- The Skewness of the Distribution
- Throws:
java.lang.Exception
- Thrown if the Skewness cannot be estimated
-
excessKurtosis
public double excessKurtosis() throws java.lang.ExceptionDescription copied from class:R1Univariate
Retrieve the Excess Kurtosis of the Distribution- Overrides:
excessKurtosis
in classR1Univariate
- Returns:
- The Excess Kurtosis of the Distribution
- Throws:
java.lang.Exception
- Thrown if the Skewness cannot be estimated
-
momentGeneratingFunction
Description copied from class:R1Univariate
Construct the Moment Generating Function- Overrides:
momentGeneratingFunction
in classR1Univariate
- Returns:
- The Moment Generating Function
-
fisherInformation
public double fisherInformation() throws java.lang.ExceptionDescription copied from class:R1Univariate
Retrieve the Fisher Information of the Distribution- Overrides:
fisherInformation
in classR1Univariate
- Returns:
- The Fisher Information of the Distribution
- Throws:
java.lang.Exception
- Thrown if the Fisher Information cannot be estimated
-
kullbackLeiblerDivergence
Description copied from class:R1Univariate
Compute the Kullback-Leibler Divergence against the other R1 Distribution- Overrides:
kullbackLeiblerDivergence
in classR1Univariate
- Parameters:
r1UnivariateOther
- Other R1 Distribution- Returns:
- Kullback-Leibler Divergence against the other R1 Distribution
- Throws:
java.lang.Exception
- Thrown if the Kullback-Leibler Divergence cannot be estimated
-
cvar
public double cvar(double p) throws java.lang.ExceptionDescription copied from class:R1Univariate
Retrieve the Quantile CVaR (Conditional Value-at-Risk) of the Distribution- Overrides:
cvar
in classR1Univariate
- Parameters:
p
- The Quantile- Returns:
- The Quantile CVaR of the Distribution
- Throws:
java.lang.Exception
- Thrown if the Quantile CVaR cannot be estimated
-
bPOE
public double bPOE(double x) throws java.lang.ExceptionDescription copied from class:R1Univariate
Retrieve the Buffered Probability of Existence- Overrides:
bPOE
in classR1Univariate
- Parameters:
x
- The Variate- Returns:
- The Buffered Probability of Existence
- Throws:
java.lang.Exception
- Thrown if the Buffered Probability of Existence cannot be estimated
-
nonCentralMoment
public double nonCentralMoment(int n) throws java.lang.ExceptionDescription copied from class:R1Univariate
Retrieve the nth Non-central Moment- Overrides:
nonCentralMoment
in classR1Univariate
- Parameters:
n
- Moment Number- Returns:
- The nth Non-central Moment
- Throws:
java.lang.Exception
- Thrown if the nth Non-central Moment cannot be estimated
-
centralMoment
public double centralMoment(int n) throws java.lang.ExceptionDescription copied from class:R1Univariate
Retrieve the nth Central Moment- Overrides:
centralMoment
in classR1Univariate
- Parameters:
n
- Moment Number- Returns:
- The nth Central Moment
- Throws:
java.lang.Exception
- Thrown if the nth Central Moment cannot be estimated
-
iqr
public double iqr() throws java.lang.ExceptionDescription copied from class:R1Univariate
Retrieve the Inter-quantile Range (IQR) of the Distribution- Overrides:
iqr
in classR1Univariate
- Returns:
- The Inter-quantile Range of the Distribution
- Throws:
java.lang.Exception
- Thrown if the Inter-quantile Range cannot be estimated
-