Package org.drip.measure.chisquare
Class R1Central
java.lang.Object
org.drip.measure.continuous.R1Univariate
org.drip.measure.chisquare.R1Central
public class R1Central extends R1Univariate
R1Central implements the Probability Density Function for the R1 Central Chi-Square
Distribution. The References are:
- Abramowitz, M., and I. A. Stegun (2007): Handbook of Mathematics Functions Dover Book on Mathematics
- Backstrom, T., and J. Fischer (2018): Fast Randomization for Distributed Low Bit-rate Coding of Speech and Audio IEEE/ACM Transactions on Audio, Speech, and Language Processing 26 (1) 19-30
- Chi-Squared Distribution (2019): Chi-Squared Function https://en.wikipedia.org/wiki/Chi-squared_distribution
- Johnson, N. L., S. Kotz, and N. Balakrishnan (1994): Continuous Univariate Distributions 2nd Edition John Wiley and Sons
- National Institute of Standards and Technology (2019): Chi-Squared Distribution https://www.itl.nist.gov/div898/handbook/eda/section3/eda3666.htm
- Module = Computational Core Module
- Library = Numerical Analysis Library
- Project = Rd Continuous/Discrete Probability Measures
- Package = Chi-Square Distribution Implementation/Properties
- Author:
- Lakshmi Krishnamurthy
-
Constructor Summary
-
Method Summary
Modifier and Type Method Description double
cdfScaler()
Retrieve the CDF Scalerdouble
chernoffBound(double x)
Compute the Chernoff Upper BoundR1UnivariateNormal
cltProxy()
Retrieve the Central Limit Theorem Equivalent Normal Distribution Proxydouble
cumulant(int n)
Compute the Cumulantdouble
cumulative(double t)
Compute the cumulative under the distribution to the given valuedouble
degreesOfFreedom()
Retrieve the Degrees of Freedomdouble
density(double t)
Compute the Density under the Distribution at the given Variatedouble
differentialEntropy()
Retrieve the Differential Entropy of the DistributionR1ToR1
digammaEstimator()
Retrieve the Digamma Estimatordouble
excessKurtosis()
Retrieve the Excess Kurtosis of the Distributionstatic R1Central
FromIndependentChiSquared(R1Central[] chiSquaredDistributionArray)
Generate a Consolidated Chi-squared Distribution from Independent Component DistributionsR1ShapeScaleDistribution
gammaDistribution(double scale)
Generate a Gamma-distribution off of the Scaled Chi-Square DistributionR1ToR1
gammaEstimator()
Retrieve the Gamma EstimatorR2ToR1
lowerIncompleteGammaEstimator()
Retrieve the Lower Incomplete Gamma Estimatordouble
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 m)
Compute the Non-central Moment about Zerodouble
normalizer()
Retrieve the NormalizerR1ToR1
probabilityGeneratingFunction()
Construct the Probability Generating Functiondouble
random()
Generate a Random Variable corresponding to the Distributiondouble
randomChi()
Generate the Chi Distributed Random Numberdouble
randomCLTProxy()
Generate CLT Proxy Based Random Number - Proxy to Univariate Normal Distributiondouble
randomExponentialHalf()
Generate Exponential (0.5) Distributed Random Numberdouble
randomFisherProxy()
Generate Fisher Proxy Random Number - Proxy to Univariate Normal Distributiondouble
randomGamma(double c)
Generate Gamma Distributed Random Numberdouble
randomLogProxy()
Generate Logarithm Proxy Based Random Number - Proxy to Univariate Normal Distributiondouble
randomMaxwell1()
Generate Maxwell (1) Distributed Random Numberdouble
randomRayleigh1()
Generate Rayleigh (1) Distributed Random Numberdouble
randomWilsonHilferty()
Generate Wilson-Hilferty Proxy Random Number - Proxy to Univariate Normal Distributiondouble
skewness()
Retrieve the Skewness of the Distributiondouble[]
support()
Lay out the Support of the PDF Rangeboolean
validCLTProxy()
Indicate if the Current Distribution is a Valid Proxy as a CLTdouble
variance()
Retrieve the Variance of the DistributionMethods inherited from class org.drip.measure.continuous.R1Univariate
bPOE, centralMoment, cvar, expectedShortfall, fisherInformation, histogram, incremental, invCumulative, iqr, kullbackLeiblerDivergence, populationCentralMeasures, quantile, randomArray, supported, tukeyAnomaly, tukeyCriterion
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Constructor Details
-
R1Central
public R1Central(double degreesOfFreedom, R1ToR1 gammaEstimator, R1ToR1 digammaEstimator, R2ToR1 lowerIncompleteGammaEstimator) throws java.lang.ExceptionR1Central Constructor- Parameters:
degreesOfFreedom
- Degrees of FreedomgammaEstimator
- Gamma EstimatordigammaEstimator
- Digamma EstimatorlowerIncompleteGammaEstimator
- Lower Incomplete Gamma Estimator- Throws:
java.lang.Exception
- Thrown if the Inputs are Invalid
-
-
Method Details
-
FromIndependentChiSquared
Generate a Consolidated Chi-squared Distribution from Independent Component Distributions- Parameters:
chiSquaredDistributionArray
- Independent Component Distribution Array- Returns:
- Consolidated Chi-squared Distribution
-
degreesOfFreedom
public double degreesOfFreedom()Retrieve the Degrees of Freedom- Returns:
- The Degrees of Freedom
-
gammaEstimator
Retrieve the Gamma Estimator- Returns:
- Gamma Estimator
-
digammaEstimator
Retrieve the Digamma Estimator- Returns:
- Digamma Estimator
-
lowerIncompleteGammaEstimator
Retrieve the Lower Incomplete Gamma Estimator- Returns:
- Lower Incomplete Gamma Estimator
-
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
-
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
-
differentialEntropy
public double differentialEntropy() throws java.lang.ExceptionDescription copied from class:R1Univariate
Retrieve the Differential Entropy of the Distribution- Overrides:
differentialEntropy
in classR1Univariate
- Returns:
- The Differential Entropy of the Distribution
- Throws:
java.lang.Exception
- Thrown if the Entropy cannot be estimated
-
momentGeneratingFunction
Description copied from class:R1Univariate
Construct the Moment Generating Function- Overrides:
momentGeneratingFunction
in classR1Univariate
- Returns:
- The Moment Generating Function
-
probabilityGeneratingFunction
Description copied from class:R1Univariate
Construct the Probability Generating Function- Overrides:
probabilityGeneratingFunction
in classR1Univariate
- Returns:
- The Probability Generating Function
-
random
public double random() throws java.lang.ExceptionDescription copied from class:R1Univariate
Generate a Random Variable corresponding to the Distribution- Overrides:
random
in classR1Univariate
- Returns:
- Random Variable corresponding to the Distribution
- Throws:
java.lang.Exception
- Thrown if the Random Instance cannot be estimated
-
normalizer
public double normalizer()Retrieve the Normalizer- Returns:
- Normalizer
-
cdfScaler
public double cdfScaler()Retrieve the CDF Scaler- Returns:
- CDF Scaler
-
chernoffBound
public double chernoffBound(double x) throws java.lang.ExceptionCompute the Chernoff Upper Bound- Parameters:
x
- A- Returns:
- The Chernoff Upper Bound
- Throws:
java.lang.Exception
- Thrown if the Chernoff Upper Bound cannot be calculated
-
nonCentralMoment
public double nonCentralMoment(int m) throws java.lang.ExceptionCompute the Non-central Moment about Zero- Overrides:
nonCentralMoment
in classR1Univariate
- Parameters:
m
- Non-central Moment Index- Returns:
- The Non-central Moment about Zero
- Throws:
java.lang.Exception
- Thrown if the Inputs are Invalid
-
cumulant
public double cumulant(int n) throws java.lang.ExceptionCompute the Cumulant- Parameters:
n
- Cumulant Index- Returns:
- The Cumulant
- Throws:
java.lang.Exception
- Thrown if the Inputs are Invalid
-
cltProxy
Retrieve the Central Limit Theorem Equivalent Normal Distribution Proxy- Returns:
- The Central Limit Theorem Equivalent Normal Distribution Proxy
-
validCLTProxy
public boolean validCLTProxy()Indicate if the Current Distribution is a Valid Proxy as a CLT- Returns:
- TRUE - The Current Distribution is a Valid Proxy as a CLT
-
gammaDistribution
Generate a Gamma-distribution off of the Scaled Chi-Square Distribution- Parameters:
scale
- The Scale- Returns:
- The Gamma Distribution
-
randomLogProxy
public double randomLogProxy() throws java.lang.ExceptionGenerate Logarithm Proxy Based Random Number - Proxy to Univariate Normal Distribution- Returns:
- Logarithm Proxy Based Random Number - Proxy to Univariate Normal Distribution
- Throws:
java.lang.Exception
- Thrown if the Inputs are Invalid
-
randomCLTProxy
public double randomCLTProxy() throws java.lang.ExceptionGenerate CLT Proxy Based Random Number - Proxy to Univariate Normal Distribution- Returns:
- CLT Proxy Based Random Number - Proxy to Univariate Normal Distribution
- Throws:
java.lang.Exception
- Thrown if the Inputs are Invalid
-
randomFisherProxy
public double randomFisherProxy() throws java.lang.ExceptionGenerate Fisher Proxy Random Number - Proxy to Univariate Normal Distribution- Returns:
- Fisher Proxy Random Number - Proxy to Univariate Normal Distribution
- Throws:
java.lang.Exception
- Thrown if the Inputs are Invalid
-
randomWilsonHilferty
public double randomWilsonHilferty() throws java.lang.ExceptionGenerate Wilson-Hilferty Proxy Random Number - Proxy to Univariate Normal Distribution- Returns:
- Wilson-Hilferty Proxy Random Number - Proxy to Univariate Normal Distribution
- Throws:
java.lang.Exception
- Thrown if the Inputs are Invalid
-
randomGamma
public double randomGamma(double c) throws java.lang.ExceptionGenerate Gamma Distributed Random Number- Parameters:
c
- The Scale Parameter- Returns:
- Gamma Distributed Random Number
- Throws:
java.lang.Exception
- Thrown if the Inputs are Invalid
-
randomChi
public double randomChi() throws java.lang.ExceptionGenerate the Chi Distributed Random Number- Returns:
- Chi Distributed Random Number
- Throws:
java.lang.Exception
- Thrown if the Inputs are Invalid
-
randomExponentialHalf
public double randomExponentialHalf() throws java.lang.ExceptionGenerate Exponential (0.5) Distributed Random Number- Returns:
- Exponential (0.5) Distributed Random Number
- Throws:
java.lang.Exception
- Thrown if the Inputs are Invalid
-
randomRayleigh1
public double randomRayleigh1() throws java.lang.ExceptionGenerate Rayleigh (1) Distributed Random Number- Returns:
- Rayleigh (1) Distributed Random Number
- Throws:
java.lang.Exception
- Thrown if the Inputs are Invalid
-
randomMaxwell1
public double randomMaxwell1() throws java.lang.ExceptionGenerate Maxwell (1) Distributed Random Number- Returns:
- Maxwell (1) Distributed Random Number
- Throws:
java.lang.Exception
- Thrown if the Inputs are Invalid
-