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 doublebPOE(double x)Retrieve the Buffered Probability of ExistencedoublecentralMoment(int n)Retrieve the nth Central Momentdoublecumulative(double t)Compute the cumulative under the distribution to the given valuedoublecvar(double p)Retrieve the Quantile CVaR (Conditional Value-at-Risk) of the Distributiondoubledensity(double t)Compute the Density under the Distribution at the given VariatedoubleexcessKurtosis()Retrieve the Excess Kurtosis of the DistributiondoublefisherInformation()Retrieve the Fisher Information of the Distributiondoubleiqr()Retrieve the Inter-quantile Range (IQR) of the DistributiondoublekullbackLeiblerDivergence(R1Univariate r1UnivariateOther)Compute the Kullback-Leibler Divergence against the other R1 Distributiondoublelambda()Retrieve the Lambdadoublemean()Retrieve the Mean of the Distributiondoublemedian()Retrieve the Median of the Distributiondoublemode()Retrieve the Mode of the DistributionR1ToR1momentGeneratingFunction()Construct the Moment Generating FunctiondoublenonCentralMoment(int n)Retrieve the nth Non-central Momentdoublequantile(double p)Retrieve the Quantile Variate of the Distributiondoublerate()Retrieve the Rate Parameterdoublescale()Retrieve the Scale Parameterstatic R1RateDistributionScaleStandard(double beta)Construct a Standard Scale Parameterized Instance of R1 Exponential Distributiondoubleskewness()Retrieve the Skewness of the Distributiondouble[]support()Lay out the Support of the PDF Rangedoublevariance()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, tukeyCriterionMethods 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:R1UnivariateLay out the Support of the PDF Range- Specified by:
supportin classR1Univariate- Returns:
- Support of the PDF Range
-
density
public double density(double t) throws java.lang.ExceptionDescription copied from class:R1UnivariateCompute the Density under the Distribution at the given Variate- Specified by:
densityin 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:R1UnivariateCompute the cumulative under the distribution to the given value- Specified by:
cumulativein 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:R1UnivariateRetrieve the Mean of the Distribution- Specified by:
meanin 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:R1UnivariateRetrieve the Median of the Distribution- Overrides:
medianin 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:R1UnivariateRetrieve the Mode of the Distribution- Overrides:
modein 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:R1UnivariateRetrieve the Quantile Variate of the Distribution- Overrides:
quantilein 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:R1UnivariateRetrieve the Variance of the Distribution- Specified by:
variancein 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:R1UnivariateRetrieve the Skewness of the Distribution- Overrides:
skewnessin 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:R1UnivariateRetrieve the Excess Kurtosis of the Distribution- Overrides:
excessKurtosisin classR1Univariate- Returns:
- The Excess Kurtosis of the Distribution
- Throws:
java.lang.Exception- Thrown if the Skewness cannot be estimated
-
momentGeneratingFunction
Description copied from class:R1UnivariateConstruct the Moment Generating Function- Overrides:
momentGeneratingFunctionin classR1Univariate- Returns:
- The Moment Generating Function
-
fisherInformation
public double fisherInformation() throws java.lang.ExceptionDescription copied from class:R1UnivariateRetrieve the Fisher Information of the Distribution- Overrides:
fisherInformationin 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:R1UnivariateCompute the Kullback-Leibler Divergence against the other R1 Distribution- Overrides:
kullbackLeiblerDivergencein 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:R1UnivariateRetrieve the Quantile CVaR (Conditional Value-at-Risk) of the Distribution- Overrides:
cvarin 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:R1UnivariateRetrieve the Buffered Probability of Existence- Overrides:
bPOEin 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:R1UnivariateRetrieve the nth Non-central Moment- Overrides:
nonCentralMomentin 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:R1UnivariateRetrieve the nth Central Moment- Overrides:
centralMomentin 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:R1UnivariateRetrieve the Inter-quantile Range (IQR) of the Distribution- Overrides:
iqrin classR1Univariate- Returns:
- The Inter-quantile Range of the Distribution
- Throws:
java.lang.Exception- Thrown if the Inter-quantile Range cannot be estimated
-