jsat.distributions
Class TruncatedDistribution
- java.lang.Object
-
- jsat.distributions.Distribution
-
- jsat.distributions.ContinuousDistribution
-
- jsat.distributions.TruncatedDistribution
-
- All Implemented Interfaces:
- java.io.Serializable, java.lang.Cloneable
public class TruncatedDistribution extends ContinuousDistribution
This distribution truncates a given continuous distribution only be valid for values in the range (min, max]. Thepdffor any value outside that range will be 0.
Thepdf(double),cdf(double), and theinvCdf(double)methods are implemented efficiently, with little overhead per call. All other methods are approximated numerically, and incur more overhead.- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor and Description TruncatedDistribution(ContinuousDistribution base, double min, double max)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method and Description doublecdf(double x)Computes the value of the Cumulative Density Function (CDF) at the given point.TruncatedDistributionclone()double[]getCurrentVariableValues()Returns an array, where each value contains the value of a parameter in the distribution.java.lang.StringgetDistributionName()Return the name of the distribution.java.lang.String[]getVariables()Returns an array, where each value contains the name of a parameter in the distribution.doubleinvCdf(double p)Computes the inverse Cumulative Density Function (CDF-1) at the given point.doublemax()The maximum value for which the#pdf(double)is meant to return a value.doublemin()The minimum value for which the#pdf(double)is meant to return a value.doublemode()Computes the mode of the distribution.doublepdf(double x)Computes the value of the Probability Density Function (PDF) at the given pointvoidsetUsingData(Vec data)Attempts to set the variables used by this distribution based on population sample data, assuming the sample data is from this type of distribution.voidsetVariable(java.lang.String var, double value)Sets one of the variables of this distribution by the name.-
Methods inherited from class jsat.distributions.ContinuousDistribution
getDescriptiveName, logPdf, mean, skewness, toString, variance
-
Methods inherited from class jsat.distributions.Distribution
median, sample, sampleVec, standardDeviation
-
-
-
-
Constructor Detail
-
TruncatedDistribution
public TruncatedDistribution(ContinuousDistribution base, double min, double max)
-
-
Method Detail
-
pdf
public double pdf(double x)
Description copied from class:ContinuousDistributionComputes the value of the Probability Density Function (PDF) at the given point- Specified by:
pdfin classContinuousDistribution- Parameters:
x- the value to get the PDF- Returns:
- the PDF(x)
-
cdf
public double cdf(double x)
Description copied from class:DistributionComputes the value of the Cumulative Density Function (CDF) at the given point. The CDF returns a value in the range [0, 1], indicating what portion of values occur at or below that point.- Overrides:
cdfin classContinuousDistribution- Parameters:
x- the value to get the CDF of- Returns:
- the CDF(x)
-
invCdf
public double invCdf(double p)
Description copied from class:DistributionComputes the inverse Cumulative Density Function (CDF-1) at the given point. It takes in a value in the range of [0, 1] and returns the value x, such that CDF(x) = p- Overrides:
invCdfin classContinuousDistribution- Parameters:
p- the probability value- Returns:
- the value such that the CDF would return p
-
getDistributionName
public java.lang.String getDistributionName()
Description copied from class:ContinuousDistributionReturn the name of the distribution.- Specified by:
getDistributionNamein classContinuousDistribution- Returns:
- the name of the distribution.
-
getVariables
public java.lang.String[] getVariables()
Description copied from class:ContinuousDistributionReturns an array, where each value contains the name of a parameter in the distribution. The order must always be the same, and match up with the values returned byContinuousDistribution.getCurrentVariableValues()- Specified by:
getVariablesin classContinuousDistribution- Returns:
- a string of the variable names this distribution uses
-
getCurrentVariableValues
public double[] getCurrentVariableValues()
Description copied from class:ContinuousDistributionReturns an array, where each value contains the value of a parameter in the distribution. The order must always be the same, and match up with the values returned byContinuousDistribution.getVariables()- Specified by:
getCurrentVariableValuesin classContinuousDistribution- Returns:
- the current values of the parameters used by this distribution, in the same order as their names are returned by
ContinuousDistribution.getVariables()
-
setVariable
public void setVariable(java.lang.String var, double value)Description copied from class:ContinuousDistributionSets one of the variables of this distribution by the name.- Specified by:
setVariablein classContinuousDistribution- Parameters:
var- the variable to setvalue- the value to set
-
clone
public TruncatedDistribution clone()
- Specified by:
clonein classContinuousDistribution
-
setUsingData
public void setUsingData(Vec data)
Description copied from class:ContinuousDistributionAttempts to set the variables used by this distribution based on population sample data, assuming the sample data is from this type of distribution.- Specified by:
setUsingDatain classContinuousDistribution- Parameters:
data- the data to use to attempt to fit against
-
mode
public double mode()
Description copied from class:DistributionComputes the mode of the distribution. Not all distributions have a mode for all parameter values.NaNmay be returned if the mode is not defined for the current values of the distribution.- Overrides:
modein classContinuousDistribution- Returns:
- the mode of the distribution
-
min
public double min()
Description copied from class:DistributionThe minimum value for which the#pdf(double)is meant to return a value. Note thatDouble.NEGATIVE_INFINITYis a valid return value.- Specified by:
minin classDistribution- Returns:
- the minimum value for which the
#pdf(double)is meant to return a value.
-
max
public double max()
Description copied from class:DistributionThe maximum value for which the#pdf(double)is meant to return a value. Note thatDouble.POSITIVE_INFINITYis a valid return value.- Specified by:
maxin classDistribution- Returns:
- the maximum value for which the
#pdf(double)is meant to return a value.
-
-
DataMelt 3.0 © DataMelt by jWork.ORG