To use these functions, the Probabilistic Feature is required.

The probabilistic feature provides arbitrary functions to work with discrete and continuous random variables in a data stream and provides algebraic operator (+, *, -, /) to perform probabilistic addition, subtraction, multiplication, division, and exponentiation.

### Int(<ProbabilisticDouble x, Number a, Number b>|<Vector xyz, Vector a, Vector b>)

Estimates the multivariate normal distribution probability with lower and upper integration limit.

### as2DVector(ProbabilisticDouble x, ProbabilisticDouble y)

Converts the two object into a 2D vector.

### as3DVector(ProbabilisticDouble x, ProbabilisticDouble y, ProbabilisticDouble z)

Similar to the as2DVector function, this function creates a 3D vector with the given objects.

### Similarity(ProbabilisticDouble p1, ProbabilisticDouble p2)

Calculates the Bhattacharyya distance between two distributions.

**Example**

SELECT similarity(as2DVector(x1,y1), as2DVector(x2,y2)) FROM stream

### Distance(<ProbabilisticDouble p, Number x>|<Vector p, Vector x>)

Calculates the Mahalanobis distance between the distribution and the value. The value can be a scalar value or a vector.

**Example**

SELECT distance(as3DVector(x, y, z), [1.0;2.0;3.0]) FROM stream

### KL(<ProbabilisticDouble p1, ProbabilisticDouble p2>|<Vector p1, Vector p2>)

Calculates the Kullback-Leibler divergence of the two given probability distributions.

**Example**

SELECT kl(as3DVector(x, y, z), as3DVector(a, b, c)) FROM stream

### LogLikelihood(Vector points, ProbabilisticDouble p)

Calculates the log Likelihood between the given points and the probability distribution.

**Example**

SELECT loglikelihood([1.0;2.0;3.0], x) FROM stream