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


Author:
Lakshmi Krishnamurthy
  • Constructor Details

    • R1RateDistribution

      public R1RateDistribution​(double lambda) throws java.lang.Exception
      R1RateDistribution Constructor
      Parameters:
      lambda - Rate Parameter
      Throws:
      java.lang.Exception - Thrown if lambda is invalid
  • Method Details

    • ScaleStandard

      public static final R1RateDistribution ScaleStandard​(double beta)
      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 class R1Univariate
      Returns:
      Support of the PDF Range
    • density

      public double density​(double t) throws java.lang.Exception
      Description copied from class: R1Univariate
      Compute the Density under the Distribution at the given Variate
      Specified by:
      density in class R1Univariate
      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.Exception
      Description copied from class: R1Univariate
      Compute the cumulative under the distribution to the given value
      Specified by:
      cumulative in class R1Univariate
      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.Exception
      Description copied from class: R1Univariate
      Retrieve the Mean of the Distribution
      Specified by:
      mean in class R1Univariate
      Returns:
      The Mean of the Distribution
      Throws:
      java.lang.Exception - Thrown if the Mean cannot be estimated
    • median

      public double median() throws java.lang.Exception
      Description copied from class: R1Univariate
      Retrieve the Median of the Distribution
      Overrides:
      median in class R1Univariate
      Returns:
      The Median of the Distribution
      Throws:
      java.lang.Exception - Thrown if the Median cannot be estimated
    • mode

      public double mode() throws java.lang.Exception
      Description copied from class: R1Univariate
      Retrieve the Mode of the Distribution
      Overrides:
      mode in class R1Univariate
      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.Exception
      Description copied from class: R1Univariate
      Retrieve the Quantile Variate of the Distribution
      Overrides:
      quantile in class R1Univariate
      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.Exception
      Description copied from class: R1Univariate
      Retrieve the Variance of the Distribution
      Specified by:
      variance in class R1Univariate
      Returns:
      The Variance of the Distribution
      Throws:
      java.lang.Exception - Thrown if the Variance cannot be estimated
    • skewness

      public double skewness() throws java.lang.Exception
      Description copied from class: R1Univariate
      Retrieve the Skewness of the Distribution
      Overrides:
      skewness in class R1Univariate
      Returns:
      The Skewness of the Distribution
      Throws:
      java.lang.Exception - Thrown if the Skewness cannot be estimated
    • excessKurtosis

      public double excessKurtosis() throws java.lang.Exception
      Description copied from class: R1Univariate
      Retrieve the Excess Kurtosis of the Distribution
      Overrides:
      excessKurtosis in class R1Univariate
      Returns:
      The Excess Kurtosis of the Distribution
      Throws:
      java.lang.Exception - Thrown if the Skewness cannot be estimated
    • momentGeneratingFunction

      public R1ToR1 momentGeneratingFunction()
      Description copied from class: R1Univariate
      Construct the Moment Generating Function
      Overrides:
      momentGeneratingFunction in class R1Univariate
      Returns:
      The Moment Generating Function
    • fisherInformation

      public double fisherInformation() throws java.lang.Exception
      Description copied from class: R1Univariate
      Retrieve the Fisher Information of the Distribution
      Overrides:
      fisherInformation in class R1Univariate
      Returns:
      The Fisher Information of the Distribution
      Throws:
      java.lang.Exception - Thrown if the Fisher Information cannot be estimated
    • kullbackLeiblerDivergence

      public double kullbackLeiblerDivergence​(R1Univariate r1UnivariateOther) throws java.lang.Exception
      Description copied from class: R1Univariate
      Compute the Kullback-Leibler Divergence against the other R1 Distribution
      Overrides:
      kullbackLeiblerDivergence in class R1Univariate
      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.Exception
      Description copied from class: R1Univariate
      Retrieve the Quantile CVaR (Conditional Value-at-Risk) of the Distribution
      Overrides:
      cvar in class R1Univariate
      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.Exception
      Description copied from class: R1Univariate
      Retrieve the Buffered Probability of Existence
      Overrides:
      bPOE in class R1Univariate
      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.Exception
      Description copied from class: R1Univariate
      Retrieve the nth Non-central Moment
      Overrides:
      nonCentralMoment in class R1Univariate
      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.Exception
      Description copied from class: R1Univariate
      Retrieve the nth Central Moment
      Overrides:
      centralMoment in class R1Univariate
      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.Exception
      Description copied from class: R1Univariate
      Retrieve the Inter-quantile Range (IQR) of the Distribution
      Overrides:
      iqr in class R1Univariate
      Returns:
      The Inter-quantile Range of the Distribution
      Throws:
      java.lang.Exception - Thrown if the Inter-quantile Range cannot be estimated