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 doublecdfScaler()Retrieve the CDF ScalerdoublechernoffBound(double x)Compute the Chernoff Upper BoundR1UnivariateNormalcltProxy()Retrieve the Central Limit Theorem Equivalent Normal Distribution Proxydoublecumulant(int n)Compute the Cumulantdoublecumulative(double t)Compute the cumulative under the distribution to the given valuedoubledegreesOfFreedom()Retrieve the Degrees of Freedomdoubledensity(double t)Compute the Density under the Distribution at the given VariatedoubledifferentialEntropy()Retrieve the Differential Entropy of the DistributionR1ToR1digammaEstimator()Retrieve the Digamma EstimatordoubleexcessKurtosis()Retrieve the Excess Kurtosis of the Distributionstatic R1CentralFromIndependentChiSquared(R1Central[] chiSquaredDistributionArray)Generate a Consolidated Chi-squared Distribution from Independent Component DistributionsR1ShapeScaleDistributiongammaDistribution(double scale)Generate a Gamma-distribution off of the Scaled Chi-Square DistributionR1ToR1gammaEstimator()Retrieve the Gamma EstimatorR2ToR1lowerIncompleteGammaEstimator()Retrieve the Lower Incomplete Gamma Estimatordoublemean()Retrieve the Mean of the Distributiondoublemedian()Retrieve the Median of the Distributiondoublemode()Retrieve the Mode of the DistributionR1ToR1momentGeneratingFunction()Construct the Moment Generating FunctiondoublenonCentralMoment(int m)Compute the Non-central Moment about Zerodoublenormalizer()Retrieve the NormalizerR1ToR1probabilityGeneratingFunction()Construct the Probability Generating Functiondoublerandom()Generate a Random Variable corresponding to the DistributiondoublerandomChi()Generate the Chi Distributed Random NumberdoublerandomCLTProxy()Generate CLT Proxy Based Random Number - Proxy to Univariate Normal DistributiondoublerandomExponentialHalf()Generate Exponential (0.5) Distributed Random NumberdoublerandomFisherProxy()Generate Fisher Proxy Random Number - Proxy to Univariate Normal DistributiondoublerandomGamma(double c)Generate Gamma Distributed Random NumberdoublerandomLogProxy()Generate Logarithm Proxy Based Random Number - Proxy to Univariate Normal DistributiondoublerandomMaxwell1()Generate Maxwell (1) Distributed Random NumberdoublerandomRayleigh1()Generate Rayleigh (1) Distributed Random NumberdoublerandomWilsonHilferty()Generate Wilson-Hilferty Proxy Random Number - Proxy to Univariate Normal Distributiondoubleskewness()Retrieve the Skewness of the Distributiondouble[]support()Lay out the Support of the PDF RangebooleanvalidCLTProxy()Indicate if the Current Distribution is a Valid Proxy as a CLTdoublevariance()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, tukeyCriterionMethods 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: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
-
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
-
differentialEntropy
public double differentialEntropy() throws java.lang.ExceptionDescription copied from class:R1UnivariateRetrieve the Differential Entropy of the Distribution- Overrides:
differentialEntropyin classR1Univariate- Returns:
- The Differential Entropy of the Distribution
- Throws:
java.lang.Exception- Thrown if the Entropy cannot be estimated
-
momentGeneratingFunction
Description copied from class:R1UnivariateConstruct the Moment Generating Function- Overrides:
momentGeneratingFunctionin classR1Univariate- Returns:
- The Moment Generating Function
-
probabilityGeneratingFunction
Description copied from class:R1UnivariateConstruct the Probability Generating Function- Overrides:
probabilityGeneratingFunctionin classR1Univariate- Returns:
- The Probability Generating Function
-
random
public double random() throws java.lang.ExceptionDescription copied from class:R1UnivariateGenerate a Random Variable corresponding to the Distribution- Overrides:
randomin 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:
nonCentralMomentin 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
-