Class MemorylessTruncatedWrapper
- java.lang.Object
-
- org.apache.commons.math3.distribution.AbstractRealDistribution
-
- org.processmining.plugins.stochasticpetrinet.distribution.AnotherAbstractRealDistribution
-
- org.processmining.plugins.stochasticpetrinet.distribution.RejectionWrapper
-
- org.processmining.plugins.stochasticpetrinet.distribution.TruncatedWrapper
-
- org.processmining.plugins.stochasticpetrinet.distribution.MemorylessTruncatedWrapper
-
- All Implemented Interfaces:
java.io.Serializable,org.apache.commons.math3.analysis.UnivariateFunction,org.apache.commons.math3.distribution.RealDistribution
public class MemorylessTruncatedWrapper extends TruncatedWrapper
When truncating an exponential function left (setting a lower constraint), the result is the same exponential function offset by the constraintexp(x,lambda=2) truncated with x>=3 is: exp(x | x >= 3, lamda=2) = exp(x-3, lamda=2)
- See Also:
- Serialized Form
-
-
Field Summary
-
Fields inherited from class org.processmining.plugins.stochasticpetrinet.distribution.TruncatedWrapper
sampler
-
Fields inherited from class org.processmining.plugins.stochasticpetrinet.distribution.RejectionWrapper
constraint, scale, wrappedDist
-
Fields inherited from class org.processmining.plugins.stochasticpetrinet.distribution.AnotherAbstractRealDistribution
cachedMean, cachedVariance
-
-
Constructor Summary
Constructors Constructor Description MemorylessTruncatedWrapper(org.apache.commons.math3.distribution.RealDistribution dist)MemorylessTruncatedWrapper(org.apache.commons.math3.distribution.RealDistribution dist, double constraint)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description doublecumulativeProbability(double x)doublecumulativeProbability(double x0, double x1)doubledensity(double x)doublegetNumericalMean()The expected value:doublegetNumericalVariance()doubleinverseCumulativeProbability(double p)doublesample()Slice sampling Note that due to floating point arithmetic, too large constraints, i.e.double[]sample(int sampleSize)-
Methods inherited from class org.processmining.plugins.stochasticpetrinet.distribution.TruncatedWrapper
reseedRandomGenerator
-
Methods inherited from class org.processmining.plugins.stochasticpetrinet.distribution.RejectionWrapper
getSupportLowerBound, getSupportUpperBound, isSupportConnected, isSupportLowerBoundInclusive, isSupportUpperBoundInclusive
-
Methods inherited from class org.processmining.plugins.stochasticpetrinet.distribution.AnotherAbstractRealDistribution
value
-
-
-
-
Method Detail
-
density
public double density(double x)
- Specified by:
densityin interfaceorg.apache.commons.math3.distribution.RealDistribution- Overrides:
densityin classRejectionWrapper
-
cumulativeProbability
public double cumulativeProbability(double x)
- Specified by:
cumulativeProbabilityin interfaceorg.apache.commons.math3.distribution.RealDistribution- Overrides:
cumulativeProbabilityin classAnotherAbstractRealDistribution
-
cumulativeProbability
public double cumulativeProbability(double x0, double x1) throws org.apache.commons.math3.exception.NumberIsTooLargeException- Specified by:
cumulativeProbabilityin interfaceorg.apache.commons.math3.distribution.RealDistribution- Overrides:
cumulativeProbabilityin classorg.apache.commons.math3.distribution.AbstractRealDistribution- Throws:
org.apache.commons.math3.exception.NumberIsTooLargeException
-
inverseCumulativeProbability
public double inverseCumulativeProbability(double p) throws org.apache.commons.math3.exception.OutOfRangeException- Specified by:
inverseCumulativeProbabilityin interfaceorg.apache.commons.math3.distribution.RealDistribution- Overrides:
inverseCumulativeProbabilityin classorg.apache.commons.math3.distribution.AbstractRealDistribution- Throws:
org.apache.commons.math3.exception.OutOfRangeException
-
getNumericalMean
public double getNumericalMean()
Description copied from class:AnotherAbstractRealDistributionThe expected value:- Specified by:
getNumericalMeanin interfaceorg.apache.commons.math3.distribution.RealDistribution- Overrides:
getNumericalMeanin classAnotherAbstractRealDistribution
-
getNumericalVariance
public double getNumericalVariance()
- Specified by:
getNumericalVariancein interfaceorg.apache.commons.math3.distribution.RealDistribution- Overrides:
getNumericalVariancein classAnotherAbstractRealDistribution
-
sample
public double sample()
Description copied from class:TruncatedWrapperSlice sampling Note that due to floating point arithmetic, too large constraints, i.e. those where the density of the truncated distribution is 0, will not work!- Specified by:
samplein interfaceorg.apache.commons.math3.distribution.RealDistribution- Overrides:
samplein classTruncatedWrapper
-
sample
public double[] sample(int sampleSize)
- Specified by:
samplein interfaceorg.apache.commons.math3.distribution.RealDistribution- Overrides:
samplein classTruncatedWrapper
-
-