public interface RandomVariable extends Serializable
Modifier and Type | Method and Description |
---|---|
RandomVariable |
abs()
Applies x → Math.abs(x), i.e. x → |x| to this random variable.
|
RandomVariable |
accrue(RandomVariable rate,
double periodLength)
Applies x → x * (1.0 + rate * periodLength) to this random variable.
|
RandomVariable |
add(double value)
Applies x → x + value to this random variable.
|
RandomVariable |
add(RandomVariable randomVariable)
Applies x → x+randomVariable to this random variable.
|
RandomVariable |
addProduct(RandomVariable factor1,
double factor2)
Applies x → x + factor1 * factor2
|
RandomVariable |
addProduct(RandomVariable factor1,
RandomVariable factor2)
Applies x → x + factor1 * factor2
|
RandomVariable |
addRatio(RandomVariable numerator,
RandomVariable denominator)
Applies x → x + numerator / denominator
|
default RandomVariable |
addSumProduct(List<RandomVariable> factor1,
List<RandomVariable> factor2)
Applies \( x \mapsto x + \sum_{i=0}^{n-1} factor1_{i} * factor2_{i}
|
default RandomVariable |
addSumProduct(RandomVariable[] factor1,
RandomVariable[] factor2)
Applies \( x \mapsto x + \sum_{i=0}^{n-1} factor1_{i} * factor2_{i}
|
RandomVariable |
apply(DoubleBinaryOperator operator,
RandomVariable argument)
Applies x → operator(x,y) to this random variable, where x is this random variable and y is a given random variable.
|
RandomVariable |
apply(DoubleTernaryOperator operator,
RandomVariable argument1,
RandomVariable argument2)
Applies x → operator(x,y,z) to this random variable, where x is this random variable and y and z are given random variable.
|
RandomVariable |
apply(DoubleUnaryOperator operator)
Applies x → operator(x) to this random variable.
|
RandomVariable |
average()
Returns a random variable which is deterministic and corresponds
the expectation of this random variable.
|
RandomVariable |
bus(RandomVariable randomVariable)
Applies x → randomVariable-x to this random variable.
|
RandomVariable |
cache()
Return a cacheable version of this object (often a self-reference).
|
RandomVariable |
cap(double cap)
Applies x → min(x,cap) to this random variable.
|
RandomVariable |
cap(RandomVariable cap)
Applies x → min(x,cap) to this random variable.
|
RandomVariable |
choose(RandomVariable valueIfTriggerNonNegative,
RandomVariable valueIfTriggerNegative)
Applies x → (x ≥ 0 ?
|
RandomVariable |
cos()
Applies x → cos(x) to this random variable.
|
RandomVariable |
discount(RandomVariable rate,
double periodLength)
Applies x → x / (1.0 + rate * periodLength) to this random variable.
|
RandomVariable |
div(double value)
Applies x → x / value to this random variable.
|
RandomVariable |
div(RandomVariable randomVariable)
Applies x → x/randomVariable to this random variable.
|
Double |
doubleValue()
Returns the double value if isDeterministic() is true. otherwise throws an
UnsupportedOperationException . |
boolean |
equals(RandomVariable randomVariable)
Compare this random variable with a given one
|
RandomVariable |
exp()
Applies x → exp(x) to this random variable.
|
default RandomVariable |
expm1()
Applies x → expm1(x) (that is x → exp(x)-1.0) to this random variable.
|
RandomVariable |
floor(double floor)
Applies x → max(x,floor) to this random variable.
|
RandomVariable |
floor(RandomVariable floor)
Applies x → max(x,floor) to this random variable.
|
double |
get(int pathOrState)
Evaluate at a given path or state.
|
double |
getAverage()
Returns the expectation of this random variable.
|
double |
getAverage(RandomVariable probabilities)
Returns the expectation of this random variable for a given probability measure (weight).
|
default RandomVariable |
getConditionalExpectation(ConditionalExpectationEstimator conditionalExpectationOperator)
Returns the conditional expectation using a given conditional expectation estimator.
|
double |
getFiltrationTime()
Returns the filtration time.
|
double[] |
getHistogram(double[] intervalPoints)
Generates a Histogram based on the realizations stored in this random variable.
|
double[][] |
getHistogram(int numberOfPoints,
double standardDeviations)
Generates a histogram based on the realizations stored in this random variable
using interval points calculated from the arguments, see also
getHistogram(double[]) . |
double |
getMax()
Returns the maximum value attained by this random variable.
|
double |
getMin()
Returns the minimum value attained by this random variable.
|
IntToDoubleFunction |
getOperator()
Returns the operator path → this.get(path) corresponding to this random variable.
|
double |
getQuantile(double quantile)
Returns the quantile value for this given random variable, i.e., the value x such that P(this < x) = quantile,
where P denotes the probability measure.
|
double |
getQuantile(double quantile,
RandomVariable probabilities)
Returns the quantile value for this given random variable, i.e., the value x such that P(this < x) = quantile,
where P denotes the probability measure.
|
double |
getQuantileExpectation(double quantileStart,
double quantileEnd)
Returns the expectation over a quantile for this given random variable.
|
double[] |
getRealizations()
Returns a vector representing the realization of this random variable.
|
DoubleStream |
getRealizationsStream()
Returns a stream of doubles corresponding to the realizations of this random variable.
|
double |
getSampleVariance()
Returns the sample variance of this random variable, i.e.,
V * size()/(size()-1) where V = getVariance().
|
double |
getStandardDeviation()
Returns the standard deviation of this random variable, i.e.,
sqrt(V) where V = ((X-m)^2).getAverage() and X = this and m = X.getAverage().
|
double |
getStandardDeviation(RandomVariable probabilities)
Returns the standard deviation of this random variable, i.e.,
sqrt(V) where V = ((X-m)^2).getAverage(probabilities) and X = this and m = X.getAverage(probabilities).
|
double |
getStandardError()
Returns the standard error (discretization error) of this random variable.
|
double |
getStandardError(RandomVariable probabilities)
Returns the standard error (discretization error) of this random variable.
|
int |
getTypePriority()
Returns the type priority.
|
default RandomVariable |
getValues()
Returns the underlying values and a random variable.
|
double |
getVariance()
Returns the variance of this random variable, i.e.,
V where V = ((X-m)^2).getAverage() and X = this and m = X.getAverage().
|
double |
getVariance(RandomVariable probabilities)
Returns the variance of this random variable, i.e.,
V where V = ((X-m)^2).getAverage(probabilities) and X = this and m = X.getAverage(probabilities).
|
RandomVariable |
invert()
Applies x → 1/x to this random variable.
|
boolean |
isDeterministic()
Check if this random variable is deterministic in the sense that it is represented by a single double value.
|
RandomVariable |
isNaN()
Applies x → (Double.isNaN(x) ?
|
RandomVariable |
log()
Applies x → log(x) to this random variable.
|
RandomVariable |
mult(double value)
Applies x → x * value to this random variable.
|
RandomVariable |
mult(RandomVariable randomVariable)
Applies x → x*randomVariable to this random variable.
|
RandomVariable |
pow(double exponent)
Applies x → pow(x,exponent) to this random variable.
|
RandomVariable |
sin()
Applies x → sin(x) to this random variable.
|
int |
size()
Returns the number of paths or states.
|
RandomVariable |
sqrt()
Applies x → sqrt(x) to this random variable.
|
RandomVariable |
squared()
Applies x → x * x to this random variable.
|
RandomVariable |
sub(double value)
Applies x → x - value to this random variable.
|
RandomVariable |
sub(RandomVariable randomVariable)
Applies x → x-randomVariable to this random variable.
|
RandomVariable |
subRatio(RandomVariable numerator,
RandomVariable denominator)
Applies x → x - numerator / denominator
|
RandomVariable |
vid(RandomVariable randomVariable)
Applies x → randomVariable/x to this random variable.
|
boolean equals(RandomVariable randomVariable)
randomVariable
- Random variable to compare with.double getFiltrationTime()
int getTypePriority()
double get(int pathOrState)
pathOrState
- Index of the path or state.int size()
boolean isDeterministic()
default RandomVariable getValues()
double[] getRealizations()
Double doubleValue()
UnsupportedOperationException
.UnsupportedOperationException
.IntToDoubleFunction getOperator()
DoubleStream getRealizationsStream()
double getMin()
double getMax()
double getAverage()
average().doubleValue()
.double getAverage(RandomVariable probabilities)
this.mult(probabilities).getAverage() / probabilities.getAverage()
probabilities
- The probability weights.double getVariance()
double getVariance(RandomVariable probabilities)
probabilities
- The probability weights.double getSampleVariance()
double getStandardDeviation()
double getStandardDeviation(RandomVariable probabilities)
probabilities
- The probability weights.double getStandardError()
getStandardDeviation()
.double getStandardError(RandomVariable probabilities)
getStandardDeviation(RandomVariable)
.probabilities
- The probability weights.double getQuantile(double quantile)
quantile
- The quantile level.double getQuantile(double quantile, RandomVariable probabilities)
quantile
- The quantile level.probabilities
- The probability weights.double getQuantileExpectation(double quantileStart, double quantileEnd)
quantileStart
- Lower bound of the integral.quantileEnd
- Upper bound of the integral.double[] getHistogram(double[] intervalPoints)
result
array's length is intervalPoints.length+1
.
possibleValues
, then result = getHistogram(possibleValues)
returns an
array where result[i]
is the relative frequency of occurrence of possibleValues[i]
.
The sum of result[i] over all i is equal to 1, except for uninitialized random
variables where all values are 0.intervalPoints
- Array of ascending values defining the interval boundaries.double[][] getHistogram(int numberOfPoints, double standardDeviations)
getHistogram(double[])
.
The interval points are
set with equal distance over an the interval of the specified standard deviation.
The interval points used are
x[i] = mean + alpha[i] * standardDeviations * sigma
where
getAverage()
,getStandardDeviation()
.result
is an array of two vectors, where result[0] are the
intervals center points ('anchor points') and result[1] contains the relative frequency for the interval.
The 'anchor point' for the interval (-infinity, x[0]) is x[0] - 1/2 (x[1]-x[0])
and the 'anchor point' for the interval (x[n], infinity) is x[n] + 1/2 (x[n]-x[n-1]).
Here n = numberOfPoints is the number of interval points.numberOfPoints
- The number of interval points.standardDeviations
- The number of standard deviations defining the discretization radius.getHistogram(double[])
for the given the interval points. The length of result[0] and result[1] is numberOfPoints+1.RandomVariable cache()
RandomVariable apply(DoubleUnaryOperator operator)
operator
- An unary operator/function, mapping double to double.RandomVariable apply(DoubleBinaryOperator operator, RandomVariable argument)
operator
- A binary operator/function, mapping (double,double) to double.argument
- A random variable.RandomVariable apply(DoubleTernaryOperator operator, RandomVariable argument1, RandomVariable argument2)
operator
- A ternary operator/function, mapping (double,double,double) to double.argument1
- A random variable representing y.argument2
- A random variable representing z.RandomVariable cap(double cap)
cap
- The cap.RandomVariable floor(double floor)
floor
- The floor.RandomVariable add(double value)
value
- The value to add.RandomVariable sub(double value)
value
- The value to subtract.RandomVariable mult(double value)
value
- The value to multiply.RandomVariable div(double value)
value
- The value to divide.RandomVariable pow(double exponent)
exponent
- The exponent.RandomVariable average()
default RandomVariable getConditionalExpectation(ConditionalExpectationEstimator conditionalExpectationOperator)
conditionalExpectationOperator
- A given conditional expectation estimator.RandomVariable squared()
RandomVariable sqrt()
RandomVariable exp()
default RandomVariable expm1()
RandomVariable log()
RandomVariable sin()
RandomVariable cos()
RandomVariable add(RandomVariable randomVariable)
randomVariable
- A random variable (compatible with this random variable).RandomVariable sub(RandomVariable randomVariable)
randomVariable
- A random variable (compatible with this random variable).RandomVariable bus(RandomVariable randomVariable)
randomVariable
- A random variable (compatible with this random variable).RandomVariable mult(RandomVariable randomVariable)
randomVariable
- A random variable (compatible with this random variable).RandomVariable div(RandomVariable randomVariable)
randomVariable
- A random variable (compatible with this random variable).RandomVariable vid(RandomVariable randomVariable)
randomVariable
- A random variable (compatible with this random variable).RandomVariable cap(RandomVariable cap)
cap
- The cap. A random variable (compatible with this random variable).RandomVariable floor(RandomVariable floor)
floor
- The floor. A random variable (compatible with this random variable).RandomVariable accrue(RandomVariable rate, double periodLength)
rate
- The accruing rate. A random variable (compatible with this random variable).periodLength
- The period lengthRandomVariable discount(RandomVariable rate, double periodLength)
rate
- The discounting rate. A random variable (compatible with this random variable).periodLength
- The period lengthRandomVariable choose(RandomVariable valueIfTriggerNonNegative, RandomVariable valueIfTriggerNegative)
valueIfTriggerNonNegative
- The value used if this is greater or equal 0valueIfTriggerNegative
- The value used if the this is less than 0RandomVariable invert()
RandomVariable abs()
RandomVariable addProduct(RandomVariable factor1, double factor2)
factor1
- The factor 1. A random variable (compatible with this random variable).factor2
- The factor 2.RandomVariable addProduct(RandomVariable factor1, RandomVariable factor2)
factor1
- The factor 1. A random variable (compatible with this random variable).factor2
- The factor 2. A random variable (compatible with this random variable).RandomVariable addRatio(RandomVariable numerator, RandomVariable denominator)
numerator
- The numerator of the ratio to add. A random variable (compatible with this random variable).denominator
- The denominator of the ratio to add. A random variable (compatible with this random variable).RandomVariable subRatio(RandomVariable numerator, RandomVariable denominator)
numerator
- The numerator of the ratio to sub. A random variable (compatible with this random variable).denominator
- The denominator of the ratio to sub. A random variable (compatible with this random variable).default RandomVariable addSumProduct(RandomVariable[] factor1, RandomVariable[] factor2)
factor1
- The factor 1. A list of random variables (compatible with this random variable).factor2
- The factor 2. A list of random variables (compatible with this random variable).default RandomVariable addSumProduct(List<RandomVariable> factor1, List<RandomVariable> factor2)
factor1
- The factor 1. A list of random variables (compatible with this random variable).factor2
- The factor 2. A list of random variables (compatible with this random variable).RandomVariable isNaN()
Copyright © 2020. All rights reserved.