Learn R Programming

dad (version 4.1.6)

hellinger: Hellinger distance between Gaussian densities

Description

Hellinger distance between two multivariate (\(p > 1\)) or univariate (\(p = 1\)) Gaussian densities (see Details).

Usage

hellinger(x1, x2, check = FALSE)

Value

Returns the \(Hellinger\) distance between the two probability densities.

Be careful! If check = FALSE and one smoothing bandwidth matrix is degenerate, the result returned can not be considered.

Arguments

x1

a matrix or data frame of \(n_1\) rows (observations) and \(p\) columns (variables) (can also be a tibble) or a vector of length \(n_1\).

x2

matrix or data frame (or tibble) of \(n_2\) rows and \(p\) columns or vector of length \(n_2\).

check

logical. When TRUE (the default is FALSE) the function checks if the covariance matrices are not degenerate (multivariate case) or if the variances are not zero (univariate case).

Author

Rachid Boumaza, Pierre Santagostini, Smail Yousfi, Gilles Hunault, Sabine Demotes-Mainard

Details

The Hellinger distance between the two Gaussian densities is computed by using the hellingerpar function and the density parameters estimated from samples.

References

McLachlan, G.J. (1992). Discriminant analysis and statistical pattern recognition. John Wiley & Sons, New York .

See Also

hellingerpar: Hellinger distance between Gaussian densities, given their parameters.

Examples

Run this code
require(MASS)
m1 <- c(0,0)
v1 <- matrix(c(1,0,0,1),ncol = 2) 
m2 <- c(0,1)
v2 <- matrix(c(4,1,1,9),ncol = 2)
x1 <- mvrnorm(n = 3,mu = m1,Sigma = v1)
x2 <- mvrnorm(n = 5, mu = m2, Sigma = v2)
hellinger(x1, x2)

Run the code above in your browser using DataLab